Kontrol akses jaringan internal antar Instance ECS menggunakan aturan security group dan mikro-segmentasi.
Risiko keamanan
Secara default, semua Instance ECS dalam VPC yang sama memiliki konektivitas jaringan penuh. Kondisi ini menimbulkan risiko keamanan seperti lateral movement dan akses tidak sah. Sebagai contoh, instance yang telah dikompromikan dapat menyebarkan ancaman ke instance lain dalam jaringan yang sama. Layanan internal sering kali memiliki autentikasi dan otorisasi yang lemah, sehingga menjadi sasaran empuk.
Security group dapat mengisolasi kluster layanan dan memblokir akses lateral antar instance guna mengurangi risiko tersebut.
Praktik terbaik
Isolasi kluster layanan dengan security group
Pertimbangkan dua kluster Instance ECS: kluster database dan kluster server web. Instance dalam kluster database perlu saling berkomunikasi, sedangkan instance dalam kluster server web tidak. Tujuannya adalah memungkinkan kluster server web hanya mengakses port layanan pada kluster database.
Asumsikan kluster database menggunakan 10.1.0.0/24 dan kluster server web menggunakan 10.2.0.0/24. Port layanan adalah 5432 (default PostgreSQL). Tujuannya adalah hanya mengizinkan kluster server web mengakses port 5432 pada kluster database serta menolak semua akses lainnya. Konfigurasi yang direkomendasikan:
-
Buat Security Group A. Tambahkan aturan inbound untuk mengizinkan lalu lintas dari 10.2.0.0/24 ke port tujuan 5432 dengan prioritas 1. Sambungkan instance kluster database ke Security Group A.
-
Buat Security Group B. Sambungkan instance kluster server web ke Security Group B.
Catatan: Secara default, security group menolak semua lalu lintas masuk yang tidak secara eksplisit diizinkan dan mengizinkan semua lalu lintas keluar yang tidak secara eksplisit ditolak. Tidak diperlukan aturan deny tambahan untuk Security Group A, dan tidak diperlukan aturan allow untuk Security Group B.
Anda dapat menggunakan tag untuk menyambungkan Instance ECS secara batch ke security group. Misalnya, tambahkan tag cluster:PostgreSQL ke semua instance kluster database dan ke Security Group A, lalu jalankan templat OOS ACS-ECS-CorrectSecurityGroupInstancesByTags dengan nilai tag sebagai parameter. Lihat Gunakan tag untuk menemukan Instance ECS dan menambahkannya ke security group dengan tag yang sama.
Isolasi instance dalam satu security group
Pada contoh sebelumnya, instance server web tidak perlu saling berkomunikasi, dan kluster database hanya memerlukan beberapa port untuk sinkronisasi dan manajemen. Mengizinkan semua komunikasi internal tidak diperlukan dan meningkatkan risiko lateral movement.
Mikro-segmentasi memblokir semua komunikasi antar instance dalam security group secara default. Anda harus secara eksplisit mengizinkan port tertentu.
-
Enterprise security group: Isolasi internal diberlakukan dan tidak dapat diubah.
-
Basic security group: Secara default, instance dapat saling berkomunikasi. Sistem menambahkan aturan allow tersembunyi dengan prioritas tertinggi, dan aturan kustom hanya berlaku untuk lalu lintas eksternal. Untuk menonaktifkan komunikasi internal, ubah kebijakan konektivitas internal menjadi isolasi internal pada halaman produk security group.
Kemudian, izinkan secara eksplisit lalu lintas pada port internal yang diperlukan. Misalnya, jika kluster database (10.1.0.0/24) memerlukan port 2379 untuk komunikasi internal, tambahkan aturan ke Security Group A untuk mengizinkan lalu lintas masuk dari 10.1.0.0/24 ke port tujuan 2379 dengan prioritas 1.
Catatan: Jika sebuah instance termasuk dalam beberapa security group di mana salah satunya mengizinkan lalu lintas internal dan yang lain memberlakukan isolasi, efek gabungannya adalah mengizinkan lalu lintas internal.
Tinjau efek gabungan dari multiple security group
Sebuah instance dapat termasuk dalam beberapa security group. Aturan dari semua grup digabungkan dan diterapkan berdasarkan prioritas. Untuk menghindari hasil yang tidak terduga, tinjau aturan gabungan akhir pada halaman security group untuk instance tersebut.
Pada halaman detail instance, klik tab Security Groups, lalu pilih subtab All Inbound Rules on Intranet. Di sini, Anda dapat melihat daftar aturan terkonsolidasi dari semua security group yang terkait. Daftar tersebut mencakup kolom seperti Priority, Action, Protocol, Port Range, dan Source.
Kepatuhan
Periksa aturan yang terlalu permisif
Analisis pola komunikasi dengan VPC flow logs untuk mengidentifikasi aturan security group yang terlalu permisif dan perketat izin tersebut.