TDCTF Academy Logo TDCTF ACADEMY

ACL (Access Control List)

Pengertian

Access Control List (ACL) adalah serangkaian aturan yang digunakan untuk mengontrol lalu lintas jaringan berdasarkan berbagai kriteria seperti alamat IP sumber, alamat IP tujuan, port, dan protokol. ACL umumnya diimplementasikan pada router, switch, dan firewall untuk menyaring paket data yang masuk atau keluar dari suatu interface.

Jenis-Jenis ACL

1. Standard ACL

Standard ACL hanya memfilter berdasarkan alamat IP sumber. Rentang nomor untuk standard ACL adalah 1-99 dan 1300-1999.

access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 deny host 10.0.0.5
access-list 10 permit any

2. Extended ACL

Extended ACL memfilter berdasarkan kombinasi: alamat sumber, alamat tujuan, protokol, port sumber, dan port tujuan. Rentang nomor: 100-199 dan 2000-2699.

access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 100 deny tcp any host 10.0.0.1 eq 22
access-list 100 permit ip any any

Extended ACL lebih presisi tetapi juga lebih kompleks dan membutuhkan lebih banyak resource CPU.

Numbered vs Named ACL

Numbered ACL

Menggunakan nomor untuk mengidentifikasi ACL. Setiap jenis ACL memiliki rentang nomor tertentu.

access-list 10 permit 192.168.1.0 0.0.0.255

Kekurangan: Tidak bisa menghapus aturan tertentu - harus menghapus seluruh ACL dan membuat ulang.

Named ACL

Menggunakan nama deskriptif. Mendukung pengeditan aturan individual dengan sequence number.

ip access-list extended BLOCK_SSH
permit tcp 192.168.1.0 0.0.0.255 any eq 22
deny tcp any any eq 22

Keunggulan: Lebih mudah dikelola, aturan bisa ditambahkan atau dihapus tanpa menghapus seluruh ACL.

Wildcard Mask

Wildcard mask adalah kebalikan dari subnet mask. Bit 0 berarti harus cocok, bit 1 berarti diabaikan (don't care).

Subnet Wildcard Mask
255.255.255.0 0.0.0.255
255.255.0.0 0.0.255.255
255.255.255.255 0.0.0.0 (host)
0.0.0.0 255.255.255.255 (any)

Contoh Wildcard Mask

# Semua host di subnet 192.168.1.0/24
# Wildcard: 0.0.0.255
access-list 10 permit 192.168.1.0 0.0.0.255

# Satu host spesifik (10.0.0.1)
# Wildcard: 0.0.0.0
access-list 10 permit host 10.0.0.1

# Semua jaringan 172.16.0.0/12
# Wildcard: 0.15.255.255
access-list 10 permit 172.16.0.0 0.15.255.255

Direction (In/Out)

ACL diterapkan pada suatu interface dengan arah tertentu:

  • Inbound (IN): Paket difilter sebelum masuk ke router melalui interface tersebut. Paket tidak melewati routing process jika ditolak.
  • Outbound (OUT): Paket difilter setelah melewati routing process dan sebelum dikirim keluar melalui interface.

Praktik Terbaik

  • Gunakan extended ACL sedekat mungkin dengan sumber lalu lintas.
  • Gunakan standard ACL sedekat mungkin dengan tujuan lalu lintas.
  • Untuk blokir akses keluar, gunakan arah OUT pada interface internal.
  • Untuk blokir akses masuk, gunakan arah IN pada interface eksternal.

Placement Best Practices

  1. Letakkan ACL di tempat yang tepat - Extended ACL di dekat sumber, Standard ACL di dekat tujuan.
  2. Aturan paling spesifik di atas - Urutkan aturan dari yang paling spesifik ke yang paling umum.
  3. Batasi jumlah aturan - Setiap aturan tambahan meningkatkan latency pemrosesan.
  4. Gunakan named ACL untuk kemudahan maintenance - Memungkinkan pengeditan tanpa menghapus seluruh ACL.
  5. Terapkan pada interface yang tepat - Pastikan arah (in/out) sesuai dengan kebutuhan.
  6. Dokumentasikan setiap aturan - Tambahkan remark untuk menjelaskan fungsi setiap aturan.

Implicit Deny

Setiap ACL memiliki implicit deny di akhir aturan - jika tidak ada aturan yang cocok, paket akan ditolak. Ini berarti:

  • ACL tanpa aturan permit any akan memblokir semua lalu lintas yang tidak secara eksplisit diizinkan.
  • Pastikan untuk menambahkan aturan permit yang diperlukan sebelum implicit deny bekerja.
access-list 10 permit 192.168.1.0 0.0.0.255
! implicitly deny all (tersirat, tidak perlu ditulis)

Sequence Numbers

Pada named ACL, setiap aturan memiliki sequence number yang menentukan urutan evaluasi.

ip access-list extended WEB_ACCESS
10 permit tcp 192.168.1.0 0.0.0.255 any eq 80
20 permit tcp 192.168.1.0 0.0.0.255 any eq 443
30 deny ip any any

Keuntungan sequence number:

  • Menambahkan aturan di antara aturan yang ada: 5 permit tcp 10.0.0.0 0.0.0.255 any eq 8080
  • Menghapus aturan tertentu: no 20
  • Memindahkan urutan aturan tanpa menghapus seluruh ACL.

Gunakan kelipatan 5 atau 10 (10, 20, 30, dst.) untuk menyisakan ruang penambahan aturan di masa depan.

Contoh Implementasi Cisco IOS

! Membuat named extended ACL
ip access-list extended SERVER_ACCESS
remark Allow HTTP ke web server
permit tcp 192.168.1.0 0.0.0.255 host 10.0.0.10 eq 80
remark Allow HTTPS
permit tcp 192.168.1.0 0.0.0.255 host 10.0.0.10 eq 443
remark Block SSH dari luar
deny tcp any host 10.0.0.10 eq 22
remark Allow ICMP untuk monitoring
permit icmp any host 10.0.0.10

! Terapkan ke interface
interface GigabitEthernet0/1
ip access-group SERVER_ACCESS in

! Verifikasi ACL
show access-lists
show ip interface GigabitEthernet0/1
PADA HALAMAN INI