

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemeriksaan audit
<a name="device-defender-audit-checks"></a>

**catatan**  
Saat Anda mengaktifkan pemeriksaan, pengumpulan data segera dimulai. Jika ada sejumlah besar data di akun Anda untuk dikumpulkan, hasil pemeriksaan mungkin tidak tersedia untuk beberapa waktu setelah Anda mengaktifkannya.

Pemeriksaan audit berikut didukung:
+ [CA menengah dicabut untuk pemeriksaan sertifikat perangkat aktif](audit-chk-active-intermediary-device-revoked-CA.md)
+ [Sertifikat CA yang dicabut masih aktif](audit-chk-revoked-ca-cert.md)
+ [Sertifikat perangkat bersama](audit-chk-device-cert-shared.md)
+ [Kualitas kunci sertifikat perangkat](audit-chk-device-cert-key-quality.md)
+ [Kualitas kunci sertifikat CA](audit-chk-ca-cert-key-quality.md)
+ [Peran Cognito yang tidak diautentikasi terlalu permisif](audit-chk-unauth-cognito-role-permissive.md)
+ [Peran Cognito yang diautentikasi terlalu permisif](audit-chk-auth-cognito-role-permissive.md)
+ [AWS IoT kebijakan terlalu permisif](audit-chk-iot-policy-permissive.md)
+ [AWS IoT kebijakan berpotensi salah konfigurasi](audit-chk-iot-misconfigured-policies.md)
+ [Alias peran terlalu permisif](audit-chk-iot-role-alias-permissive.md)
+ [Alias peran memungkinkan akses ke layanan yang tidak digunakan](audit-chk-role-alias-unused-svcs.md)
+ [Sertifikat CA segera kedaluwarsa](audit-chk-ca-cert-approaching-expiration.md)
+ [Klien MQTT yang bertentangan IDs](audit-chk-conflicting-client-ids.md)
+ [Sertifikat perangkat segera kedaluwarsa](audit-chk-device-cert-approaching-expiration.md)
+ [Pemeriksaan usia sertifikat perangkat](device-certificate-age-check.md)
+ [Sertifikat perangkat yang dicabut masih aktif](audit-chk-revoked-device-cert.md)
+ [Pencatatan dinonaktifkan](audit-chk-logging-disabled.md)

# CA menengah dicabut untuk pemeriksaan sertifikat perangkat aktif
<a name="audit-chk-active-intermediary-device-revoked-CA"></a>

Gunakan pemeriksaan ini untuk mengidentifikasi semua sertifikat perangkat terkait yang masih aktif meskipun telah mencabut CA perantara.

Pemeriksaan ini muncul seperti `INTERMEDIATE_CA_REVOKED_FOR_ACTIVE_DEVICE_CERTIFICATES_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-active-device-intermediary-revoked-CA-details"></a>

Kode alasan berikut dikembalikan saat pemeriksaan ini menemukan ketidakpatuhan:
+ INTERMEDIATE\$1CA\$1REVOKED\$1BY\$1ISSUER

## Mengapa itu penting
<a name="audit-chk-active-device-intermediary-revoked-CA-why-it-matters"></a>

CA perantara yang dicabut untuk pemeriksaan sertifikat perangkat aktif menilai identitas dan kepercayaan perangkat, dengan menentukan apakah ada sertifikat perangkat aktif di AWS IoT Core mana penerbitan perantara CAs telah dicabut dalam rantai CA.

CA perantara yang dicabut seharusnya tidak lagi digunakan untuk menandatangani CA atau sertifikat perangkat lain dalam rantai CA. Perangkat yang baru ditambahkan dengan sertifikat yang ditandatangani menggunakan sertifikat CA ini setelah CA perantara dicabut akan menimbulkan ancaman keamanan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-active-device-intermediary-revoked-CA-how-to-fix"></a>

Tinjau aktivitas pendaftaran sertifikat perangkat untuk waktu setelah sertifikat CA dicabut. Ikuti praktik terbaik keamanan Anda untuk mengurangi situasi. Anda mungkin ingin:

1. Menyediakan sertifikat baru, yang ditandatangani oleh CA yang berbeda, untuk perangkat yang terpengaruh.

1. Verifikasi bahwa sertifikat baru valid, dan perangkat dapat menggunakannya untuk terhubung.

1. Gunakan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk menandai sertifikat lama sebagai REVOKED in AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_DEVICE_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `ADD_THINGS_TO_THING_GROUP` mitigasi untuk menambahkan perangkat ke grup tempat Anda dapat mengambil tindakan terhadapnya.
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 
   + Tinjau aktivitas pendaftaran sertifikat perangkat untuk waktu setelah sertifikat CA perantara dicabut dan pertimbangkan untuk mencabut sertifikat perangkat apa pun yang mungkin telah dikeluarkan bersamanya selama waktu ini. Anda dapat menggunakan [ListRelatedResourcesForAuditFinding](https://docs.aws.amazon.com/iot/latest/apireference/API_ListRelatedResourcesForAuditFinding.html)untuk mencantumkan sertifikat perangkat yang ditandatangani oleh sertifikat CA dan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)mencabut sertifikat perangkat.
   + Lepaskan sertifikat lama dari perangkat. (Lihat [DetachThingPrincipal](https://docs.aws.amazon.com/iot/latest/apireference/API_DetachThingPrincipal.html)).

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md).

# Sertifikat CA yang dicabut masih aktif
<a name="audit-chk-revoked-ca-cert"></a>

Sertifikat CA telah dicabut, tetapi masih aktif di AWS IoT.

Pemeriksaan ini muncul seperti `REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-revoked-ca-cert-details"></a>

Sertifikat CA ditandai sebagai dicabut dalam daftar pencabutan sertifikat yang dikelola oleh otoritas penerbit, tetapi masih ditandai sebagai ACTIVE atau PENDING\$1TRANSFER di. AWS IoT

Alasan berikut kode dikembalikan ketika cek ini menemukan sertifikat CA yang tidak sesuai:
+ CERTIFICATE\$1REVOKED\$1BY\$1ISSUER

## Mengapa itu penting
<a name="audit-chk-revoked-ca-cert-why-it-matters"></a>

Sertifikat CA yang dicabut seharusnya tidak lagi digunakan untuk menandatangani sertifikat perangkat. Itu mungkin telah dicabut karena dikompromikan. Perangkat yang baru ditambahkan dengan sertifikat yang ditandatangani menggunakan sertifikat CA ini dapat menimbulkan ancaman keamanan. 

## Bagaimana cara memperbaikinya
<a name="audit-chk-revoked-ca-cert-how-to-fix"></a>

1. Gunakan [Pembaruan CACertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCACertificate.html) untuk menandai sertifikat CA sebagai TIDAK AKTIF di AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_CA_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi untuk menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md).

1. Tinjau aktivitas pendaftaran sertifikat perangkat untuk waktu setelah sertifikat CA dicabut dan pertimbangkan untuk mencabut sertifikat perangkat apa pun yang mungkin telah dikeluarkan bersamanya selama waktu ini. Anda dapat menggunakan [ListCertificatesByCA](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCertificatesByCA.html) untuk mencantumkan sertifikat perangkat yang ditandatangani oleh sertifikat CA dan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)mencabut sertifikat perangkat.

# Sertifikat perangkat bersama
<a name="audit-chk-device-cert-shared"></a>

Beberapa koneksi bersamaan menggunakan sertifikat X.509 yang sama untuk mengautentikasi. AWS IoT

Pemeriksaan ini muncul seperti `DEVICE_CERTIFICATE_SHARED_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-device-cert-shared-details"></a>

Ketika dilakukan sebagai bagian dari audit sesuai permintaan, pemeriksaan ini melihat sertifikat dan klien IDs yang digunakan oleh perangkat untuk terhubung selama 31 hari sebelum dimulainya audit hingga 2 jam sebelum pemeriksaan dijalankan. Untuk audit terjadwal, pemeriksaan ini melihat data dari 2 jam sebelum terakhir kali audit dijalankan hingga 2 jam sebelum waktu audit ini dimulai. Jika Anda telah mengambil langkah-langkah untuk mengurangi kondisi ini selama waktu yang diperiksa, perhatikan kapan koneksi bersamaan dibuat untuk menentukan apakah masalah berlanjut.

Alasan berikut kode dikembalikan ketika cek ini menemukan sertifikat yang tidak sesuai:
+ CERTIFICATE\$1SHARED\$1BY\$1MULTIPLE\$1DEVICES

Selain itu, temuan yang dikembalikan oleh cek ini termasuk ID sertifikat bersama, klien yang menggunakan sertifikat untuk terhubung, dan connect/disconnect waktu. IDs Hasil terbaru terdaftar terlebih dahulu.

## Mengapa itu penting
<a name="audit-chk-device-cert-shared-why-it-matters"></a>

Setiap perangkat harus memiliki sertifikat unik untuk diautentikasi AWS IoT. Ketika beberapa perangkat menggunakan sertifikat yang sama, ini mungkin menunjukkan bahwa perangkat telah disusupi. Identitasnya mungkin telah dikloning untuk lebih membahayakan sistem. 

## Bagaimana cara memperbaikinya
<a name="audit-chk-device-cert-shared-how-to-fix"></a>

Verifikasi bahwa sertifikat perangkat belum dikompromikan. Jika sudah, ikuti praktik terbaik keamanan Anda untuk mengurangi situasi. 

Jika Anda menggunakan sertifikat yang sama di beberapa perangkat, Anda mungkin ingin:

1. Berikan sertifikat baru dan unik dan lampirkan ke setiap perangkat. 

1. Verifikasi bahwa sertifikat baru valid dan perangkat dapat menggunakannya untuk terhubung.

1. Gunakan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk menandai sertifikat lama sebagai REVOKED in AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk melakukan hal berikut:
   + Terapkan tindakan `UPDATE_DEVICE_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `ADD_THINGS_TO_THING_GROUP` mitigasi untuk menambahkan perangkat ke grup tempat Anda dapat mengambil tindakan terhadapnya.
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

