Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS IoT kebijakan berpotensi salah dikonfigurasi
Sebuah 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 danAPI, cek ini muncul sebagaiIOT_POLICY_POTENTIAL_MISCONFIGURATION_CHECK
.
Tingkat keparahan: Sedang
Detail
AWS IoT mengembalikan kode alasan berikut ketika pemeriksaan ini menemukan AWS IoT kebijakan yang berpotensi salah konfigurasi:
-
POLICY_ CONTAINS _ _ MQTT _ WILDCARDS _ DENY _ STATEMENT
-
TOPIC_ FILTERS _ _ INTENDED _ _ _ DENY _ ALLOWED USING WILDCARDS
Mengapa itu penting
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.
Pemeriksaan AWS IoT kebijakan yang berpotensi salah konfigurasi memeriksa karakter MQTT wildcard (+
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 MQTT wildcard #
dalam kebijakan. Namun, MQTT wildcard 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:
region
:account-id
:topicfilter/building/*" }, { "Effect": "Deny", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:topicfilter/building/control_room/#" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
: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/
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:
region
:account-id
:topicfilter/building/*" }, { "Effect": "Deny", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:topicfilter/building/control_room/*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
:topic/building/*" }, { "Effect": "Deny", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
:topic/building/control_room/*" } ] }
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 terkaitbuilding
, termasukbuilding/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 padabuilding/control_room topics
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:
region
:account-id
:topicfilter/building/*" }, { "Effect": "Deny", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:topicfilter/building/control_room/*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
: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/
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:
region
:account-id
:topicfilter/building/*" }, { "Effect": "Deny", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:topicfilter/building/control_room/*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
:topic/building/*" }, { "Effect": "Deny", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
: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
Pemeriksaan ini menandai kebijakan yang berpotensi salah konfigurasi sehingga mungkin ada positif palsu. Tandai positif palsu apa pun menggunakan penekanan audit 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:
-
Gunakan CreatePolicyVersionuntuk 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 di Panduan Pengembang AWS IoT Core .
-
Verifikasi bahwa semua perangkat terkait dapat terhubung AWS IoT. Jika perangkat tidak dapat terhubung, gunakan SetPolicyVersionuntuk 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 AmazonSNS.
Untuk informasi selengkapnya, lihat Tindakan mitigasi.
Gunakan variabel kebijakan IoT Core di Panduan AWS IoT Core Pengembang untuk mereferensikan AWS IoT sumber daya secara dinamis dalam kebijakan Anda.