Grup keamanan menyediakan kemampuan firewall stateful baik untuk lalu lintas yang menghadap internet maupun internal. Gunakan mereka untuk mengontrol komunikasi jaringan internal, mengisolasi subnet, dan mengelola akses jaringan Lapisan 4.
Risiko keamanan
Konektivitas jaringan penuh antara semua Instance ECS (Elastic Compute Service) dalam virtual private cloud (VPC) yang sama menciptakan risiko keamanan, seperti pergerakan lateral dan akses tidak sah. Sebagai contoh, jika sebuah Instance ECS di jaringan internal terganggu atau terinfeksi virus, ancaman tersebut dapat menyebar ke instance lain di jaringan yang sama. Selain itu, layanan pada jaringan internal sering kali memiliki otentikasi dan otorisasi yang lemah, yang membuat mereka menjadi target mudah untuk akses tidak sah dari dalam jaringan.
Menggunakan grup keamanan untuk mengisolasi kluster layanan yang berbeda atau memblokir akses jaringan lateral antar instance dapat secara efektif mengurangi risiko pergerakan lateral internal dan akses tidak sah.
Praktik terbaik
Isolasi kluster layanan yang berbeda dengan grup keamanan
Bayangkan Anda memiliki dua kluster Instance ECS: kluster database dan kluster server web. Instance dalam kluster database perlu berkomunikasi satu sama lain, tetapi instance dalam kluster server web tidak. Tujuannya adalah untuk mengizinkan kluster server web hanya mengakses port layanan 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, yang merupakan default untuk PostgreSQL. Tujuan keamanan adalah untuk mengizinkan 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 grup keamanan yang mungkin adalah sebagai berikut:
Buat Grup Keamanan 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 Grup Keamanan A.
Buat Grup Keamanan B. Sambungkan instance kluster server web ke Grup Keamanan B.
Catatan: Secara default, grup keamanan menolak semua lalu lintas masuk yang tidak diizinkan secara eksplisit dan mengizinkan semua lalu lintas keluar yang tidak ditolak secara eksplisit. Oleh karena itu, Anda tidak perlu menambahkan aturan ke Grup Keamanan A untuk menolak akses lainnya. Anda juga tidak perlu menambahkan aturan ke Grup Keamanan B untuk mengizinkan akses ke port layanan kluster server web.
Anda dapat menggunakan tag untuk menyambungkan beberapa Instance ECS dengan tag tertentu ke grup keamanan yang memiliki tag yang sama. Sebagai contoh, Anda dapat menambahkan tag cluster:PostgreSQL ke semua Instance ECS di kluster database. Kemudian, tambahkan tag yang sama ke Grup Keamanan A. Selanjutnya, jalankan ACS-ECS-CorrectSecurityGroupInstancesByTags Templat OOS dan masukkan nilai tag sebagai parameter. Ini akan menyambungkan instance ke grup keamanan dalam operasi batch. Untuk informasi lebih lanjut, lihat Gunakan tag untuk menemukan Instance ECS dan menambahkannya ke grup keamanan dengan tag yang sama.
Isolasi Instance ECS dalam satu grup keamanan
Dalam contoh sebelumnya, instance dalam kluster server web tidak perlu berkomunikasi satu sama lain. Kluster database hanya memerlukan beberapa port dibuka untuk sinkronisasi dan manajemen. Oleh karena itu, tidak perlu mengizinkan semua komunikasi internal dalam grup. Praktik ini mencegah ancaman menyebar secara lateral dari Instance ECS yang terganggu.
Anda dapat menggunakan mikro-segmentasi untuk mencapai hal ini. Dengan mikro-segmentasi, instance dalam grup keamanan tidak dapat berkomunikasi satu sama lain secara default. Anda harus secara eksplisit mengizinkan komunikasi pada port tertentu.
Anda dapat menggunakan grup keamanan perusahaan. Grup keamanan perusahaan menerapkan isolasi internal wajib. Aturan isolasi tidak dapat dimodifikasi.
Anda juga dapat menggunakan grup keamanan dasar. Secara default, instance dalam grup keamanan dasar dapat berkomunikasi satu sama lain. Hal ini karena sistem secara otomatis menambahkan aturan tersembunyi dengan prioritas tinggi untuk mengizinkan lalu lintas internal. Aturan kustom hanya berlaku untuk lalu lintas dari luar grup. Anda harus secara eksplisit menolak komunikasi internal. Pada halaman detail grup keamanan, ubah kebijakan akses internal menjadi Isolasi Internal, seperti yang ditunjukkan pada gambar berikut.
Kemudian, Anda harus secara eksplisit mengizinkan lalu lintas pada port komunikasi internal. Sebagai contoh, untuk kluster database dalam rentang alamat 10.1.0.0/24, komunikasi internal memerlukan port 2379. Anda dapat menambahkan aturan ke Grup Keamanan 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 grup keamanan, dan satu grup mengizinkan lalu lintas internal sedangkan yang lain mengisolasi, efek gabungan adalah untuk mengizinkan lalu lintas internal.
Catat efek gabungan saat menggunakan beberapa grup keamanan
Sebuah instance dapat disambungkan ke beberapa grup keamanan. Aturan dari semua grup digabungkan dan diterapkan berdasarkan prioritas. Untuk menghindari hasil yang tidak terduga, tinjau aturan gabungan akhir. Anda dapat menemukan aturan-aturan ini di halaman grup keamanan untuk instance spesifik tersebut.
Kemampuan kepatuhan
Periksa aturan akses jaringan yang terlalu permisif
Anda dapat menggunakan Log Aliran VPC untuk menganalisis pola komunikasi dalam kluster Anda. Ini membantu Anda mengidentifikasi aturan grup keamanan yang terlalu permisif dan memperketat izin grup keamanan Anda.