1. Lepaskan sertifikat lama dari masing-masing perangkat.

# Kualitas kunci sertifikat perangkat
<a name="audit-chk-device-cert-key-quality"></a>

AWS IoT pelanggan sering mengandalkan otentikasi timbal balik TLS menggunakan sertifikat X.509 untuk mengautentikasi ke broker pesan. AWS IoT Sertifikat ini dan sertifikat otoritas sertifikat mereka harus terdaftar di AWS IoT akun mereka sebelum digunakan. AWS IoT melakukan pemeriksaan kewarasan dasar pada sertifikat ini ketika mereka terdaftar. Cek ini meliputi:
+ Mereka harus dalam format yang valid.
+ Mereka harus ditandatangani oleh otoritas sertifikat terdaftar.
+ Mereka harus masih dalam masa berlakunya (dengan kata lain, mereka belum kedaluwarsa).
+ Ukuran kunci kriptografi mereka harus memenuhi ukuran minimum yang diperlukan (untuk kunci RSA, mereka harus 2048 bit atau lebih besar).

Pemeriksaan audit ini memberikan tes tambahan berikut tentang kualitas kunci kriptografi Anda:
+ CVE-2008-0166 — Periksa apakah kunci dihasilkan menggunakan OpenSSL 0.9.8c-1 hingga versi sebelum 0.9.8g-9 pada sistem operasi berbasis Debian. Versi OpenSSL tersebut menggunakan generator angka acak yang menghasilkan angka yang dapat diprediksi, sehingga memudahkan penyerang jarak jauh untuk melakukan serangan tebakan brute force terhadap kunci kriptografi.
+ CVE-2017-15361 — Periksa apakah kunci dihasilkan oleh perpustakaan Infineon RSA 1.02.013 di firmware Infineon Trusted Platform Module (TPM), seperti versi sebelum 0000000000000422 - 4.34, sebelum 000000000000062b - 6.43, dan sebelum 0000000000008521 - 133.33. Pustaka itu salah menangani pembuatan kunci RSA, sehingga memudahkan penyerang untuk mengalahkan beberapa mekanisme perlindungan kriptografi melalui serangan yang ditargetkan. Contoh teknologi yang terpengaruh termasuk BitLocker dengan TPM 1.2, YubiKey 4 (sebelum 4.3.5) pembuatan kunci PGP, dan fitur enkripsi Data Pengguna Cached di Chrome OS.

AWS IoT Device Defender melaporkan sertifikat sebagai tidak patuh jika gagal dalam pengujian ini.

Pemeriksaan ini muncul seperti `DEVICE_CERTIFICATE_KEY_QUALITY_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-device-cert-key-quality-details"></a>

Pemeriksaan ini berlaku untuk sertifikat perangkat yang ACTIVE atau PENDING\$1TRANSFER.

Alasan berikut kode dikembalikan ketika cek ini menemukan sertifikat yang tidak sesuai:
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2017-15361
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2008-0166

## Mengapa itu penting
<a name="audit-chk-device-cert-key-quality-why-it-matters"></a>

Ketika perangkat menggunakan sertifikat rentan, penyerang dapat lebih mudah membahayakan perangkat itu.

## Bagaimana cara memperbaikinya
<a name="audit-chk-device-cert-key-quality-how-to-fix"></a>

Perbarui sertifikat perangkat Anda untuk menggantikan sertifikat yang memiliki kerentanan yang diketahui.

Jika Anda menggunakan sertifikat yang sama di beberapa perangkat, Anda mungkin ingin:

1. Berikan sertifikat baru dan unik dan lampirkan ke setiap perangkat. 

1. Verifikasi bahwa sertifikat baru valid dan perangkat dapat menggunakannya untuk terhubung.

1. Gunakan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk menandai sertifikat lama sebagai REVOKED in AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_DEVICE_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `ADD_THINGS_TO_THING_GROUP` mitigasi untuk menambahkan perangkat ke grup tempat Anda dapat mengambil tindakan terhadapnya.
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

1. Lepaskan sertifikat lama dari masing-masing perangkat.

# Kualitas kunci sertifikat CA
<a name="audit-chk-ca-cert-key-quality"></a>

AWS IoT pelanggan sering mengandalkan otentikasi timbal balik TLS menggunakan sertifikat X.509 untuk mengautentikasi ke broker pesan. AWS IoT Sertifikat ini dan sertifikat otoritas sertifikat mereka harus terdaftar di AWS IoT akun mereka sebelum digunakan. AWS IoT melakukan pemeriksaan kewarasan dasar pada sertifikat ini ketika terdaftar, termasuk:
+ Sertifikat dalam format yang valid.
+ Sertifikat berada dalam masa berlakunya (dengan kata lain, tidak kedaluwarsa).
+ Ukuran kunci kriptografi mereka memenuhi ukuran minimum yang diperlukan (untuk kunci RSA, mereka harus 2048 bit atau lebih besar).

Pemeriksaan audit ini memberikan tes tambahan berikut tentang kualitas kunci kriptografi Anda:
+ CVE-2008-0166 — Periksa apakah kunci dihasilkan menggunakan OpenSSL 0.9.8c-1 hingga versi sebelum 0.9.8g-9 pada sistem operasi berbasis Debian. Versi OpenSSL tersebut menggunakan generator angka acak yang menghasilkan angka yang dapat diprediksi, sehingga memudahkan penyerang jarak jauh untuk melakukan serangan tebakan brute force terhadap kunci kriptografi.
+ CVE-2017-15361 — Periksa apakah kunci dihasilkan oleh perpustakaan Infineon RSA 1.02.013 di firmware Infineon Trusted Platform Module (TPM), seperti versi sebelum 0000000000000422 - 4.34, sebelum 000000000000062b - 6.43, dan sebelum 0000000000008521 - 133.33. Pustaka itu salah menangani pembuatan kunci RSA, sehingga memudahkan penyerang untuk mengalahkan beberapa mekanisme perlindungan kriptografi melalui serangan yang ditargetkan. Contoh teknologi yang terpengaruh termasuk BitLocker dengan TPM 1.2, YubiKey 4 (sebelum 4.3.5) pembuatan kunci PGP, dan fitur enkripsi Data Pengguna Cached di Chrome OS.

AWS IoT Device Defender melaporkan sertifikat sebagai tidak patuh jika gagal dalam pengujian ini.

Pemeriksaan ini muncul seperti `CA_CERTIFICATE_KEY_QUALITY_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-ca-cert-key-quality-details"></a>

Pemeriksaan ini berlaku untuk sertifikat CA yang ACTIVE atau PENDING\$1TRANSFER.

Alasan berikut kode dikembalikan ketika cek ini menemukan sertifikat yang tidak sesuai:
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2017-15361
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2008-0166

## Mengapa itu penting
<a name="audit-chk-ca-cert-key-quality-why-it-matters"></a>

Perangkat yang baru ditambahkan yang ditandatangani menggunakan sertifikat CA ini dapat menimbulkan ancaman keamanan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-ca-cert-key-quality-how-to-fix"></a>

1. Gunakan [Pembaruan CACertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCACertificate.html) untuk menandai sertifikat CA sebagai TIDAK AKTIF di AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_CA_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md).

1. Tinjau aktivitas pendaftaran sertifikat perangkat untuk waktu setelah sertifikat CA dicabut dan pertimbangkan untuk mencabut sertifikat perangkat apa pun yang mungkin telah dikeluarkan bersamanya selama waktu ini. (Gunakan [ListCertificatesByCA](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCertificatesByCA.html) untuk mencantumkan sertifikat perangkat yang ditandatangani oleh sertifikat CA dan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk mencabut sertifikat perangkat.)

