Apa itu UFW ?

UFW (Uncomplicated Firewall) adalah frontend sederhana untuk mengelola firewall di sistem berbasis Linux, khususnya yang menggunakan iptables di bawahnya. Tujuan UFW adalah memudahkan pengguna mengatur aturan keamanan jaringan tanpa harus menulis perintah iptables yang panjang dan rumit.

Jadi, UFW itu bukan firewall engine itu sendiri, melainkan antarmuka pengelola firewall.

Analogi: iptables = mesin, UFW = dashboard pengaturannya.

Fungsi dan Tujuan UFW

Fungsi utamanya adalah mengatur lalu lintas jaringan (traffic) yang boleh atau tidak boleh masuk/keluar dari server kamu.

Dengan UFW kamu bisa:

  • Mengizinkan atau memblokir port tertentu (misal: SSH, HTTP, HTTPS).
  • Membatasi akses hanya dari IP tertentu.
  • Menentukan arah lalu lintas (incoming/outgoing).
  • Memonitor status aturan firewall aktif.

Contoh skenario:

  • Server kamu hanya ingin menerima SSH (port 22) dan web (port 80/443). Maka kamu bisa memblokir semua port lain secara otomatis dengan UFW.

Konsep Dasar: “Default Policy”

Sebelum menambahkan aturan apa pun, pahami dulu konsep default policy.

UFW punya dua kebijakan utama:

  • Incoming (masuk): biasanya di-deny (blokir semua yang datang kecuali diizinkan).
  • Outgoing (keluar): biasanya di-allow (izinkan semua keluar).

Kamu bisa lihat dan atur:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Artinya:

  • Semua koneksi masuk diblokir kecuali ada aturan yang mengizinkan.
  • Semua koneksi keluar diizinkan kecuali ada aturan yang memblokir.

Dasar Penggunaan UFW

Jika pertamakali menggunakan UFW maka berikut adalah perintah dasar yang perlu di ketahui

sudo ufw enable            # Mengaktifkan UFW
sudo ufw disable           # Menonaktifkan UFW
sudo ufw status verbose    # Melihat status dan aturan
sudo ufw reset             # Menghapus semua aturan

Contoh ketika ingin menambahkan aturan/rule ke ufw

sudo ufw allow 22/tcp                # Mengizinkan SSH
sudo ufw allow 80/tcp                # Mengizinkan HTTP
sudo ufw allow 443/tcp               # Mengizinkan HTTPS
sudo ufw deny 23/tcp                 # Memblokir Telnet
sudo ufw allow from 192.168.1.10     # Mengizinkan akses hanya dari IP tertentu
sudo ufw delete allow 22/tcp         # Menghapus aturan

Tips penting: Selalu pastikan SSH tetap di-allow sebelum men-enable UFW, agar kamu tidak terkunci dari server jarak jauh.

Logika di Balik Desain UFW

UFW berorientasi pada “whitelisting”, bukan “blacklisting”.

Artinya, secara default semua koneksi ditolak kecuali kamu izinkan secara eksplisit.

Ini adalah pendekatan keamanan yang jauh lebih kuat karena:

  • Meminimalkan attack surface.
  • Mengurangi risiko port terbuka tanpa sengaja.
  • Menjadikan kebijakan keamanan predictable dan mudah diaudit.

Lokasi File Konfigurasi

File utama:

/etc/ufw/ufw.conf             # File konfigurasi utama
/etc/default/ufw              # Kebijakan default
/etc/ufw/applications.d/      # Daftar profil aplikasi (misal: OpenSSH, Apache)

perintah untuk melihat daftar profile

sudo ufw app list

untuk mengaktifkan berdasarkan nama profile

sudo ufw allow "OpenSSH"

Aspek Kritis

Kelebihan vs Kelemahan UFW

Aspek Kelebihan Kelemahan
Kemudahan Sederhana dan cepat untuk konfigurasi dasar Kurang fleksibel untuk kebutuhan firewall kompleks
Integrasi Terintegrasi dengan Ubuntu Kurang portabel ke distro non-Ubuntu
Transparansi Mudah dibaca dan dikelola Abstraksi dari iptables kadang membingungkan jika kamu butuh aturan lanjutan
Keamanan Default “deny incoming” yang aman Jika salah konfigurasi SSH bisa kehilangan akses ke server

Kalau kita ingin kontrol lebih dalam, kita bisa langsung belajar iptables atau nftables.

UFW sebenarnya hanya membungkus perintah-perintah itu. Jadi memahami dasar firewall Linux akan membuat kita lebih fleksibel dalam situasi kompleks (misal: multi-interface, NAT, atau load balancing).