Jenis Jenis Firewall

1. Pengertian Firewall dan Fungsinya

Firewall adalah perangkat kontrol akses jaringan yang dirancang untuk menolak semua lalu lintas kecuali yang secara eksplisit diizinkan. Berbeda dengan router yang dirancang untuk merutekan traffic, firewall berfokus pada aspek keamanan jaringan.

Karakteristik Utama Firewall:

  • Network Chokepoint: Firewall bertindak sebagai titik masuk terkontrol tunggal yang menyalurkan traffic untuk keamanan yang lebih baik
  • Multiple Interfaces: Memiliki beberapa interface, satu untuk setiap jaringan yang terhubung
  • Policy-Based: Policy rules menentukan bagaimana traffic dari satu jaringan ditransportasikan ke jaringan lain
  • Address Hiding: Firewall menyembunyikan alamat sistem yang berada di belakang application layer firewall
💡 Penting: Jika sebuah rule tidak secara spesifik mengizinkan aliran traffic, firewall akan menolaknya. Ini adalah prinsip dasar dari default deny policy.

Firewall Dapat Mengizinkan/Menolak Traffic Berdasarkan:

  1. Service: Jenis layanan yang diminta (HTTP, FTP, SSH, dll)
  2. IP Address: Alamat sumber dan tujuan paket
  3. User ID: Identitas pengguna yang mengakses

2. Keamanan di Setiap Layer OSI Model

Ketika kita memandang jaringan sebagai struktur tujuh layer dalam model ISO-OSI, ancaman keamanan siber dapat terjadi di setiap layer. Kita dapat menganggap layer-layer ini sebagai "mata rantai" dalam keamanan jaringan.

Layer OSI Nama Fungsi Keamanan
Layer 7 Application User interface, titik masuk utama ancaman
Layer 6 Presentation Enkripsi dan dekripsi data
Layer 5 Session Manajemen sesi komunikasi
Layer 4 Transport Stateful inspection, port filtering
Layer 3 Network IP filtering, routing security
Layer 2 Data Link MAC address filtering
Layer 1 Physical Keamanan fisik perangkat

Kerentanan Terbesar: User Layer

Ancaman keamanan siber ada di semua layer model OSI-ISO dimulai dari Layer 7 (Application Layer) karena di situlah pengguna mulai berinteraksi dengan jaringan. Untuk membuat rencana keamanan siber yang paling komprehensif, kita harus benar-benar memulai SEBELUM Application Layer dan mengatasi mungkin kerentanan terbesar di seluruh jaringan – pengguna itu sendiri.

3. Security Policy dan Firewall Rules

Apa itu Security Policy?

Security policy mendefinisikan seperangkat rules yang berisi kondisi pencocokan spesifik dan tindakan. Setelah menerima paket, firewall mencocokkan atribut paket dengan kondisi pencocokan dari security policy.

Proses Security Policy:

  1. Firewall menerima paket
  2. Mencocokkan atribut paket dengan matching conditions
  3. Jika semua kondisi terpenuhi, paket berhasil cocok dengan security policy
  4. Firewall memproses paket dan traffic bidirectional berikutnya sesuai action yang didefinisikan

Dasar-Dasar Desain Firewall Policy

1. Identifikasi Tujuan Keamanan Anda

Tentukan objektif keamanan yang selaras dengan tujuan organisasi.

2. Definisikan Arsitektur Firewall

Pilih jenis firewall yang sesuai dengan kebutuhan (packet filtering, stateful, atau application layer).

3. Buat Firewall Rules

Tentukan traffic mana yang diizinkan atau diblokir berdasarkan kriteria seperti:

  • Source dan destination IP addresses
  • Ports
  • Protocols
  • Application types

4. Monitor Firewall Anda

Lakukan:

  • Review logs dan alerts secara berkala
  • Analisis network traffic
  • Testing firewall untuk vulnerabilities

4. Tiga Jenis Utama Firewall