# Peran Cognito yang tidak diautentikasi terlalu permisif
<a name="audit-chk-unauth-cognito-role-permissive"></a>

Kebijakan yang dilampirkan pada peran kumpulan identitas Amazon Cognito yang tidak diautentikasi dianggap terlalu permisif karena memberikan izin untuk melakukan salah satu tindakan berikut: AWS IoT 
+ Mengelola atau memodifikasi sesuatu.
+ Baca hal data administratif.
+ Mengelola data atau sumber daya yang tidak terkait.

Atau, karena memberikan izin untuk melakukan AWS IoT tindakan berikut pada serangkaian perangkat yang luas:
+ Gunakan MQTT untuk menghubungkan, menerbitkan, atau berlangganan topik yang dicadangkan (termasuk bayangan atau data eksekusi pekerjaan).
+ Gunakan perintah API untuk membaca atau memodifikasi bayangan atau data eksekusi pekerjaan.

Secara umum, perangkat yang terhubung menggunakan peran kumpulan identitas Amazon Cognito yang tidak diautentikasi seharusnya hanya memiliki izin terbatas untuk mempublikasikan dan berlangganan topik MQTT khusus sesuatu atau menggunakan perintah API untuk membaca dan memodifikasi data spesifik hal yang terkait dengan bayangan atau data eksekusi pekerjaan.

Pemeriksaan ini muncul seperti `UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-unauth-cognito-role-permissive-details"></a>

Untuk pemeriksaan ini, AWS IoT Device Defender audit semua kumpulan identitas Amazon Cognito yang telah digunakan untuk terhubung ke AWS IoT broker pesan selama 31 hari sebelum eksekusi audit. Semua kumpulan identitas Amazon Cognito yang terhubung dengan identitas Amazon Cognito yang diautentikasi atau tidak diautentikasi disertakan dalam audit.

Alasan berikut kode dikembalikan saat pemeriksaan ini menemukan peran kumpulan identitas Amazon Cognito yang tidak diautentikasi yang tidak sesuai:
+ ALLOWS\$1ACCESS\$1TO\$1IOT\$1ADMIN\$1ACTIONS
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1IOT\$1DATA\$1PLANE\$1ACTIONS

## Mengapa itu penting
<a name="audit-chk-unauth-cognito-role-permissive-why-it-matters"></a>

Karena identitas yang tidak diautentikasi tidak pernah diautentikasi oleh pengguna, mereka menimbulkan risiko yang jauh lebih besar daripada identitas Amazon Cognito yang diautentikasi. Jika identitas yang tidak diautentikasi dikompromikan, ia dapat menggunakan tindakan administratif untuk mengubah pengaturan akun, menghapus sumber daya, atau mendapatkan akses ke data sensitif. Atau, dengan akses luas ke pengaturan perangkat, perangkat dapat mengakses atau memodifikasi bayangan dan pekerjaan untuk semua perangkat di akun Anda. Pengguna tamu mungkin menggunakan izin untuk mengkompromikan seluruh armada Anda atau meluncurkan serangan DDOS dengan pesan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-unauth-cognito-role-permissive-how-to-fix"></a>

Kebijakan yang dilampirkan pada peran kumpulan identitas Amazon Cognito yang tidak diautentikasi seharusnya hanya memberikan izin yang diperlukan agar perangkat dapat melakukan tugasnya. Kami merekomendasikan langkah-langkah berikut:

1. Buat peran baru yang sesuai.

1. Buat kumpulan identitas Amazon Cognito dan lampirkan peran yang sesuai padanya.

1. Verifikasi bahwa identitas Anda dapat mengakses AWS IoT menggunakan kumpulan baru.

1. Setelah verifikasi selesai, lampirkan peran yang sesuai ke kumpulan identitas Amazon Cognito yang ditandai sebagai tidak sesuai.

Anda juga dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi untuk menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

## Mengelola atau memodifikasi hal-hal
<a name="manage-modify-things-check"></a>

Tindakan AWS IoT API berikut digunakan untuk mengelola atau memodifikasi hal-hal. Izin untuk melakukan tindakan ini tidak boleh diberikan kepada perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang tidak diautentikasi.
+ `AddThingToThingGroup` 
+ `AttachThingPrincipal` 
+ `CreateThing` 
+ `DeleteThing` 
+ `DetachThingPrincipal` 
+ `ListThings` 
+ `ListThingsInThingGroup` 
+ `RegisterThing` 
+ `RemoveThingFromThingGroup` 
+ `UpdateThing` 
+ `UpdateThingGroupsForThing` 

Peran apa pun yang memberikan izin untuk melakukan tindakan ini bahkan pada satu sumber daya dianggap tidak sesuai.

## Baca hal data administratif
<a name="read-thing-admin-data-check"></a>

Tindakan AWS IoT API berikut digunakan untuk membaca atau memodifikasi data benda. Perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang tidak diautentikasi tidak boleh diberi izin untuk melakukan tindakan ini.
+ `DescribeThing`
+ `ListJobExecutionsForThing`
+ `ListThingGroupsForThing`
+ `ListThingPrincipals`

**Example**  
+ tidak patuh:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "AllowIoTThingOperations",
        "Effect": "Allow",
        "Action": [ 
            "iot:DescribeThing",
            "iot:ListJobExecutionsForThing",
            "iot:ListThingGroupsForThing",
            "iot:ListThingPrincipals"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/name-of-thing"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan meskipun diberikan untuk satu hal saja.

## Kelola non-hal
<a name="manage-non-things-check"></a>

Perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang tidak diautentikasi tidak boleh diberi izin untuk AWS IoT melakukan tindakan API selain yang dibahas di bagian ini. Anda dapat mengelola akun Anda dengan aplikasi yang terhubung melalui kumpulan identitas Amazon Cognito yang tidak diautentikasi dengan membuat kumpulan identitas terpisah yang tidak digunakan oleh perangkat.

## Berlangganan/terbitkan ke topik MQTT
<a name="audit-chk-unauth-cognito-role-permissive-mqtt-topics"></a>

Pesan MQTT dikirim melalui broker AWS IoT pesan dan digunakan oleh perangkat untuk melakukan banyak tindakan, termasuk mengakses dan memodifikasi status bayangan dan status eksekusi pekerjaan. Kebijakan yang memberikan izin ke perangkat untuk menghubungkan, menerbitkan, atau berlangganan pesan MQTT harus membatasi tindakan ini ke sumber daya tertentu sebagai berikut:

**Hubungkan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:client/*
  ```

  Wildcard \$1 memungkinkan perangkat apa pun untuk AWS IoT terhubung.

  ```
  arn:aws:iot:region:account-id:client/${iot:ClientId}
  ```

  Kecuali `iot:Connection.Thing.IsAttached` disetel ke true dalam kunci kondisi, ini setara dengan wildcard \$1 pada contoh sebelumnya.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iot:Connect"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"
        ]
      }
    ]
  }
  ```

------

  Spesifikasi sumber daya berisi variabel yang cocok dengan nama perangkat yang digunakan untuk menghubungkan. Pernyataan kondisi selanjutnya membatasi izin dengan memeriksa bahwa sertifikat yang digunakan oleh klien MQTT cocok dengan yang dilampirkan pada benda dengan nama yang digunakan.

**Publikasikan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*/shadow/update
  ```

  Ini memungkinkan perangkat untuk memperbarui bayangan perangkat apa pun (\$1 = semua perangkat).

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk membaca, memperbarui, atau menghapus bayangan perangkat apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Publish"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan untuk perangkat yang namanya digunakan untuk terhubung.

