Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik keamanan jaringan untuk Amazon ECS
Keamanan jaringan adalah topik luas yang mencakup beberapa subtopik. Ini termasuk enkripsi dalam transit, segmentasi jaringan dan isolasi, firewall, perutean lalu lintas, dan observabilitas.
Enkripsi saat bergerak
Mengenkripsi lalu lintas jaringan mencegah pengguna yang tidak sah mencegat dan membaca data ketika data itu ditransmisikan melalui jaringan. Dengan Amazon ECS, enkripsi jaringan dapat diimplementasikan dengan salah satu cara berikut.
-
Menggunakan instance Nitro:
Secara default, lalu lintas secara otomatis dienkripsi antara jenis instance Nitro berikut: C5n, G4, I3en, M5dn, M5n, P3dn, R5dn, dan R5n. Lalu lintas tidak dienkripsi saat dirutekan melalui gateway transit, penyeimbang beban, atau perantara serupa.
-
Menggunakan Server Name Indication (SNI) dengan Application Load Balancer:
Application Load Balancer (ALB) dan Network Load Balancer (NLB) mendukung Server Name Indication (SNI). Dengan menggunakan SNI, Anda dapat menempatkan beberapa aplikasi aman di belakang satu pendengar. Untuk ini, masing-masing memiliki sertifikat TLS-nya sendiri. Sebaiknya Anda menyediakan sertifikat untuk penyeimbang beban menggunakan AWS Certificate Manager (ACM) dan kemudian menambahkannya ke daftar sertifikat pendengar. Penye AWS imbang beban menggunakan algoritma pemilihan sertifikat cerdas dengan SNI. Jika nama host yang disediakan oleh klien cocok dengan satu sertifikat dalam daftar sertifikat, penyeimbang beban memilih sertifikat itu. Jika nama host yang disediakan oleh klien cocok dengan beberapa sertifikat dalam daftar, penyeimbang beban memilih sertifikat yang dapat didukung klien. Contohnya termasuk sertifikat yang ditandatangani sendiri atau sertifikat yang dihasilkan melalui ACM.
-
End-to-end enkripsi dengan sertifikat TLS:
Ini melibatkan penerapan sertifikat TLS dengan tugas. Ini bisa berupa sertifikat yang ditandatangani sendiri atau sertifikat dari otoritas sertifikat tepercaya. Anda dapat memperoleh sertifikat dengan merujuk rahasia untuk sertifikat. Jika tidak, Anda dapat memilih untuk menjalankan wadah yang mengeluarkan Permintaan Penandatanganan Sertifikat (CSR) ke ACM dan kemudian memasang rahasia yang dihasilkan ke volume bersama.
Jaringan tugas
Rekomendasi berikut ini mempertimbangkan cara kerja Amazon ECS. Amazon ECS tidak menggunakan jaringan overlay. Sebaliknya, tugas dikonfigurasi untuk beroperasi dalam mode jaringan yang berbeda. Misalnya, tugas yang dikonfigurasi untuk menggunakan bridge mode memperoleh alamat IP yang tidak dapat dirutekan dari jaringan Docker yang berjalan di setiap host. Tugas yang dikonfigurasi untuk menggunakan mode awsvpc jaringan memperoleh alamat IP dari subnet host. Tugas yang dikonfigurasi dengan host jaringan menggunakan antarmuka jaringan host. awsvpcadalah mode jaringan yang disukai. Ini karena ini adalah satu-satunya mode yang dapat Anda gunakan untuk menetapkan grup keamanan ke tugas. Ini juga satu-satunya mode yang tersedia untuk AWS Fargate tugas di Amazon ECS.
Grup keamanan untuk tugas
Kami menyarankan Anda mengonfigurasi tugas Anda untuk menggunakan mode awsvpc jaringan. Setelah Anda mengonfigurasi tugas untuk menggunakan mode ini, agen Amazon ECS secara otomatis menyediakan dan melampirkan Elastic Network Interface (ENI) ke tugas tersebut. Ketika ENI disediakan, tugas didaftarkan dalam grup AWS keamanan. Grup keamanan bertindak sebagai firewall virtual yang dapat Anda gunakan untuk mengontrol lalu lintas masuk dan keluar.
Jika Anda menggunakan firewall khusus dengan tugas atau layanan, tambahkan aturan keluar untuk mengizinkan lalu lintas untuk titik akhir manajemen agen Amazon ECS (” “), titik akhir telemetri (” ecs-a-*. region.amazonaws.com.rproxy.goskope.comecs-t-*. “), dan titik akhir manajemen Utusan Layanan Connect (” “). region.amazonaws.com.rproxy.goskope.comecs-sc.region.api.aws
AWS PrivateLink dan Amazon ECS
AWS PrivateLink adalah teknologi jaringan yang memungkinkan Anda membuat titik akhir pribadi untuk berbagai AWS layanan, termasuk Amazon ECS. Titik akhir diperlukan di lingkungan kotak pasir di mana tidak ada Internet Gateway (IGW) yang terpasang ke Amazon VPC dan tidak ada rute alternatif ke Internet. Menggunakan AWS PrivateLink memastikan bahwa panggilan ke layanan Amazon ECS tetap berada dalam Amazon VPC dan tidak melintasi internet. Untuk petunjuk tentang cara membuat AWS PrivateLink titik akhir untuk Amazon ECS dan layanan terkait lainnya, lihat antarmuka Amazon ECS titik akhir Amazon VPC.
penting
AWS Fargate tugas tidak memerlukan AWS PrivateLink titik akhir untuk Amazon ECS.
Amazon ECR dan Amazon ECS keduanya mendukung kebijakan titik akhir. Kebijakan ini memungkinkan Anda untuk menyempurnakan akses ke API layanan. Misalnya, Anda dapat membuat kebijakan titik akhir untuk Amazon ECR yang hanya memungkinkan gambar didorong ke pendaftar di akun tertentu AWS . Kebijakan seperti ini dapat digunakan untuk mencegah data dieksfiltrasi melalui gambar kontainer sambil tetap memungkinkan pengguna untuk mendorong ke registri Amazon ECR resmi. Untuk informasi selengkapnya, lihat Menggunakan kebijakan titik akhir VPC.
Kebijakan berikut memungkinkan semua kepala sekolah AWS di akun Anda untuk melakukan semua tindakan hanya terhadap repositori Amazon ECR Anda:
{ "Statement": [ { "Sid": "LimitECRAccess", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "arn:aws:ecr:region:account_id:repository/*" }, ] }
Anda dapat meningkatkan ini lebih lanjut dengan menetapkan kondisi yang menggunakan PrincipalOrgID properti baru. Ini mencegah mendorong dan menarik gambar oleh prinsipal IAM yang bukan bagian dari Anda AWS Organizations. Untuk informasi selengkapnya, lihat aws: PrincipalOrg ID.
Kami merekomendasikan menerapkan kebijakan yang sama untuk titik akhir com.amazonaws. dan region.ecr.dkrcom.amazonaws. titik akhir.region.ecr.api
Pengaturan agen kontainer
File konfigurasi agen kontainer Amazon ECS menyertakan beberapa variabel lingkungan yang berhubungan dengan keamanan jaringan. ECS_AWSVPC_BLOCK_IMDSdan ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST digunakan untuk memblokir akses tugas ke metadata Amazon EC2. HTTP_PROXYdigunakan untuk mengkonfigurasi agen untuk merutekan melalui proxy HTTP untuk terhubung ke internet. Untuk petunjuk tentang mengkonfigurasi agen dan runtime Docker untuk merutekan melalui proxy, lihat Konfigur asi Proxy HTTP.
penting
Pengaturan ini tidak tersedia saat Anda menggunakan AWS Fargate.
Rekomendasi keamanan jaringan
Kami menyarankan Anda melakukan hal berikut saat menyiapkan Amazon VPC, penyeimbang beban, dan jaringan.
Gunakan enkripsi jaringan jika berlaku dengan Amazon ECS
Anda harus menggunakan enkripsi jaringan jika memungkinkan. Program kepatuhan tertentu, seperti PCI DSS, mengharuskan Anda mengenkripsi data dalam perjalanan jika data berisi data pemegang kartu. Jika beban kerja Anda memiliki persyaratan serupa, konfigurasikan enkripsi jaringan.
Browser modern memperingatkan pengguna saat menghubungkan ke situs yang tidak aman. Jika layanan Anda didahului oleh penyeimbang beban yang menghadap ke publik, gunakan TLS/SSL untuk mengenkripsi lalu lintas dari browser klien ke penyeimbang beban dan mengenkripsi ulang ke backend jika diperlukan.
Gunakan mode jaringan awsvpc dan grup keamanan untuk mengontrol lalu lintas antara tugas dan sumber daya lain di Amazon ECS
Anda harus menggunakan mode awsvpc jaringan dan grup keamanan ketika Anda perlu mengontrol lalu lintas antara tugas dan antara tugas dan sumber daya jaringan lainnya. Jika layanan Anda berada di belakang ALB, gunakan grup keamanan untuk hanya mengizinkan lalu lintas masuk dari sumber daya jaringan lain menggunakan grup keamanan yang sama dengan ALB Anda. Jika aplikasi Anda berada di belakang NLB, konfigurasikan grup keamanan tugas untuk hanya mengizinkan lalu lintas masuk dari rentang Amazon VPC CIDR dan alamat IP statis yang ditetapkan ke NLB.
Grup keamanan juga harus digunakan untuk mengontrol lalu lintas antara tugas dan sumber daya lain dalam Amazon VPC seperti database Amazon RDS.
Buat cluster Amazon ECS di Amazon VPC terpisah saat lalu lintas jaringan perlu diisolasi secara ketat
Anda harus membuat cluster di Amazon VPC terpisah ketika lalu lintas jaringan perlu diisolasi secara ketat. Hindari menjalankan beban kerja yang memiliki persyaratan keamanan ketat pada cluster dengan beban kerja yang tidak harus mematuhi persyaratan tersebut. Ketika isolasi jaringan yang ketat wajib, buat cluster di Amazon VPC terpisah dan secara selektif ekspos layanan ke VPC Amazon lainnya menggunakan titik akhir Amazon VPC. Untuk informasi selengkapnya, lihat titik akhir VPC.
Konfigurasi AWS PrivateLink titik akhir saat dijamin untuk Amazon ECS
Anda harus mengonfigurasi AWS PrivateLink titik akhir saat dijamin. Jika kebijakan keamanan Anda mencegah Anda melampirkan Internet Gateway (IGW) ke Amazon VPC Anda, konfigurasikan AWS PrivateLink titik akhir untuk Amazon ECS dan layanan lain seperti Amazon ECR,, AWS Secrets Manager dan Amazon. CloudWatch
Gunakan Amazon VPC Flow Log untuk menganalisis lalu lintas ke dan dari tugas yang berjalan lama di Amazon ECS
Anda harus menggunakan Amazon VPC Flow Logs untuk menganalisis lalu lintas ke dan dari tugas yang berjalan lama. Tugas yang menggunakan mode awsvpc jaringan mendapatkan ENI mereka sendiri. Dengan melakukan ini, Anda dapat memantau lalu lintas yang menuju ke dan dari tugas individual menggunakan Amazon VPC Flow Logs. Pembaruan terbaru untuk Amazon VPC Flow Logs (v3), memperkaya log dengan metadata lalu lintas termasuk ID vpc, ID subnet, dan ID instance. Metadata ini dapat digunakan untuk membantu mempersempit penyelidikan. Untuk informasi selengkapnya, lihat Log Aliran Amazon VPC.
catatan
Karena sifat kontainer sementara, log aliran mungkin tidak selalu menjadi cara yang efektif untuk menganalisis pola lalu lintas antara wadah atau kontainer yang berbeda dan sumber daya jaringan lainnya.