🔒 Firewall Management di Linux (iptables, ufw, nftables)

Firewall adalah mekanisme keamanan yang digunakan untuk memfilter lalu lintas jaringan (incoming dan outgoing) pada sistem. Linux menyediakan beberapa tool populer untuk mengelola firewall:

  • iptables
  • ufw (Uncomplicated Firewall)
  • nftables (pengganti iptables modern)

🔹 iptables

Penjelasan

iptables adalah tool lama dan powerful untuk memanajemen firewall berbasis tabel aturan. Digunakan luas di banyak distribusi Linux tradisional.

Contoh Operasional

# Melihat aturan firewall
sudo iptables -L -v -n

# Mengizinkan koneksi SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Mengizinkan HTTP dan HTTPS
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Menolak semua koneksi lain
sudo iptables -P INPUT DROP

# Menyimpan aturan agar persisten
sudo iptables-save > /etc/iptables/rules.v4

Tips & Trik

  • Gunakan -I untuk insert aturan di atas agar dieksekusi lebih dulu.
  • Cek urutan rule dengan iptables -L --line-numbers.
  • Jangan lock diri sendiri saat remote SSH – selalu whitelist port 22 dahulu.

🔹 UFW (Uncomplicated Firewall)

Penjelasan

ufw adalah wrapper sederhana untuk iptables, memudahkan konfigurasi firewall di Debian/Ubuntu.

Instalasi & Enable

# Instalasi (jika belum ada)
sudo apt install ufw -y

# Aktifkan ufw
sudo ufw enable

# Nonaktifkan ufw
sudo ufw disable

Contoh Operasional

# Izinkan SSH
sudo ufw allow 22/tcp

# Izinkan HTTP & HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Blokir port tertentu
sudo ufw deny 23/tcp

# Cek status
sudo ufw status verbose

Tips & Trik

  • Gunakan sudo ufw default deny incoming untuk default block.
  • Tambahkan sudo ufw logging on untuk debugging.
  • Konfigurasi simpel, cocok untuk server kecil dan pemula.

🔹 nftables

Penjelasan

nftables adalah generasi penerus iptables yang lebih modern, fleksibel, dan efisien. Sudah menjadi default di banyak distro modern seperti Debian 10+, Fedora, dan RHEL 8+.

Contoh Operasional

# Melihat aturan
sudo nft list ruleset

# Membuat aturan dasar
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0; }

# Izinkan SSH
sudo nft add rule inet filter input tcp dport 22 accept

# Izinkan HTTP & HTTPS
sudo nft add rule inet filter input tcp dport {80, 443} accept

# Tolak semua koneksi lain
sudo nft add rule inet filter input drop

# Simpan aturan
sudo nft list ruleset > /etc/nftables.conf

Tips & Trik

  • Gunakan nft list ruleset untuk backup sebelum edit.
  • Gunakan set {} untuk banyak port sekaligus.
  • Lebih future-proof dibanding iptables.

🔍 Firewall di OS Populer

  • Ubuntu/Debian → biasanya menggunakan ufw (atau langsung nftables pada versi baru).
  • CentOS/RHEL/Fedora → menggunakan firewalld (backend nftables/iptables), bisa dikelola dengan firewall-cmd.
  • Arch Linux → direkomendasikan langsung pakai nftables.

Contoh (firewalld di CentOS/RHEL):

# Izinkan HTTP
sudo firewall-cmd --permanent --add-service=http
# Reload aturan
sudo firewall-cmd --reload

✅ Best Practices

  1. Whitelist sebelum Block
    Selalu whitelist SSH (22) atau port remote admin sebelum menerapkan policy DROP.

  2. Default Policy Ketat

    • deny incoming
    • allow outgoing
  3. Gunakan Logging
    Aktifkan logging untuk troubleshooting tanpa membanjiri syslog.

  4. Aturan Minimalis
    Hanya buka port yang benar-benar dibutuhkan.

  5. Gunakan nftables untuk sistem modern
    Karena lebih efisien dan akan menggantikan iptables secara penuh.

  6. Backup Rules
    Simpan aturan ke file agar bisa restore saat reboot.


⚙️ Kesimpulan

  • iptables: kuat dan tradisional, masih banyak dipakai.
  • ufw: lebih sederhana, cocok untuk pemula di Ubuntu/Debian.
  • nftables: modern, fleksibel, dan menjadi standar baru.

Firewall adalah lapisan pertahanan pertama di server Linux. Pastikan konfigurasi tepat agar sistem tetap aman dan dapat diakses sesuai kebutuhan.