**Langganan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk berlangganan bayangan cadangan atau topik pekerjaan untuk semua perangkat.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Sama seperti contoh sebelumnya, tetapi menggunakan wildcard \$1.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/+/shadow/update
  ```

  Ini memungkinkan perangkat untuk melihat pembaruan bayangan pada perangkat apa pun (\$1 = semua perangkat).
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Subscribe"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*",
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan dan topik terkait pekerjaan apa pun untuk perangkat yang namanya digunakan untuk terhubung.

**Menerima**  
+ sesuai:

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Ini diperbolehkan karena perangkat hanya dapat menerima pesan dari topik yang memiliki izin untuk berlangganan.

## Membaca/memodifikasi bayangan atau data pekerjaan
<a name="read-modify-shadow-job-data-check"></a>

Kebijakan yang memberikan izin kepada perangkat untuk melakukan tindakan API guna mengakses atau memodifikasi bayangan perangkat atau data eksekusi pekerjaan harus membatasi tindakan ini ke sumber daya tertentu. Berikut ini adalah tindakan API:
+ `DeleteThingShadow`
+ `GetThingShadow`
+ `UpdateThingShadow`
+ `DescribeJobExecution`
+ `GetPendingJobExecutions`
+ `StartNextPendingJobExecutio`n
+ `UpdateJobExecution`

**Example**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:thing/*
  ```

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada hal apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [ 
            "iot:DeleteThingShadow",
            "iot:GetThingShadow",
            "iot:UpdateThingShadow",
            "iotjobsdata:DescribeJobExecution",
            "iotjobsdata:GetPendingJobExecutions",
            "iotjobsdata:StartNextPendingJobExecution",
            "iotjobsdata:UpdateJobExecution"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing1",
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing2"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada dua hal saja.

# Peran Cognito yang diautentikasi terlalu permisif
<a name="audit-chk-auth-cognito-role-permissive"></a>

Kebijakan yang dilampirkan pada peran kumpulan identitas Amazon Cognito yang diautentikasi dianggap terlalu permisif karena memberikan izin untuk melakukan tindakan berikut: AWS IoT 
+ Mengelola atau memodifikasi sesuatu.
+ Mengelola data atau sumber daya yang tidak terkait.

Atau, karena memberikan izin untuk melakukan AWS IoT tindakan berikut pada serangkaian perangkat yang luas:
+ Baca hal data administratif.
+ Gunakan MQTT connect/publish/subscribe untuk topik yang dicadangkan (termasuk bayangan atau data eksekusi pekerjaan).
+ Gunakan perintah API untuk membaca atau memodifikasi bayangan atau data eksekusi pekerjaan.

Secara umum, perangkat yang terhubung menggunakan peran kumpulan identitas Amazon Cognito yang diautentikasi seharusnya hanya memiliki izin terbatas untuk membaca data administratif khusus sesuatu, menerbitkan dan berlangganan topik MQTT khusus sesuatu, atau menggunakan perintah API untuk membaca dan memodifikasi data spesifik hal yang terkait dengan bayangan atau data eksekusi pekerjaan.

Pemeriksaan ini muncul seperti `AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-auth-cognito-role-permissive-details"></a>

Untuk pemeriksaan ini, AWS IoT Device Defender audit semua kumpulan identitas Amazon Cognito yang telah digunakan untuk terhubung ke AWS IoT broker pesan selama 31 hari sebelum eksekusi audit. Semua kumpulan identitas Amazon Cognito yang terhubung dengan identitas Amazon Cognito yang diautentikasi atau tidak diautentikasi disertakan dalam audit.

Alasan berikut kode dikembalikan saat pemeriksaan ini menemukan peran kumpulan identitas Amazon Cognito terautentikasi yang tidak sesuai:
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1IOT\$1THING\$1ADMIN\$1READ\$1ACTIONS
+ ALLOWS\$1ACCESS\$1TO\$1IOT\$1NON\$1THING\$1ADMIN\$1ACTIONS
+ ALLOWS\$1ACCESS\$1TO\$1IOT\$1THING\$1ADMIN\$1WRITE\$1ACTIONS

## Mengapa itu penting
<a name="audit-chk-auth-cognito-role-permissive-why-it-matters"></a>

Jika identitas yang diautentikasi dikompromikan, ia dapat menggunakan tindakan administratif untuk mengubah pengaturan akun, menghapus sumber daya, atau mendapatkan akses ke data sensitif.

## Bagaimana cara memperbaikinya
<a name="audit-chk-auth-cognito-role-permissive-how-to-fix"></a>

Kebijakan yang dilampirkan pada peran kumpulan identitas Amazon Cognito yang diautentikasi seharusnya hanya memberikan izin yang diperlukan agar perangkat dapat melakukan tugasnya. Kami merekomendasikan langkah-langkah berikut:

1. Buat peran baru yang sesuai.

1. Buat kumpulan identitas Amazon Cognito dan lampirkan peran yang sesuai padanya.

1. Verifikasi bahwa identitas Anda dapat mengakses AWS IoT menggunakan kumpulan baru.

1. Setelah verifikasi selesai, lampirkan peran ke kumpulan identitas Amazon Cognito yang ditandai sebagai tidak sesuai.

Anda juga dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi untuk menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

## Mengelola atau memodifikasi hal-hal
<a name="audit-chk-auth-cognito-role-permissive-manage-things"></a>

Tindakan AWS IoT API berikut digunakan untuk mengelola atau memodifikasi hal-hal sehingga izin untuk melakukan ini tidak boleh diberikan ke perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang diautentikasi:
+ `AddThingToThingGroup` 
+ `AttachThingPrincipal` 
+ `CreateThing` 
+ `DeleteThing` 
+ `DetachThingPrincipal` 
+ `ListThings`
+ `ListThingsInThingGroup` 
+ `RegisterThing` 
+ `RemoveThingFromThingGroup` 
+ `UpdateThing` 
+ `UpdateThingGroupsForThing`

Peran apa pun yang memberikan izin untuk melakukan tindakan ini bahkan pada satu sumber daya dianggap tidak sesuai.

## Kelola non-hal
<a name="audit-chk-auth-cognito-role-permissive-manage-non-things"></a>

Perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang diautentikasi tidak boleh diberi izin untuk AWS IoT melakukan tindakan API selain yang dibahas di bagian ini. Untuk mengelola akun Anda dengan aplikasi yang terhubung melalui kumpulan identitas Amazon Cognito yang diautentikasi, buat kumpulan identitas terpisah yang tidak digunakan oleh perangkat.

## Baca hal data administratif
<a name="audit-chk-auth-cognito-role-permissive-read-things-admin-data"></a>

Tindakan AWS IoT API berikut digunakan untuk membaca data benda, sehingga perangkat yang terhubung melalui kumpulan identitas Amazon Cognito yang diautentikasi harus diberi izin untuk melakukan ini hanya pada serangkaian hal terbatas:
+ `DescribeThing`
+ `ListJobExecutionsForThing`
+ `ListThingGroupsForThing`
+ `ListThingPrincipals`
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:thing/*
  ```

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada hal apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [ 
            "iot:DescribeThing",
            "iot:ListJobExecutionsForThing",
            "iot:ListThingGroupsForThing",
            "iot:ListThingPrincipals"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan hanya pada satu hal.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:DescribeThing",
                  "iot:ListJobExecutionsForThing",
                  "iot:ListThingGroupsForThing",
                  "iot:ListThingPrincipals"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:thing/MyThing*"
              ]
          }
      ]
  }
  ```

------

  Ini sesuai karena, meskipun sumber daya ditentukan dengan wildcard (\$1), itu didahului oleh string tertentu, dan itu membatasi kumpulan hal yang diakses ke mereka dengan nama yang memiliki awalan yang diberikan.
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:thing/*
  ```

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada hal apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [ 
            "iot:DescribeThing",
            "iot:ListJobExecutionsForThing",
            "iot:ListThingGroupsForThing",
            "iot:ListThingPrincipals"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan hanya pada satu hal.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:DescribeThing",
                  "iot:ListJobExecutionsForThing",
                  "iot:ListThingGroupsForThing",
                  "iot:ListThingPrincipals"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:thing/MyThing*"
              ]
          }
      ]
  }
  ```

------

  Ini sesuai karena, meskipun sumber daya ditentukan dengan wildcard (\$1), itu didahului oleh string tertentu, dan itu membatasi kumpulan hal yang diakses ke mereka dengan nama yang memiliki awalan yang diberikan.

## Berlangganan/terbitkan ke topik MQTT
<a name="audit-chk-auth-cognito-role-permissive-mqtt-topic"></a>

Pesan MQTT dikirim melalui broker AWS IoT pesan dan digunakan oleh perangkat untuk melakukan banyak tindakan berbeda, termasuk mengakses dan memodifikasi status bayangan dan status eksekusi pekerjaan. Kebijakan yang memberikan izin ke perangkat untuk menghubungkan, menerbitkan, atau berlangganan pesan MQTT harus membatasi tindakan ini ke sumber daya tertentu sebagai berikut:

**Hubungkan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:client/*
  ```

  Wildcard \$1 memungkinkan perangkat apa pun untuk AWS IoT terhubung.

  ```
  arn:aws:iot:region:account-id:client/${iot:ClientId}
  ```

  Kecuali `iot:Connection.Thing.IsAttached` disetel ke true dalam kunci kondisi, ini setara dengan wildcard \$1 pada contoh sebelumnya.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iot:Connect"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"
        ]
      }
    ]
  }
  ```

------

  Spesifikasi sumber daya berisi variabel yang cocok dengan nama perangkat yang digunakan untuk menghubungkan, dan pernyataan kondisi selanjutnya membatasi izin dengan memeriksa apakah sertifikat yang digunakan oleh klien MQTT cocok dengan yang dilampirkan pada benda dengan nama yang digunakan.

**Publikasikan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*/shadow/update
  ```

  Ini memungkinkan perangkat untuk memperbarui bayangan perangkat apa pun (\$1 = semua perangkat).

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk read/update/delete bayangan perangkat apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Publish"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan untuk perangkat yang namanya digunakan untuk terhubung.

