← Semua materi
TutorialCloud SecurityPemula

AWS Security Group vs NACL: apa bedanya dan kapan digunakan?

Bedakan kontrol stateful di resource dengan guardrail stateless di subnet agar rule jaringan AWS tidak saling membingungkan.

Tujuan latihan

Memahami scope, statefulness, rule type, dan urutan evaluasi Security Group serta Network ACL.

Persiapan

Pemahaman dasar VPC, subnet, dan EC2. Contoh bersifat konseptual dan tidak melakukan perubahan pada akun AWS.

Internet/VPC
Subnet NACL
Security Group

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.

1. Security Group

Security Group beroperasi pada resource/ENI dan bersifat stateful. Jika inbound connection diizinkan, return traffic untuk connection tersebut otomatis diizinkan berdasarkan state.

2. Network ACL

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.

3. Gunakan Security Group sebagai kontrol utama

AWS merekomendasikan Security Group sebagai mekanisme utama untuk mengontrol akses jaringan VPC karena stateful dan dapat mereferensikan Security Group lain.

4. Gunakan NACL sebagai guardrail tambahan

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.

5. Troubleshooting berurutan

Periksa route table, NACL, lalu Security Group sesuai jalur traffic. Untuk NACL, ingat ephemeral return ports ketika merancang rule dua arah.

Verifikasi

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.

5. Gunakan SG untuk intent workload, NACL untuk guardrail subnet

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.

6. Troubleshoot dengan arah traffic

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.

Kesalahan umum

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.

Checklist verifikasi

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.

Pelajaran

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.

Referensi resmi

AWS VPC — Infrastructure security ↗AWS VPC — Network ACLs ↗
Lihat semua materi →