Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulihkan eksposur untuk layanan Amazon ECS
AWS Security Hub dapat menghasilkan temuan eksposur untuk layanan Amazon Elastic Container Service (Amazon ECS).
Layanan Amazon ECS yang terlibat dalam temuan eksposur dan informasi pengenalannya tercantum di bagian Sumber Daya dari detail temuan. Anda dapat mengambil detail sumber daya ini di konsol Security Hub atau secara terprogram dengan GetFindingsV2pengoperasian Security Hub API.
Setelah mengidentifikasi sumber daya yang terlibat dalam temuan eksposur, Anda dapat menghapus sumber daya jika Anda tidak membutuhkannya. Menghapus sumber daya yang tidak penting dapat mengurangi profil dan AWS biaya eksposur Anda. Jika sumber daya sangat penting, ikuti langkah-langkah remediasi yang direkomendasikan ini untuk membantu mengurangi risiko. Topik remediasi dibagi berdasarkan jenis sifatnya.
Temuan eksposur tunggal berisi masalah yang diidentifikasi dalam beberapa topik remediasi. Sebaliknya, Anda dapat mengatasi temuan eksposur dan menurunkan tingkat keparahannya dengan hanya membahas satu topik remediasi. Pendekatan Anda terhadap remediasi risiko tergantung pada kebutuhan organisasi dan beban kerja Anda.
catatan
Panduan remediasi yang diberikan dalam topik ini mungkin memerlukan konsultasi tambahan dalam AWS sumber daya lain.
Daftar Isi
Ciri salah konfigurasi untuk layanan Amazon ECS
Layanan Amazon ECS memiliki wadah yang dapat mengambil peran IAM
Layanan Amazon ECS menggunakan definisi tugas yang memungkinkan kontainer mengakses sistem file root
Layanan Amazon ECS menggunakan definisi tugas yang dikonfigurasi untuk berbagi namespace proses host
Peran IAM yang terkait dengan layanan Amazon ECS memiliki kebijakan akses administratif
Ciri salah konfigurasi untuk layanan Amazon ECS
Berikut adalah ciri kesalahan konfigurasi untuk layanan Amazon ECS dan langkah-langkah perbaikan yang disarankan.
Layanan Amazon ECS menggunakan definisi tugas yang dikonfigurasi dengan hak istimewa yang ditinggikan
Kontainer Amazon ECS yang berjalan dengan hak istimewa yang lebih tinggi memiliki kemampuan yang mirip dengan sistem host, berpotensi memungkinkan akses ke sumber daya host dan kontainer lainnya. Konfigurasi ini meningkatkan risiko bahwa kontainer yang dikompromikan dapat digunakan untuk mengakses atau memodifikasi sumber daya di luar cakupan yang dimaksudkan, berpotensi menyebabkan pelarian kontainer, akses tidak sah ke host yang mendasarinya, dan pelanggaran yang memengaruhi kontainer lain pada host yang sama. Mengikuti prinsip keamanan standar, AWS merekomendasikan agar Anda memberikan hak istimewa paling sedikit, yang berarti Anda hanya memberikan izin yang diperlukan untuk melakukan tugas.
Meninjau dan memodifikasi definisi tugas
Dalam paparan, identifikasi definisi tugas ARN. Buka definisi tugas di konsol Amazon ECS. Dalam definisi tugas, cari flag istimewa yang disetel ke true dalam definisi container. Jika mode istimewa tidak diperlukan, buat revisi definisi tugas baru tanpa bendera istimewa. Jika mode istimewa diperlukan, pertimbangkan untuk mengonfigurasi wadah untuk menggunakan sistem file hanya-baca untuk mencegah modifikasi yang tidak sah.
Layanan Amazon ECS memiliki wadah yang dapat mengambil peran IAM
Peran IAM memungkinkan tugas Amazon ECS untuk mengakses AWS layanan lain dengan aman menggunakan kredensi sementara. Peran eksekusi tugas mungkin diperlukan untuk tugas Amazon ECS di mana penampung perlu berinteraksi dengan AWS sumber daya lain. Meskipun hal ini terkadang diperlukan untuk fungsionalitas kontainer, peran yang tidak dikonfigurasi dengan benar dapat memberikan hak istimewa yang berlebihan yang dapat dieksploitasi oleh penyerang jika kontainer dikompromikan, berpotensi memungkinkan akses tidak sah ke AWS sumber daya, pencurian data, atau modifikasi infrastruktur Anda yang tidak sah. Mengikuti prinsip keamanan standar, AWS merekomendasikan penerapan akses hak istimewa paling sedikit dan meninjau peran IAM yang dilampirkan pada tugas Amazon ECS Anda.
Tinjau peran terlampir
Buka dasbor IAM, dan pilih peran yang diidentifikasi. Tinjau kebijakan izin yang dilampirkan pada peran IAM. Jika tugas memerlukan interaksi dengan AWS layanan lain, pertahankan peran eksekusi tugas dan pertimbangkan untuk menerapkan izin hak istimewa paling sedikit. Jika tidak, buat revisi definisi tugas baru tanpa peran eksekusi.
Layanan Amazon ECS menggunakan definisi tugas yang memungkinkan kontainer mengakses sistem file root
Container Amazon ECS dengan akses ke sistem file root host berpotensi membaca, memodifikasi, atau mengeksekusi file penting pada sistem host. Konfigurasi ini meningkatkan risiko bahwa wadah yang dikompromikan dapat digunakan untuk mengakses atau memodifikasi sumber daya di luar cakupan yang dimaksudkan, berpotensi mengekspos data sensitif pada sistem file host. Mengikuti prinsip keamanan standar, AWS merekomendasikan agar Anda memberikan hak istimewa paling sedikit, yang berarti Anda hanya memberikan izin yang diperlukan untuk melakukan tugas.
Tinjau dan modifikasi kontainer dengan akses sistem file host
Dalam temuan eksposur, identifikasi definisi tugas ARN. Buka definisi tugas di konsol Amazon ECS. Cari bagian volume dalam definisi tugas yang mendefinisikan pemetaan jalur host. Tinjau definisi tugas untuk menentukan apakah akses sistem file host diperlukan untuk fungsionalitas kontainer. s Jika akses sistem file host tidak diperlukan, buat revisi definisi tugas baru dan hapus definisi volume apa pun yang menggunakan jalur host. Jika akses sistem file host diperlukan, pertimbangkan untuk mengonfigurasi wadah untuk menggunakan sistem file hanya-baca untuk mencegah modifikasi yang tidak sah.
Layanan Amazon ECS menggunakan definisi tugas yang dikonfigurasi untuk berbagi namespace proses host
Kontainer Amazon ECS yang berjalan dengan ruang nama terbuka berpotensi mengakses sumber daya sistem host dan ruang nama kontainer lainnya. Konfigurasi ini dapat memungkinkan wadah yang dikompromikan untuk melarikan diri dari batas isolasinya, yang dapat menyebabkan proses mengakses, antarmuka jaringan, atau sumber daya lain di luar ruang lingkup yang dimaksudkan. Namespace ID proses (PID) menyediakan pemisahan antar proses. Ini mencegah proses sistem agar tidak terlihat, dan memungkinkan PIDs untuk digunakan kembali, termasuk PID 1. Jika namespace PID host dibagikan dengan kontainer, itu akan memungkinkan kontainer untuk melihat semua proses pada sistem host. Ini mengurangi manfaat isolasi tingkat proses antara host dan wadah. Faktor-faktor ini dapat menyebabkan akses tidak sah ke proses pada host itu sendiri, termasuk kemampuan untuk memanipulasi dan menghentikannya. Mengikuti prinsip keamanan standar, AWS merekomendasikan untuk mempertahankan isolasi namespace yang tepat untuk kontainer.
Perbarui definisi tugas dengan ruang nama terbuka
Buka tab Resources dari eksposur, identifikasi definisi tugas dengan namespace yang terbuka. Buka definisi tugas di konsol Amazon ECS. Cari pengaturan PidMode dengan nilai host, yang akan berbagi ruang nama ID proses dengan host. Hapus pengaturan PidMode: host dari definisi tugas Anda untuk memastikan kontainer berjalan dengan isolasi namespace yang tepat.
Layanan Amazon ECS menggunakan definisi tugas yang dikonfigurasi dengan kredenal cleartext dalam variabel lingkungan
Container Amazon ECS dengan kredensi cleartext dalam variabel lingkungan mengekspos informasi otentikasi sensitif yang dapat dikompromikan jika penyerang mendapatkan akses ke definisi tugas, lingkungan kontainer, atau log kontainer. Ini menciptakan risiko keamanan yang signifikan, karena kredensil yang bocor dapat digunakan untuk mengakses AWS layanan atau sumber daya lain.
Ganti kredenal cleartext
Dalam temuan eksposur, identifikasi definisi tugas dengan kredenal cleartext. Buka definisi tugas di konsol Amazon ECS. Cari variabel lingkungan dalam definisi kontainer yang berisi nilai sensitif seperti kunci AWS akses, kata sandi database, atau token API.
Pertimbangkan alternatif berikut untuk lulus kredensil:
-
Alih-alih menggunakan kunci AWS akses, gunakan peran eksekusi tugas IAM dan peran tugas untuk memberikan izin ke kontainer Anda.
-
Simpan kredensil sebagai AWS rahasia di Secrets Manager dan referensikan dalam definisi tugas Anda.
Perbarui definisi tugas
Buat revisi baru definisi tugas Anda yang menangani kredensil dengan aman. Kemudian perbarui layanan Amazon ECS Anda untuk menggunakan revisi definisi tugas baru.
Layanan Amazon ECS memiliki grup keamanan terbuka
Grup keamanan bertindak sebagai firewall virtual untuk tugas Amazon ECS Anda untuk mengontrol lalu lintas masuk dan keluar. Grup keamanan terbuka, yang memungkinkan akses tidak terbatas dari alamat IP apa pun, dapat mengekspos wadah Anda ke akses tidak sah, meningkatkan risiko paparan alat pemindaian otomatis dan serangan yang ditargetkan. Mengikuti prinsip keamanan standar, AWS merekomendasikan untuk membatasi akses grup keamanan ke alamat IP dan port tertentu.
Tinjau aturan grup keamanan dan nilai konfigurasi saat ini
Buka sumber daya untuk Amazon ECS Security Group. Evaluasi port mana yang terbuka dan dapat diakses dari rentang IP yang luas, seperti(0.0.0.0/0 or ::/0)
.
Ubah aturan grup keamanan
Ubah aturan grup keamanan Anda untuk membatasi akses ke alamat atau rentang IP tepercaya tertentu. Saat memperbarui aturan grup keamanan Anda, pertimbangkan untuk memisahkan persyaratan akses untuk segmen jaringan yang berbeda dengan membuat aturan untuk setiap rentang IP sumber yang diperlukan atau membatasi akses ke port tertentu.
Ubah aturan grup keamanan
Pertimbangkan opsi berikut untuk metode akses alternatif:
-
Session Manager menyediakan akses shell aman ke EC2 instans Amazon Anda tanpa memerlukan port masuk, mengelola kunci SSH, atau memelihara host bastion.
-
NACLs memberikan lapisan keamanan tambahan di tingkat subnet. Tidak seperti kelompok keamanan, NACLs tidak memiliki kewarganegaraan dan memerlukan aturan masuk dan keluar untuk didefinisikan secara eksplisit.
Layanan Amazon ECS memiliki alamat IP publik
Layanan Amazon ECS dengan alamat IP publik yang ditetapkan untuk tugas mereka dapat diakses langsung dari internet. Meskipun ini mungkin diperlukan untuk layanan yang perlu tersedia untuk umum, ini meningkatkan permukaan serangan dan potensi akses yang tidak sah.
Identifikasi layanan dengan alamat IP publik
Dalam temuan eksposur, identifikasi layanan Amazon ECS yang memiliki alamat IP publik yang ditetapkan untuk tugasnya. Cari assignPublicIp
pengaturan dengan nilai ENABLED
dalam konfigurasi layanan.
Perbarui definisi tugas
Buat revisi baru definisi tugas Anda yang menonaktifkan alamat IP publik. Kemudian perbarui layanan Amazon ECS Anda untuk menggunakan revisi definisi tugas baru.
Menerapkan pola akses jaringan pribadi
Untuk contoh yang menjalankan aplikasi web, pertimbangkan untuk menggunakan Load Balancer (LB). LBs dapat dikonfigurasi untuk memungkinkan instance Anda berjalan di subnet pribadi sementara LB berjalan di subnet publik dan menangani lalu lintas internet.
Layanan Amazon ECS menggunakan definisi tugas yang dikonfigurasi dengan mode jaringan host diaktifkan
Kontainer Amazon ECS yang berjalan dengan mode jaringan host berbagi namespace jaringan dengan host, memungkinkan akses langsung ke antarmuka jaringan host, port, dan tabel perutean. Konfigurasi ini melewati isolasi jaringan yang disediakan oleh kontainer, berpotensi mengekspos layanan yang berjalan pada kontainer langsung ke jaringan eksternal dan memungkinkan kontainer untuk memodifikasi pengaturan jaringan host. Mengikuti prinsip keamanan standar, AWS merekomendasikan untuk menjaga isolasi jaringan yang tepat untuk kontainer.
Nonaktifkan mode jaringan host
Dalam temuan eksposur, identifikasi definisi tugas dengan mode jaringan host. Buka definisi tugas di konsol Amazon ECS. Cari pengaturan NetworkMode dengan nilai host dalam definisi tugas.
Pertimbangkan opsi berikut untuk menonaktifkan mode jaringan host:
-
Mode
awsvpc
jaringan menyediakan tingkat isolasi jaringan terkuat dengan memberikan setiap tugas elastis network interface sendiri. -
Mode
bridge
jaringan menyediakan isolasi sambil memungkinkan pemetaan port untuk mengekspos port kontainer tertentu ke host.
Perbarui definisi tugas
Buat revisi baru definisi tugas Anda dengan konfigurasi mode jaringan yang diperbarui. Kemudian perbarui layanan Amazon ECS Anda untuk menggunakan revisi definisi tugas baru.
Peran IAM yang terkait dengan layanan Amazon ECS memiliki kebijakan akses administratif
Peran IAM dengan kebijakan akses administratif yang dilampirkan pada tugas Amazon ECS memberikan izin luas yang melebihi apa yang biasanya diperlukan untuk pengoperasian kontainer. Konfigurasi ini meningkatkan risiko bahwa wadah yang dikompromikan dapat digunakan untuk mengakses atau memodifikasi sumber daya di seluruh AWS lingkungan Anda. Mengikuti prinsip keamanan standar, AWS merekomendasikan penerapan akses hak istimewa paling sedikit dengan hanya memberikan izin yang diperlukan agar tugas berfungsi.
Meninjau dan mengidentifikasi kebijakan administratif
n ID Sumber Daya, identifikasi nama peran IAM. Buka dasbor IAM dan pilih peran yang diidentifikasi. Tinjau kebijakan izin yang dilampirkan pada peran IAM. Jika kebijakan tersebut adalah kebijakan AWS terkelola, cariAdministratorAccess
. Jika tidak, dalam dokumen kebijakan, cari pernyataan yang memiliki pernyataan "Effect": "Allow", "Action": "*", and "Resource": "*"
bersama.
Terapkan akses hak akses paling rendah
Ganti kebijakan administratif dengan kebijakan yang hanya memberikan izin khusus yang diperlukan agar instans berfungsi. Untuk mengidentifikasi izin yang tidak perlu, Anda dapat menggunakan IAM Access Analyzer untuk memahami cara mengubah kebijakan berdasarkan riwayat akses. Atau, Anda dapat membuat peran IAM baru untuk menghindari dampak aplikasi lain yang menggunakan peran yang ada. Dalam skenario ini, buat peran IAM baru, lalu kaitkan peran IAM baru dengan instance.
Pertimbangan konfigurasi yang aman
Jika izin administratif tingkat layanan diperlukan untuk contoh ini, pertimbangkan untuk menerapkan kontrol keamanan tambahan ini untuk mengurangi risiko:
-
MFA menambahkan lapisan keamanan tambahan dengan membutuhkan bentuk otentikasi tambahan. Ini membantu mencegah akses yang tidak sah bahkan jika kredensialnya dikompromikan.
-
Menyiapkan elemen kondisi memungkinkan Anda membatasi kapan dan bagaimana izin administratif dapat digunakan berdasarkan faktor-faktor seperti IP sumber atau usia MFA.
Perbarui definisi tugas
Buat revisi baru definisi tugas Anda yang mereferensikan peran IAM baru atau yang diperbarui. Kemudian perbarui layanan Amazon ECS Anda untuk menggunakan revisi definisi tugas baru.
Ciri kerentanan untuk layanan Amazon ECS
Berikut adalah ciri-ciri jangkauan untuk Amazon ECS dan langkah-langkah remediasi yang disarankan.
Layanan Amazon ECS memiliki wadah dengan kerentanan perangkat lunak yang dapat dieksploitasi jaringan dengan kemungkinan eksploitasi yang tinggi
-
Memahami eksposur
Temuan kerentanan Package mengidentifikasi paket perangkat lunak di AWS lingkungan Anda yang terkena Common Vulnerabilities and Exposures (). CVEs Penyerang dapat mengeksploitasi kerentanan yang belum ditambal ini untuk membahayakan kerahasiaan, integritas, atau ketersediaan data, atau untuk mengakses sistem lain. Gambar kontainer ECR dapat memiliki temuan kerentanan paket.
-
Memperbaiki eksposur
-
Perbarui versi paket
Tinjau temuan kerentanan paket untuk fungsi Lambda Anda. Perbarui versi paket seperti yang disarankan oleh Amazon Inspector. Untuk selengkapnya, lihat Melihat detail untuk temuan Amazon Inspector Anda di Panduan Pengguna Amazon Inspector. Bagian Remediation dari rincian temuan di konsol Amazon Inspector memberi tahu Anda perintah mana yang dapat Anda jalankan untuk memperbarui paket.
-
Perbarui gambar wadah dasar
Membangun kembali dan memperbarui gambar wadah dasar secara teratur untuk menjaga kontainer Anda tetap up to date. Saat membangun kembali gambar, jangan sertakan komponen yang tidak perlu untuk mengurangi permukaan serangan. Untuk petunjuk tentang membangun kembali gambar kontainer, lihat Membangun ulang gambar Anda
sesering mungkin.
-
Layanan Amazon ECS memiliki wadah dengan kerentanan perangkat lunak
Paket perangkat lunak yang diinstal pada container Amazon ECS dapat terkena Common Vulnerabilities and Exposures (). CVEs Kerentanan prioritas rendah mewakili kelemahan keamanan dengan tingkat keparahan atau eksploitasi yang lebih rendah dibandingkan dengan kerentanan prioritas tinggi. Sementara kerentanan ini menimbulkan risiko yang kurang langsung, penyerang masih dapat mengeksploitasi kerentanan yang belum ditambal ini untuk membahayakan kerahasiaan, integritas, atau ketersediaan data, atau untuk mengakses sistem lain.
Perbarui gambar kontainer yang terpengaruh
Tinjau bagian Referensi di tab Kerentanan dari sifat tersebut. Dokumentasi vendor dapat mencakup panduan remediasi khusus.
Terapkan remediasi yang sesuai dengan mengikuti pedoman umum ini:
-
Perbarui gambar kontainer Anda untuk menggunakan versi patch dari paket yang terpengaruh.
-
Perbarui dependensi yang terpengaruh dalam aplikasi Anda ke versi aman terbaru mereka.
Setelah memperbarui gambar kontainer Anda, dorong ke registri penampung Anda dan perbarui definisi tugas Amazon ECS Anda untuk menggunakan gambar baru.
Pertimbangan masa depan
Untuk lebih memperkuat postur keamanan gambar kontainer Anda, pertimbangkan untuk mengikuti praktik terbaik tugas Amazon ECS dan keamanan kontainer. Amazon Inspector dapat dikonfigurasi untuk memindai kontainer Anda CVEs secara otomatis. Amazon Inspector juga dapat diintegrasikan dengan Security Hub untuk perbaikan otomatis. Pertimbangkan untuk menerapkan jadwal patching reguler menggunakan Windows Systems Manager Maintenance untuk meminimalkan gangguan pada container Anda.