**Langganan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk berlangganan bayangan cadangan atau topik pekerjaan untuk semua perangkat.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/#
  ```

  Sama seperti contoh sebelumnya, tetapi menggunakan wildcard \$1.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/+/shadow/update
  ```

  Ini memungkinkan perangkat untuk melihat pembaruan bayangan pada perangkat apa pun (\$1 = semua perangkat).
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Subscribe"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*",
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan dan topik terkait pekerjaan apa pun untuk perangkat yang namanya digunakan untuk terhubung.

**Menerima**  
+ sesuai:

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Ini sesuai karena perangkat hanya dapat menerima pesan dari topik yang memiliki izin untuk berlangganan.

## Membaca atau memodifikasi bayangan atau data pekerjaan
<a name="audit-chk-auth-cognito-role-permissive-shadow-job-data"></a>

Kebijakan yang memberikan izin kepada perangkat untuk melakukan tindakan API guna mengakses atau memodifikasi bayangan perangkat atau data eksekusi pekerjaan harus membatasi tindakan ini ke sumber daya tertentu. Berikut ini adalah tindakan API:
+ `DeleteThingShadow`
+ `GetThingShadow`
+ `UpdateThingShadow`
+ `DescribeJobExecution`
+ `GetPendingJobExecutions`
+ `StartNextPendingJobExecution`
+ `UpdateJobExecution`

