Masalah
Traffic ke EC2 gagal dan tim menambah rule di banyak tempat sekaligus. Tanpa memahami lapisan kontrol, perubahan dapat menjadi terlalu permisif dan akar masalah tetap tidak jelas.
Bedakan kontrol stateful di resource dengan guardrail stateless di subnet agar rule jaringan AWS tidak saling membingungkan.
Memahami scope, statefulness, rule type, dan urutan evaluasi Security Group serta Network ACL.
PersiapanPemahaman dasar VPC, subnet, dan EC2. Contoh bersifat konseptual dan tidak melakukan perubahan pada akun AWS.
Traffic ke EC2 gagal dan tim menambah rule di banyak tempat sekaligus. Tanpa memahami lapisan kontrol, perubahan dapat menjadi terlalu permisif dan akar masalah tetap tidak jelas.
Security Group beroperasi pada resource/ENI dan bersifat stateful. Jika inbound connection diizinkan, return traffic untuk connection tersebut otomatis diizinkan berdasarkan state.
Network ACL berlaku pada subnet dan bersifat stateless. Rule dapat ALLOW atau DENY, dievaluasi berdasarkan nomor rule dari kecil ke besar, dan return traffic perlu memenuhi rule arah sebaliknya.
AWS merekomendasikan Security Group sebagai mekanisme utama untuk mengontrol akses jaringan VPC karena stateful dan dapat mereferensikan Security Group lain.
NACL berguna untuk kontrol coarse-grained di tingkat subnet, misalnya defense-in-depth atau deny terhadap subset traffic tertentu. Jangan menggandakan setiap Security Group rule ke NACL tanpa kebutuhan.
Periksa route table, NACL, lalu Security Group sesuai jalur traffic. Untuk NACL, ingat ephemeral return ports ketika merancang rule dua arah.
Gunakan VPC Flow Logs dan konektivitas aplikasi untuk memvalidasi perubahan. Hindari membuka 0.0.0.0/0 ke port sensitif hanya untuk membuktikan bahwa firewall adalah penyebab.
Security Group biasanya cocok untuk policy yang mengikuti resource/workload, sedangkan NACL cocok sebagai kontrol stateless pada boundary subnet. Jangan membuat kedua layer dengan rule identik tanpa alasan karena troubleshooting menjadi lebih sulit dan manfaat tambahannya kecil.
Saat koneksi gagal, identifikasi source, destination, protocol, dan port, lalu periksa outbound SG source, inbound SG destination, NACL keluar subnet source, dan NACL masuk subnet destination. Karena NACL stateless, return traffic juga harus diizinkan sesuai port yang relevan.
Jangan mengira Security Group memiliki explicit deny; SG bekerja dengan allow rules. Jangan lupa ephemeral ports saat menggunakan NACL yang ketat. Jangan menganggap rule NACL dievaluasi seperti SG; nomor rule dan first-match behavior penting.
Dokumentasikan source/destination, subnet, route table, SG association, NACL association, protocol/port, dan return path. Gunakan VPC Flow Logs bila tersedia untuk menambah bukti sebelum mengubah rule keamanan.
Security Group dan NACL bukan dua versi dari fitur yang sama. Scope dan statefulness berbeda; desain yang sederhana biasanya lebih mudah diaudit dan di-troubleshoot.