Berdasarkan cara kerja dan layer OSI yang diproteksi, firewall dapat dikategorikan menjadi tiga jenis utama:

Tiga Jenis Firewall:

  1. Packet Filtering Firewalls - Bekerja di Layer 3 dan 4
  2. Stateful Firewalls - Bekerja di Layer 4 dengan state tracking
  3. Application Layer Firewalls - Bekerja di Layer 7 dengan proxy

5. Packet Filtering Firewall

Packet Filtering Firewall adalah jenis firewall paling dasar yang memeriksa setiap paket data yang melewati jaringan dan memutuskan untuk menerima atau menolak berdasarkan rule yang telah ditentukan.

Cara Kerja Packet Filtering:

Policy rules diterapkan melalui penggunaan packet inspection filters. Filter memeriksa paket dan menentukan apakah traffic diizinkan berdasarkan policy rules.

Port-Based Filtering

Baik TCP maupun UDP menggunakan port untuk melacak sesi komunikasi. Port tertentu disisihkan sebagai port khusus untuk menghubungi server yang menjalankan layanan tertentu:

Service Port Protocol
HTTP 80 TCP
HTTPS 443 TCP
FTP 21 TCP
Telnet 23 TCP
DNS 53 TCP/UDP
SMTP 25 TCP
POP3 110 TCP
SSH 22 TCP

Contoh Penggunaan:

  • Memblokir Telnet: Blokir semua traffic yang ditujukan ke TCP port 23
  • Mengizinkan HTTP: Izinkan semua HTTP traffic yang datang ke port 80
  • Filter ICMP: Izinkan atau tolak pesan ICMP tertentu ke jaringan internal

6. Stateful Firewall

Stateful Firewall adalah evolusi dari packet filtering yang tidak hanya memeriksa paket individual tetapi juga melacak state (kondisi) dari koneksi jaringan.

Konsep State dalam Firewall

State adalah kondisi dari sesi komunikasi tertentu. Perangkat yang melacak state biasanya menyimpan informasi sebagai tabel yang disebut state table.

Cara Kerja Stateful Firewall:

  1. Inspeksi Paket Awal: Stateful firewall memeriksa informasi paket/segmen di Layer 4 (transport), seperti paket yang menginisialisasi koneksi
  2. State Table Entry: Jika paket yang diperiksa cocok dengan firewall rule yang mengizinkannya, paket dilewatkan dan entry ditambahkan ke state table
  3. Fast Path Processing: Dari titik itu, karena paket dalam sesi komunikasi tersebut cocok dengan entry state table yang ada, mereka diizinkan akses tanpa perlu inspeksi application layer lebih lanjut
  4. Verification: Paket hanya perlu memverifikasi informasi Layer 3 dan 4 mereka (alamat IP dan nomor port TCP/UDP) terhadap informasi yang disimpan di state table

Informasi dalam State Table:

Setiap entry dalam state table menyimpan informasi yang unik mengidentifikasi sesi komunikasi:

  • Source dan destination IP address
  • Flags
  • Sequence dan acknowledgment numbers
  • Port numbers
  • State koneksi (NEW, ESTABLISHED, RELATED, INVALID)

TCP Connection States:

State Deskripsi
NEW Paket membuat koneksi baru
ESTABLISHED Paket adalah bagian dari koneksi yang sudah ada
RELATED Paket memulai koneksi baru tapi terkait dengan koneksi yang ada
INVALID Paket tidak dapat diidentifikasi atau tidak memiliki state
✅ Keuntungan Stateful Firewall:
  • Lebih efisien - paket yang merupakan bagian dari koneksi yang sudah dikenal tidak perlu inspeksi mendalam
  • Lebih aman - melacak state koneksi untuk mencegah serangan
  • Dapat mendeteksi koneksi yang tidak valid atau mencurigakan

7. Application Layer Firewall (Proxy Firewall)

Application Layer Firewall bekerja di Layer 7 OSI model dan memiliki proxy untuk protokol yang paling umum digunakan seperti HTTP, SMTP, FTP, dan Telnet.