**Contoh**
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:thing/*
  ```

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada hal apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iot:DeleteThingShadow",
          "iot:GetThingShadow",
          "iot:UpdateThingShadow",
          "iot:DescribeJobExecution",
          "iotjobsdata:DescribeJobExecution",
          "iotjobsdata:UpdateJobExecution"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing1",
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing2"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan hanya pada dua hal.

# AWS IoT kebijakan terlalu permisif
<a name="audit-chk-iot-policy-permissive"></a>

 AWS IoT Kebijakan memberikan izin yang terlalu luas atau tidak dibatasi. Ini memberikan izin untuk mengirim atau menerima pesan MQTT untuk serangkaian perangkat yang luas, atau memberikan izin untuk mengakses atau memodifikasi bayangan dan data eksekusi pekerjaan untuk serangkaian perangkat yang luas. 

Secara umum, kebijakan untuk perangkat harus memberikan akses ke sumber daya yang terkait hanya dengan perangkat itu dan tidak ada atau sangat sedikit perangkat lain. Dengan beberapa pengecualian, menggunakan wildcard (misalnya, “\$1”) untuk menentukan sumber daya dalam kebijakan semacam itu dianggap terlalu luas atau tidak dibatasi.

Pemeriksaan ini muncul seperti `IOT_POLICY_OVERLY_PERMISSIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-iot-policy-permissive-details"></a>

Kode alasan berikut dikembalikan saat pemeriksaan ini menemukan kebijakan yang tidak sesuai AWS IoT :
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1IOT\$1DATA\$1PLANE\$1ACTIONS

## Mengapa itu penting
<a name="audit-chk-iot-policy-permissive-why-it-matters"></a>

Sertifikat, identitas Amazon Cognito, atau grup benda dengan kebijakan yang terlalu permisif dapat, jika dikompromikan, memengaruhi keamanan seluruh akun Anda. Penyerang dapat menggunakan akses luas tersebut untuk membaca atau memodifikasi bayangan, pekerjaan, atau eksekusi pekerjaan untuk semua perangkat Anda. Atau penyerang dapat menggunakan sertifikat yang disusupi untuk menghubungkan perangkat berbahaya atau meluncurkan serangan DDOS di jaringan Anda.

## Bagaimana cara memperbaikinya
<a name="audit-chk-iot-policy-permissive-how-to-fix"></a>

Ikuti langkah-langkah ini untuk memperbaiki kebijakan yang tidak patuh yang melekat pada hal-hal, grup benda, atau entitas lain:

1. Gunakan [CreatePolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_CreatePolicyVersion.html)untuk membuat versi kebijakan yang baru dan sesuai. Atur `setAsDefault` bendera ke true. (Ini membuat versi baru ini beroperasi untuk semua entitas yang menggunakan kebijakan.)

1. Gunakan [ListTargetsForPolicy](https://docs.aws.amazon.com/iot/latest/apireference/API_ListTargetsForPolicy.html)untuk mendapatkan daftar target (sertifikat, grup benda) yang dilampirkan kebijakan dan tentukan perangkat mana yang termasuk dalam grup atau yang menggunakan sertifikat untuk terhubung.

1. Verifikasi bahwa semua perangkat terkait dapat terhubung AWS IoT. Jika perangkat tidak dapat terhubung, gunakan [ SetPolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_SetPolicyVersion.html)untuk memutar kembali kebijakan default ke versi sebelumnya, merevisi kebijakan, dan coba lagi. 

Anda dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `REPLACE_DEFAULT_POLICY_VERSION` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

Gunakan [variabel AWS IoT Core kebijakan](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-variables.html) untuk mereferensikan AWS IoT sumber daya secara dinamis dalam kebijakan Anda.

## Izin MQTT
<a name="audit-chk-iot-policy-permissive-mqtt-permissions"></a>

Pesan MQTT dikirim melalui broker AWS IoT pesan dan digunakan oleh perangkat untuk melakukan banyak tindakan, termasuk mengakses dan memodifikasi status bayangan dan status eksekusi pekerjaan. Kebijakan yang memberikan izin ke perangkat untuk menghubungkan, menerbitkan, atau berlangganan pesan MQTT harus membatasi tindakan ini ke sumber daya tertentu sebagai berikut:

**Hubungkan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:client/*
  ```

  Wildcard \$1 memungkinkan perangkat apa pun untuk AWS IoT terhubung.

  ```
  arn:aws:iot:region:account-id:client/${iot:ClientId}
  ```

  Kecuali `iot:Connection.Thing.IsAttached` disetel ke true dalam kunci kondisi, ini setara dengan wildcard \$1 seperti pada contoh sebelumnya.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iot:Connect"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"
        ]
      }
    ]
  }
  ```

------

  Spesifikasi sumber daya berisi variabel yang cocok dengan nama perangkat yang digunakan untuk menghubungkan. Pernyataan kondisi selanjutnya membatasi izin dengan memeriksa bahwa sertifikat yang digunakan oleh klien MQTT cocok dengan yang dilampirkan pada benda dengan nama yang digunakan.

**Publikasikan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*/shadow/update
  ```

  Ini memungkinkan perangkat untuk memperbarui bayangan perangkat apa pun (\$1 = semua perangkat).

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk membaca, memperbarui, atau menghapus bayangan perangkat apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Publish"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan untuk perangkat yang namanya digunakan untuk terhubung.

**Langganan**  
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Ini memungkinkan perangkat untuk berlangganan bayangan cadangan atau topik pekerjaan untuk semua perangkat.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/*
  ```

  Sama seperti contoh sebelumnya, tetapi menggunakan wildcard \$1.

  ```
  arn:aws:iot:region:account-id:topicfilter/$aws/things/+/shadow/update
  ```

  Ini memungkinkan perangkat untuk melihat pembaruan bayangan pada perangkat apa pun (\$1 = semua perangkat).
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Subscribe"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*",
                  "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*"
              ]
          }
      ]
  }
  ```

------

  Spesifikasi sumber daya berisi wildcard, tetapi hanya cocok dengan topik terkait bayangan dan topik terkait pekerjaan apa pun untuk perangkat yang namanya digunakan untuk terhubung.

**Menerima**  
+ sesuai:

  ```
  arn:aws:iot:region:account-id:topic/$aws/things/*
  ```

  Ini sesuai karena perangkat hanya dapat menerima pesan dari topik yang memiliki izin untuk berlangganan.

## Izin bayangan dan pekerjaan
<a name="shadow-job-permissions"></a>

Kebijakan yang memberikan izin kepada perangkat untuk melakukan tindakan API guna mengakses atau memodifikasi bayangan perangkat atau data eksekusi pekerjaan harus membatasi tindakan ini ke sumber daya tertentu. Berikut ini adalah tindakan API:
+ `DeleteThingShadow`
+ `GetThingShadow`
+ `UpdateThingShadow`
+ `DescribeJobExecution`
+ `GetPendingJobExecutions`
+ `StartNextPendingJobExecution`
+ `UpdateJobExecution`

**Contoh**
+ tidak patuh:

  ```
  arn:aws:iot:region:account-id:thing/*
  ```

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan pada hal apa pun.
+ sesuai:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [ 
            "iot:DeleteThingShadow",
            "iot:GetThingShadow",
            "iot:UpdateThingShadow",
            "iotjobsdata:DescribeJobExecution",
            "iotjobsdata:GetPendingJobExecutions",
            "iotjobsdata:StartNextPendingJobExecution",
            "iotjobsdata:UpdateJobExecution"
        ],
        "Resource": [
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing1",
          "arn:aws:iot:us-east-1:123456789012:thing/MyThing2"
        ]
      }
    ]
  }
  ```

------

  Ini memungkinkan perangkat untuk melakukan tindakan yang ditentukan hanya pada dua hal.

# AWS IoT kebijakan berpotensi salah konfigurasi
<a name="audit-chk-iot-misconfigured-policies"></a>

 AWS IoT Kebijakan diidentifikasi sebagai berpotensi salah konfigurasi. Kebijakan yang salah konfigurasi, termasuk kebijakan yang terlalu permisif, dapat menyebabkan insiden keamanan seperti mengizinkan perangkat mengakses sumber daya yang tidak diinginkan.

Pemeriksaan **AWS IoT kebijakan yang berpotensi salah konfigurasi** adalah peringatan bagi Anda untuk memastikan bahwa hanya tindakan yang dimaksudkan yang diizinkan sebelum memperbarui kebijakan.

Di CLI dan API, pemeriksaan ini muncul sebagai. `IOT_POLICY_POTENTIAL_MISCONFIGURATION_CHECK`

Tingkat keparahan: **Sedang**

## Detail
<a name="audit-chk-iot-misconfigured-policies-details"></a>

AWS IoT mengembalikan kode alasan berikut ketika pemeriksaan ini menemukan AWS IoT kebijakan yang berpotensi salah konfigurasi:
+ POLICY\$1CONTAINS\$1MQTT\$1WILDCARDS\$1IN\$1DENY\$1STATEMENT
+ TOPIC\$1FILTERS\$1INTENDED\$1TO\$1DENY\$1ALLOWED\$1USING\$1WILDCARDS

## Mengapa itu penting
<a name="audit-chk-iot-misconfigured-policies-why-it-matters"></a>

Kebijakan yang salah konfigurasi dapat menyebabkan konsekuensi yang tidak diinginkan dengan memberikan lebih banyak izin ke perangkat daripada yang diperlukan. Kami merekomendasikan pertimbangan kebijakan yang cermat untuk membatasi akses ke sumber daya dan mencegah ancaman keamanan.

### Kebijakan berisi wildcard MQTT dalam contoh pernyataan penolakan
<a name="example-section-id"></a>

Pemeriksaan **AWS IoT kebijakan yang berpotensi salah konfigurasi** memeriksa karakter wildcard MQTT (`+`atau) dalam pernyataan penolakan. `#` Wildcard diperlakukan sebagai string literal oleh AWS IoT kebijakan dan dapat membuat kebijakan terlalu permisif.

Contoh berikut dimaksudkan untuk menolak berlangganan topik yang terkait `building/control_room` dengan menggunakan wildcard MQTT dalam kebijakan. `#` Namun, wildcard MQTT tidak memiliki arti wildcard dalam AWS IoT kebijakan dan perangkat dapat berlangganan. `building/control_room/data1`

Pemeriksaan **AWS IoT kebijakan yang berpotensi salah konfigurasi** akan menandai kebijakan ini dengan kode `POLICY_CONTAINS_MQTT_WILDCARDS_IN_DENY_STATEMENT` alasan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/#"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        }
    ]
}
```

------

Berikut ini adalah contoh kebijakan yang dikonfigurasi dengan benar. Perangkat tidak memiliki izin untuk berlangganan subtopik `building/control_room/` dan tidak memiliki izin untuk menerima pesan dari subtopik. `building/control_room/`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
    },
    {
      "Effect": "Deny",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
    },
    {
      "Effect": "Deny",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/control_room/*"
    }
  ]
}
```

------

### Filter topik dimaksudkan untuk menolak diizinkan menggunakan contoh wildcard
<a name="example-section-id2"></a>

Contoh kebijakan berikut dimaksudkan untuk menolak berlangganan topik yang terkait dengan `building/control_room` dengan menolak sumber daya. `building/control_room/*` Namun, perangkat dapat mengirim permintaan untuk berlangganan `building/#` dan menerima pesan dari semua topik yang terkait`building`, termasuk`building/control_room/data1`.

Pemeriksaan **AWS IoT kebijakan yang berpotensi salah konfigurasi** akan menandai kebijakan ini dengan kode `TOPIC_FILTERS_INTENDED_TO_DENY_ALLOWED_USING_WILDCARDS` alasan.

Contoh kebijakan berikut memiliki izin untuk menerima pesan pada`building/control_room topics`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        }
    ]
}
```

------

Berikut ini adalah contoh kebijakan yang dikonfigurasi dengan benar. Perangkat tidak memiliki izin untuk berlangganan subtopik `building/control_room/` dan tidak memiliki izin untuk menerima pesan dari subtopik. `building/control_room/`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Subscribe",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/building/control_room/*"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/*"
        },
        {
            "Effect": "Deny",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-east-1:123456789012:topic/building/control_room/*"
        }
    ]
}
```

------

**catatan**  
Pemeriksaan ini mungkin melaporkan positif palsu. Kami menyarankan Anda mengevaluasi kebijakan yang ditandai dan menandai sumber daya positif palsu menggunakan penekanan audit.

## Bagaimana cara memperbaikinya
<a name="audit-chk-iot-misconfigured-policies-how-to-fix"></a>

Pemeriksaan ini menandai kebijakan yang berpotensi salah konfigurasi sehingga mungkin ada positif palsu. Tandai positif palsu apa pun menggunakan [penekanan audit](audit-finding-suppressions.md) sehingga tidak ditandai di masa mendatang.

Anda juga dapat mengikuti langkah-langkah ini untuk memperbaiki kebijakan yang tidak patuh yang melekat pada hal-hal, grup benda, atau entitas lain:

1. Gunakan [CreatePolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_CreatePolicyVersion.html)untuk membuat versi kebijakan yang baru dan sesuai. Atur `setAsDefault` bendera ke true. (Ini membuat versi baru ini beroperasi untuk semua entitas yang menggunakan kebijakan.)

   *Untuk contoh membuat AWS IoT kebijakan untuk kasus penggunaan umum, lihat [Contoh kebijakan Publikasi/Berlangganan](https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html) di Panduan Pengembang AWS IoT Core .*

1. Verifikasi bahwa semua perangkat terkait dapat terhubung AWS IoT. Jika perangkat tidak dapat terhubung, gunakan [ SetPolicyVersion](https://docs.aws.amazon.com/iot/latest/apireference/API_SetPolicyVersion.html)untuk memutar kembali kebijakan default ke versi sebelumnya, merevisi kebijakan, dan coba lagi. 

Anda dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `REPLACE_DEFAULT_POLICY_VERSION` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

Gunakan [variabel kebijakan IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-variables.html) di *Panduan AWS IoT Core Pengembang* untuk mereferensikan AWS IoT sumber daya secara dinamis dalam kebijakan Anda.

# Alias peran terlalu permisif
<a name="audit-chk-iot-role-alias-permissive"></a>

AWS IoT alias peran menyediakan mekanisme untuk perangkat yang terhubung untuk mengautentikasi AWS IoT menggunakan sertifikat X.509 dan kemudian mendapatkan AWS kredensil berumur pendek dari peran IAM yang terkait dengan alias peran. AWS IoT Izin untuk kredensyal ini harus dicakup menggunakan kebijakan akses dengan variabel konteks otentikasi. Jika kebijakan Anda tidak dikonfigurasi dengan benar, Anda dapat membiarkan diri Anda terkena eskalasi serangan hak istimewa. Pemeriksaan audit ini memastikan bahwa kredensyal sementara yang disediakan oleh alias AWS IoT peran tidak terlalu permisif. 

Pemeriksaan ini dipicu jika salah satu kondisi berikut ditemukan:
+ Kebijakan ini memberikan izin administratif untuk layanan apa pun yang digunakan dalam satu tahun terakhir oleh alias peran ini (misalnya, “iot: \$1”, “dynamodb: \$1”, “iam: \$1”, dan seterusnya).
+ Kebijakan ini menyediakan akses luas ke tindakan metadata, akses ke AWS IoT tindakan terbatas, atau akses luas ke tindakan bidang AWS IoT data.
+ Kebijakan ini menyediakan akses ke layanan audit keamanan seperti “iam”, “cloudtrail”, “guardduty”, “inspector”, atau “trustedadvisor”.

Pemeriksaan ini muncul seperti `IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Kritis**

## Detail
<a name="audit-chk-iot-role-alias-permissive-details"></a>

Alasan berikut kode dikembalikan ketika pemeriksaan ini menemukan kebijakan IoT yang tidak sesuai:
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1USED\$1SERVICES
+ ALLOWS\$1ACCESS\$1TO\$1SECURITY\$1AUDITING\$1SERVICES
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1IOT\$1THING\$1ADMIN\$1READ\$1ACTIONS
+ ALLOWS\$1ACCESS\$1TO\$1IOT\$1NON\$1THING\$1ADMIN\$1ACTIONS
+ ALLOWS\$1ACCESS\$1TO\$1IOT\$1THING\$1ADMIN\$1WRITE\$1ACTIONS
+ ALLOWS\$1BROAD\$1ACCESS\$1TO\$1IOT\$1DATA\$1PLANE\$1ACTIONS

## Mengapa itu penting
<a name="audit-chk-iot-role-alias-permissive-why-it-matters"></a>

Dengan membatasi izin untuk yang diperlukan perangkat untuk melakukan operasi normalnya, Anda mengurangi risiko ke akun Anda jika perangkat dikompromikan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-iot-role-alias-permissive-how-to-fix"></a>

Ikuti langkah-langkah ini untuk memperbaiki kebijakan yang tidak patuh yang melekat pada hal-hal, grup benda, atau entitas lain:

1. Ikuti langkah-langkah dalam [Mengotorisasi panggilan langsung ke AWS layanan menggunakan penyedia AWS IoT Core kredensi](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) untuk menerapkan kebijakan yang lebih ketat ke alias peran Anda.

Anda dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan tindakan kustom sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

# Alias peran memungkinkan akses ke layanan yang tidak digunakan
<a name="audit-chk-role-alias-unused-svcs"></a>

AWS IoT alias peran menyediakan mekanisme untuk perangkat yang terhubung untuk mengautentikasi AWS IoT menggunakan sertifikat X.509 dan kemudian mendapatkan AWS kredensil berumur pendek dari peran IAM yang terkait dengan alias peran. AWS IoT Izin untuk kredensyal ini harus dicakup menggunakan kebijakan akses dengan variabel konteks otentikasi. Jika kebijakan Anda tidak dikonfigurasi dengan benar, Anda dapat membiarkan diri Anda terkena eskalasi serangan hak istimewa. Pemeriksaan audit ini memastikan bahwa kredensyal sementara yang disediakan oleh alias AWS IoT peran tidak terlalu permisif. 

Pemeriksaan ini dipicu jika alias peran memiliki akses ke layanan yang belum digunakan untuk AWS IoT perangkat dalam setahun terakhir. Misalnya, laporan audit jika Anda memiliki peran IAM yang terkait dengan alias peran yang hanya digunakan AWS IoT dalam satu tahun terakhir tetapi kebijakan yang dilampirkan pada peran tersebut juga memberikan izin untuk dan. `"iam:getRole"` `"dynamodb:PutItem"`

Pemeriksaan ini muncul seperti `IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK` pada CLI dan API.

Tingkat keparahan: **Sedang**

## Detail
<a name="audit-chk-role-alias-unused-svcs-details"></a>

Alasan berikut kode dikembalikan ketika pemeriksaan ini menemukan kebijakan yang tidak sesuai AWS IoT :
+ ALLOWS\$1ACCESS\$1TO\$1UNUSED\$1SERVICES

## Mengapa itu penting
<a name="audit-chk-role-alias-unused-svcs-why-it-matters"></a>

Dengan membatasi izin untuk layanan yang diperlukan perangkat untuk melakukan operasi normalnya, Anda mengurangi risiko ke akun Anda jika perangkat dikompromikan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-role-alias-unused-svcs-how-to-fix"></a>

Ikuti langkah-langkah ini untuk memperbaiki kebijakan yang tidak patuh yang melekat pada hal-hal, grup benda, atau entitas lain:

1. Ikuti langkah-langkah dalam [Mengotorisasi panggilan langsung ke AWS layanan menggunakan penyedia AWS IoT Core kredensi](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) untuk menerapkan kebijakan yang lebih ketat ke alias peran Anda.

Anda dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan tindakan kustom sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

# Sertifikat CA segera kedaluwarsa
<a name="audit-chk-ca-cert-approaching-expiration"></a>

Sertifikat CA kedaluwarsa dalam 30 hari atau telah kedaluwarsa.

Pemeriksaan ini muncul seperti `CA_CERTIFICATE_EXPIRING_CHECK` pada CLI dan API.

Tingkat keparahan: **Sedang**

## Detail
<a name="audit-chk-ca-cert-approaching-expiration-details"></a>

Pemeriksaan ini berlaku untuk sertifikat CA yang ACTIVE atau PENDING\$1TRANSFER.

Alasan berikut kode dikembalikan ketika cek ini menemukan sertifikat CA yang tidak sesuai:
+ CERTIFICATE\$1APPROACHING\$1EXPIRATION
+ CERTIFICATE\$1PAST\$1EXPIRATION

## Mengapa itu penting
<a name="audit-chk-ca-cert-approaching-expiration-why-it-matters"></a>

Sertifikat CA yang kedaluwarsa tidak boleh digunakan untuk menandatangani sertifikat perangkat baru.

## Bagaimana cara memperbaikinya
<a name="audit-chk-ca-cert-approaching-expiration-how-to-fix"></a>

Konsultasikan praktik terbaik keamanan Anda untuk mengetahui cara melanjutkan. Anda mungkin ingin:

1. Daftarkan sertifikat CA baru dengan AWS IoT.

1. Pastikan Anda dapat menandatangani sertifikat perangkat menggunakan sertifikat CA baru.

1. Gunakan [Pembaruan CACertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCACertificate.html) untuk menandai sertifikat CA lama sebagai TIDAK AKTIF di AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk melakukan hal berikut:
   + Terapkan tindakan `UPDATE_CA_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

# Klien MQTT yang bertentangan IDs
<a name="audit-chk-conflicting-client-ids"></a>

Beberapa perangkat terhubung menggunakan ID klien yang sama.

Pemeriksaan ini muncul seperti `CONFLICTING_CLIENT_IDS_CHECK` pada CLI dan API.

Tingkat keparahan: **Tinggi**

## Detail
<a name="audit-chk-conflicting-client-ids-details"></a>

Beberapa koneksi dibuat menggunakan ID klien yang sama, menyebabkan perangkat yang sudah terhubung terputus. Spesifikasi MQTT hanya memungkinkan satu koneksi aktif per ID klien, jadi ketika perangkat lain terhubung menggunakan ID klien yang sama, itu akan mematikan koneksi sebelumnya.

Ketika dilakukan sebagai bagian dari audit sesuai permintaan, pemeriksaan ini melihat bagaimana klien IDs digunakan untuk terhubung selama 31 hari sebelum dimulainya audit. Untuk audit terjadwal, pemeriksaan ini melihat data dari terakhir kali audit dijalankan hingga saat instance audit ini dimulai. Jika Anda telah mengambil langkah-langkah untuk mengurangi kondisi ini selama waktu yang diperiksa, perhatikan kapan koneksi/pemutusan dibuat untuk menentukan apakah masalah berlanjut.

Kode alasan berikut dikembalikan saat pemeriksaan ini menemukan ketidakpatuhan:
+ DUPLICATE\$1CLIENT\$1ID\$1ACROSS\$1CONNECTIONS

Temuan yang dikembalikan oleh pemeriksaan ini juga mencakup ID klien yang digunakan untuk menghubungkan, menentukan IDs, dan memutuskan waktu. Hasil terbaru terdaftar terlebih dahulu.

## Mengapa itu penting
<a name="audit-chk-conflicting-client-ids-why-it-matters"></a>

Perangkat dengan konflik IDs dipaksa untuk terus-menerus terhubung kembali, yang dapat mengakibatkan pesan hilang atau membuat perangkat tidak dapat terhubung.

Ini mungkin menunjukkan bahwa perangkat atau kredensyal perangkat telah dikompromikan, dan mungkin menjadi bagian dari serangan S. DDo Mungkin juga perangkat tidak dikonfigurasi dengan benar di akun atau perangkat memiliki koneksi yang buruk dan dipaksa untuk menyambung kembali beberapa kali per menit.

## Bagaimana cara memperbaikinya
<a name="audit-chk-conflicting-client-ids-how-to-fix"></a>

Daftarkan setiap perangkat sebagai hal yang unik AWS IoT, dan gunakan nama benda sebagai ID klien untuk terhubung. Atau gunakan UUID sebagai ID klien saat menghubungkan perangkat melalui MQTT. Anda juga dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md).

# Sertifikat perangkat segera kedaluwarsa
<a name="audit-chk-device-cert-approaching-expiration"></a>

Sertifikat perangkat kedaluwarsa dalam periode ambang batas yang dikonfigurasi atau telah kedaluwarsa. Ambang batas pemeriksaan kedaluwarsa sertifikat dapat dikonfigurasi antara 30 hari (minimum) dan 3652 hari (maksimum 10 tahun) dengan nilai default 30 hari.

Pemeriksaan ini muncul seperti `DEVICE_CERTIFICATE_EXPIRING_CHECK` pada CLI dan API.

Tingkat keparahan: **Sedang**

## Detail
<a name="audit-chk-device-cert-approaching-expiration-details"></a>

Pemeriksaan ini berlaku untuk sertifikat perangkat yang ACTIVE atau PENDING\$1TRANSFER.

Alasan berikut kode dikembalikan ketika pemeriksaan ini menemukan sertifikat perangkat yang tidak sesuai:
+ CERTIFICATE\$1APPROACHING\$1EXPIRATION
+ CERTIFICATE\$1PAST\$1EXPIRATION

## Mengapa itu penting
<a name="audit-chk-device-cert-approaching-expiration-why-it-matters"></a>

Sertifikat perangkat tidak boleh digunakan setelah kedaluwarsa.

## Mengonfigurasi pemeriksaan kedaluwarsa sertifikat Perangkat
<a name="w2aab9c11c43c13"></a>

Konfigurasi ini memungkinkan Anda memantau dan menerima peringatan untuk sertifikat yang mendekati tanggal kedaluwarsa di seluruh armada perangkat Anda. Misalnya, jika Anda ingin diberi tahu ketika sertifikat berada dalam waktu 30 hari setelah kedaluwarsa, Anda dapat mengonfigurasi cek sebagai berikut:

```
{
    "roleArn": "your-audit-role-arn",
    "auditCheckConfigurations": {
        "DEVICE_CERTIFICATE_EXPIRING_CHECK": {
            "enabled": true,
            "configuration": {
                "CERT_EXPIRATION_THRESHOLD_IN_DAYS": "30"
            }
        }
    }
}
```

## Bagaimana cara memperbaikinya
<a name="audit-chk-device-cert-approaching-expiration-how-to-fix"></a>

Konsultasikan praktik terbaik keamanan Anda untuk mengetahui cara melanjutkan. Anda mungkin ingin:

1. Berikan sertifikat baru dan lampirkan ke perangkat. 

1. Verifikasi bahwa sertifikat baru valid dan perangkat dapat menggunakannya untuk terhubung.

1. Gunakan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk menandai sertifikat lama sebagai TIDAK AKTIF di AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_DEVICE_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `ADD_THINGS_TO_THING_GROUP` mitigasi untuk menambahkan perangkat ke grup tempat Anda dapat mengambil tindakan terhadapnya.
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

1. Lepaskan sertifikat lama dari perangkat. (Lihat [DetachThingPrincipal](https://docs.aws.amazon.com/iot/latest/apireference/API_DetachThingPrincipal.html)).

# Pemeriksaan usia sertifikat perangkat
<a name="device-certificate-age-check"></a>

Pemeriksaan audit ini memberi tahu Anda ketika sertifikat perangkat telah aktif selama beberapa hari lebih besar dari atau sama dengan nomor yang Anda tentukan. Pemeriksaan ini membantu Anda tetap mendapat informasi tentang status sertifikat Anda, memungkinkan tindakan tepat waktu secara berkala, terlepas dari kapan sertifikat mencapai akhir masa pakainya, meningkatkan keamanan dengan mengurangi risiko kompromi sertifikat.

Ambang batas pemeriksaan usia sertifikat dapat dikonfigurasi antara 30 hari (minimum) dan 3652 hari (maksimum 10 tahun), dengan nilai default 365 hari.

Pemeriksaan ini muncul seperti `DEVICE_CERTIFICATE_AGE_CHECK` pada CLI dan API. Pemeriksaan ini dinonaktifkan secara default Keparahan: **Rendah** 

## Detail
<a name="w2aab9c11c45b9"></a>

Pemeriksaan ini berlaku untuk sertifikat perangkat yang ACTIVE atau PENDING\$1TRANSFER. Alasan berikut kode dikembalikan ketika pemeriksaan ini menemukan sertifikat perangkat yang tidak sesuai: 
+ CERTIFICATE\$1PAST\$1AGE\$1THRESHOLD

## Mengkonfigurasi pemeriksaan usia sertifikat perangkat
<a name="w2aab9c11c45c11"></a>

Konfigurasi ini memungkinkan Anda menyesuaikan peringatan rotasi sertifikat dengan kebutuhan spesifik armada Anda, membantu Anda mempertahankan postur keamanan yang kuat di semua perangkat. Anda dapat mengonfigurasi pemeriksaan ini menggunakan `UpdateAccountAuditConfiguration` API. Misalnya, jika Anda ingin diberi tahu ketika sertifikat telah aktif selama lebih dari 365 hari, Anda dapat mengonfigurasi cek sebagai berikut:

```
{
    "roleArn": "your-audit-role-arn",
    "auditCheckConfigurations": {
        "DEVICE_CERTIFICATE_AGE_CHECK": {
            "enabled": true,
            "configuration": {
                "CERT_AGE_THRESHOLD_IN_DAYS": "365"
            }
        }
    }
}
```

# Sertifikat perangkat yang dicabut masih aktif
<a name="audit-chk-revoked-device-cert"></a>

Sertifikat perangkat yang dicabut masih aktif.

Pemeriksaan ini muncul seperti `REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK` pada CLI dan API.

Tingkat keparahan: **Sedang**

## Detail
<a name="audit-chk-revoked-device-cert-details"></a>

Sertifikat perangkat ada dalam [daftar pencabutan sertifikat](https://en.wikipedia.org/wiki/Certificate_revocation_list) CA, tetapi masih aktif. AWS IoT

Pemeriksaan ini berlaku untuk sertifikat perangkat yang ACTIVE atau PENDING\$1TRANSFER.

Kode alasan berikut dikembalikan saat pemeriksaan ini menemukan ketidakpatuhan:
+ CERTIFICATE\$1REVOKED\$1BY\$1ISSUER

## Mengapa itu penting
<a name="audit-chk-revoked-device-cert-why-it-matters"></a>

Sertifikat perangkat biasanya dicabut karena telah disusupi. Ada kemungkinan bahwa itu belum dicabut AWS IoT karena kesalahan atau pengawasan.

## Bagaimana cara memperbaikinya
<a name="audit-chk-revoked-device-cert-how-to-fix"></a>

Verifikasi bahwa sertifikat perangkat belum dikompromikan. Jika sudah, ikuti praktik terbaik keamanan Anda untuk mengurangi situasi. Anda mungkin ingin:

1. Menyediakan sertifikat baru untuk perangkat.

1. Verifikasi bahwa sertifikat baru valid dan perangkat dapat menggunakannya untuk terhubung.

1. Gunakan [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html)untuk menandai sertifikat lama sebagai REVOKED in AWS IoT. Anda juga dapat menggunakan tindakan mitigasi untuk:
   + Terapkan tindakan `UPDATE_DEVICE_CERTIFICATE` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
   + Terapkan tindakan `ADD_THINGS_TO_THING_GROUP` mitigasi untuk menambahkan perangkat ke grup tempat Anda dapat mengambil tindakan terhadapnya.
   + Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

   Untuk informasi selengkapnya, lihat [Tindakan mitigasi](dd-mitigation-actions.md). 

1. Lepaskan sertifikat lama dari perangkat. (Lihat [DetachThingPrincipal](https://docs.aws.amazon.com/iot/latest/apireference/API_DetachThingPrincipal.html)).

# Pencatatan dinonaktifkan
<a name="audit-chk-logging-disabled"></a>

AWS IoT log tidak diaktifkan di Amazon CloudWatch. Memverifikasi logging V1 dan V2.

Pemeriksaan ini muncul seperti `LOGGING_DISABLED_CHECK` pada CLI dan API.

Tingkat keparahan: **Rendah**

## Detail
<a name="audit-chk-logging-disabled-details"></a>

Kode alasan berikut dikembalikan saat pemeriksaan ini menemukan ketidakpatuhan:
+ LOGGING\$1DISABLED

## Mengapa itu penting
<a name="audit-chk-logging-disabled-why-it-matters"></a>

AWS IoT log in CloudWatch memberikan visibilitas ke dalam perilaku AWS IoT, termasuk kegagalan otentikasi dan koneksi dan pemutusan tak terduga yang mungkin menunjukkan bahwa perangkat telah disusupi.

## Bagaimana cara memperbaikinya
<a name="audit-chk-logging-disabled-how-to-fix"></a>

Aktifkan AWS IoT log in CloudWatch. Lihat [Logging dan Monitoring](https://docs.aws.amazon.com/iot/latest/developerguide/security-logging.html) di *Panduan AWS IoT Core Pengembang*. Anda juga dapat menggunakan tindakan mitigasi untuk:
+ Terapkan tindakan `ENABLE_IOT_LOGGING` mitigasi pada temuan audit Anda untuk membuat perubahan ini. 
+ Terapkan tindakan `PUBLISH_FINDINGS_TO_SNS` mitigasi jika Anda ingin menerapkan respons khusus sebagai respons terhadap pesan Amazon SNS. 

Lihat informasi yang lebih lengkap di [Tindakan mitigasi](dd-mitigation-actions.md).