Security group menyediakan kemampuan stateful firewall untuk lalu lintas yang menghadap internet maupun internal. Gunakan security group untuk mengontrol komunikasi jaringan internal, mengisolasi subnet, dan mengelola akses jaringan Lapisan 4.
Risiko keamanan
Konektivitas jaringan penuh antara semua Instance Elastic Compute Service (ECS) dalam virtual private cloud (VPC) yang sama menciptakan risiko keamanan, seperti lateral movement dan akses tidak sah. Sebagai contoh, jika sebuah Instance ECS di jaringan internal dikompromikan atau terinfeksi virus, ancaman tersebut dapat menyebar ke instance lain dalam jaringan yang sama. Selain itu, layanan di jaringan internal sering kali memiliki autentikasi dan otorisasi yang lemah, sehingga menjadi sasaran mudah untuk akses tidak sah dari dalam jaringan.
Penggunaan security group untuk mengisolasi kluster layanan yang berbeda atau memblokir akses jaringan lateral antar instance dapat secara efektif mengurangi risiko lateral movement internal dan akses tidak sah.
Praktik terbaik
Isolasi kluster layanan yang berbeda dengan security group
Bayangkan Anda memiliki 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 dari kluster database.
Asumsikan rentang alamat IP untuk kluster database adalah 10.1.0.0/24, dan rentang untuk kluster server web adalah 10.2.0.0/24. Port layanan adalah 5432, yaitu port default PostgreSQL. Tujuan keamanannya adalah memungkinkan kluster server web hanya mengakses port layanan kluster database. Semua akses lainnya—termasuk akses ke port lain atau dari kluster database ke kluster server web—harus ditolak. Konfigurasi security group yang mungkin adalah sebagai berikut:
Buat Security Group A. Tambahkan aturan masuk untuk mengizinkan lalu lintas dari sumber 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. Oleh karena itu, Anda tidak perlu menambahkan aturan pada Security Group A untuk menolak akses lainnya. Anda juga tidak perlu menambahkan aturan pada Security Group B untuk mengizinkan akses ke port layanan kluster server web.
Anda dapat menggunakan tag untuk menyambungkan beberapa Instance ECS yang memiliki tag tertentu ke security group yang memiliki tag yang sama. Misalnya, tambahkan tag cluster:PostgreSQL ke semua Instance ECS dalam kluster database. Kemudian, tambahkan tag yang sama ke Security Group A. Selanjutnya, jalankan templat OOS ACS-ECS-CorrectSecurityGroupInstancesByTags dan masukkan nilai tag sebagai parameter. Hal ini akan menyambungkan instance ke security group dalam operasi batch. Untuk informasi selengkapnya, lihat Gunakan tag untuk menemukan Instance ECS dan menambahkannya ke security group dengan tag yang sama.
Isolasi Instance ECS dalam satu security group
Pada contoh sebelumnya, instance dalam kluster server web tidak perlu saling berkomunikasi. Kluster database hanya memerlukan beberapa port terbuka untuk sinkronisasi dan manajemen. Oleh karena itu, tidak perlu mengizinkan semua komunikasi internal dalam grup tersebut. Praktik ini mencegah ancaman menyebar secara lateral dari Instance ECS yang telah dikompromikan.
Anda dapat menggunakan micro-segmentation untuk mencapai hal ini. Dengan micro-segmentation, instance dalam satu security group tidak dapat saling berkomunikasi secara default. Anda harus secara eksplisit mengizinkan komunikasi pada port tertentu.
Gunakan enterprise security group: Isolasi internal diberlakukan, dan Anda tidak dapat mengubah aturan isolasi tersebut.
Gunakan basic security group: Secara default, instance dalam basic security group dapat saling berkomunikasi. Sistem secara otomatis menambahkan aturan izin tersembunyi dengan prioritas tertinggi, dan aturan kustom hanya berlaku untuk lalu lintas di luar grup. Untuk menonaktifkan komunikasi internal, ubah kebijakan konektivitas internal pada halaman produk security group dan atur menjadi isolasi internal.

Kemudian, Anda harus secara eksplisit mengizinkan lalu lintas pada port komunikasi internal. Misalnya, untuk kluster database dalam rentang alamat 10.1.0.0/24, komunikasi internal memerlukan port 2379. Anda dapat menambahkan aturan ke Security Group A untuk mengizinkan lalu lintas masuk dari sumber 10.1.0.0/24 ke port tujuan 2379 dengan prioritas 1.
Catatan: Jika sebuah Instance ECS disambungkan ke beberapa security group, dan satu grup mengizinkan lalu lintas internal sementara grup lain mengisolasi lalu lintas tersebut, efek gabungannya adalah mengizinkan lalu lintas internal.
Perhatikan efek gabungan saat menggunakan beberapa security group
Sebuah instance dapat disambungkan ke beberapa security group. Aturan dari semua grup digabungkan dan diterapkan berdasarkan prioritas. Untuk menghindari hasil yang tidak diinginkan, tinjau aturan gabungan akhir. Anda dapat menemukan aturan tersebut pada halaman security group untuk instance tertentu.
Kepatuhan
Periksa aturan akses jaringan yang terlalu permisif
Anda dapat menggunakan VPC flow logs untuk menganalisis pola komunikasi dalam kluster Anda. Hal ini membantu Anda mengidentifikasi aturan security group yang terlalu permisif dan memperketat izin security group Anda.