Karakteristik Application Layer Firewall:

1. Protocol-Specific Proxies

Setiap proxy agent memiliki pengetahuan mendalam tentang protokol yang di-proxy, memungkinkan untuk melakukan analisis keamanan yang sangat lengkap untuk protokol yang didukung.

2. Proxy Mechanism

Proxy bertindak atas nama klien atau pengguna untuk menyediakan akses ke layanan jaringan, dan ia melindungi setiap sisi dari koneksi peer-to-peer langsung.

3. Deep Inspection

Proxy firewall dapat memeriksa request untuk memastikan mereka valid dan diizinkan oleh policy.

Web Proxy Functions:

  1. Increasing Web Performance: Caching konten yang sering diakses
  2. Control Over Browsing: Kontrol atas ke mana pengguna dapat browsing
  3. Logging: Pencatatan aktivitas pengguna untuk audit dan monitoring
💡 Perbedaan Utama:

Tidak seperti packet filtering dan stateful firewall yang bekerja pada network dan transport layer, application layer firewall dapat:

  • Memahami konten aplikasi
  • Memblokir malware dalam protokol tertentu
  • Mencegah data leakage
  • Menerapkan content filtering

8. Implementasi Firewall dengan iptables

iptables adalah utility command-line untuk konfigurasi firewall di sistem Linux. Ini adalah tool yang powerful untuk mengimplementasikan ketiga jenis firewall yang telah dibahas.

Struktur Dasar Perintah iptables:

iptables [option] [chain] [matching criteria] [target/action]

Komponen Utama:

  • -A (Append): Menambahkan rule di akhir chain
  • -I (Insert): Menyisipkan rule di posisi tertentu
  • -D (Delete): Menghapus rule
  • -L (List): Menampilkan semua rules
  • INPUT: Chain untuk paket yang masuk
  • OUTPUT: Chain untuk paket yang keluar
  • FORWARD: Chain untuk paket yang di-forward

Contoh Implementasi Packet Filtering:

1. Mengizinkan HTTP (Port 80):

iptables -A INPUT -i enp0s8 -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT

Penjelasan: Izinkan koneksi TCP ke port 80 dari IP 192.168.1.100 melalui interface enp0s8

2. Memblokir ICMP (Ping):

iptables -I INPUT 1 -p icmp -j DROP

Penjelasan: Blokir semua paket ICMP dengan menyisipkan rule di posisi pertama

3. Default DROP Policy:

iptables -A INPUT -j DROP

Penjelasan: Tolak semua traffic yang tidak cocok dengan rule sebelumnya

Implementasi Stateful Firewall untuk FTP:

Input Rules:

# FTP Control Connection (Port 21)
iptables -A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

# FTP Data Connection (Port 20)
iptables -A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

# Passive FTP
iptables -A INPUT -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Output Rules:

iptables -A OUTPUT -p tcp -m tcp --sport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
📌 Connection Tracking States:
  • NEW - Koneksi baru
  • ESTABLISHED - Koneksi yang sudah terbentuk
  • RELATED - Koneksi terkait dengan koneksi yang ada

Manajemen Rules iptables:

Melihat Rules dengan Nomor Baris:

iptables -L --line-numbers

Menghapus Rule Tertentu:

iptables -D INPUT 3

Menghapus rule nomor 3 di chain INPUT

Flush Semua Rules:

iptables -F

Menyimpan Rules (Persistent):

# Debian/Ubuntu
iptables-save > /etc/iptables/rules.v4

# Red Hat/CentOS
service iptables save

9. Best Practices Konfigurasi Firewall

1. Principle of Least Privilege

Terapkan prinsip default deny - tolak semua traffic secara default dan hanya izinkan yang benar-benar diperlukan.

# Set default policy to DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Allow established connections
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Allow loopback
iptables -A INPUT -i lo -j ACCEPT

2. Logging untuk Monitoring

Aktifkan logging untuk traffic yang ditolak:

# Log dropped packets
iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A INPUT -j DROP

3. Rate Limiting untuk Mencegah DDoS

Batasi jumlah koneksi untuk mencegah serangan:

# Limit SSH connections
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

4. MAC Address Filtering

Batasi akses berdasarkan MAC address untuk keamanan tambahan:

# Only allow specific MAC address to SSH
iptables -A INPUT -p tcp --dport 22 -m mac --mac-source AA:BB:CC:DD:EE:FF -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

5. Proteksi Terhadap Common Attacks

Proteksi SYN Flood:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

Blokir Invalid Packets:

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

Proteksi Port Scanning:

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

6. Dokumentasi Rules

Selalu dokumentasikan setiap rule dengan comment:

# Allow HTTP and HTTPS traffic
iptables -A INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -A INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"

7. Regular Review dan Update

Checklist Maintenance Firewall:
  • ✓ Review rules setiap bulan
  • ✓ Hapus rules yang tidak lagi digunakan
  • ✓ Monitor logs untuk aktivitas mencurigakan
  • ✓ Update rules sesuai perubahan infrastruktur
  • ✓ Test firewall rules secara berkala
  • ✓ Backup konfigurasi firewall

8. Segmentasi Jaringan

Gunakan firewall untuk segmentasi jaringan berdasarkan tingkat kepercayaan:

  • DMZ (Demilitarized Zone): Zona untuk server publik
  • Internal Network: Jaringan internal organisasi
  • Management Network: Jaringan untuk management perangkat

10. Kesimpulan

Firewall adalah komponen fundamental dalam strategi keamanan jaringan modern. Pemahaman mendalam tentang tiga jenis utama firewall sangat penting:

Ringkasan Jenis Firewall:

1. Packet Filtering Firewall:

  • Paling sederhana dan cepat
  • Bekerja di Layer 3 dan 4
  • Filter berdasarkan IP, port, dan protocol
  • Cocok untuk kebutuhan dasar

2. Stateful Firewall:

  • Melacak state koneksi
  • Lebih aman dari packet filtering
  • Efisien untuk established connections
  • Recommended untuk kebanyakan deployment

3. Application Layer Firewall:

  • Inspeksi paling mendalam
  • Protocol-aware inspection
  • Dapat filter berdasarkan content
  • Cocok untuk aplikasi yang memerlukan keamanan tinggi

Poin-Poin Penting:

  1. Defense in Depth: Gunakan multiple layers of security, tidak hanya mengandalkan satu jenis firewall
  2. Principle of Least Privilege: Default deny policy - hanya izinkan traffic yang benar-benar diperlukan
  3. Regular Monitoring: Monitoring dan review logs secara berkala sangat penting untuk mendeteksi anomali
  4. Documentation: Dokumentasikan semua rules dan perubahan untuk maintenance yang lebih mudah
  5. Testing: Test firewall rules secara berkala untuk memastikan efektivitasnya
  6. Update: Keep firewall rules up-to-date sesuai dengan perubahan kebutuhan bisnis dan ancaman baru
⚠️ Ingat: Keamanan jaringan adalah seperti rantai - kekuatannya sama dengan mata rantai terlemah. Setiap layer OSI harus diamankan, dan yang paling penting, user awareness harus menjadi prioritas karena user adalah kerentanan terbesar dalam sistem keamanan.

Next Steps:

Untuk implementasi firewall yang efektif:

  1. Identifikasi kebutuhan keamanan spesifik organisasi Anda
  2. Pilih jenis firewall yang sesuai atau kombinasi dari beberapa jenis
  3. Rancang security policy yang comprehensive
  4. Implementasikan dengan testing yang menyeluruh
  5. Monitor dan maintain secara berkelanjutan

Dengan pemahaman yang baik tentang jenis-jenis firewall dan implementasi yang tepat, Anda dapat membangun pertahanan yang kuat untuk melindungi infrastruktur jaringan dari berbagai ancaman cyber modern.

Komentar