Lewati ke konten

4. Firewall dengan UFW

Firewall memutuskan koneksi mana yang boleh masuk ke server. Di Ubuntu, cara termudah mengaturnya adalah UFW (Uncomplicated Firewall).

Kebijakan yang aman: tolak semua koneksi masuk secara bawaan, lalu buka hanya port yang benar-benar dibutuhkan. Koneksi keluar (server mengakses internet) tetap diizinkan.

  1. Izinkan SSH dulu. Ini langkah terpenting.

    Terminal window
    sudo ufw allow OpenSSH
  2. Izinkan layanan lain yang memang diperlukan.

    Terminal window
    sudo ufw allow 'Nginx Full' # 80 + 443
    sudo ufw allow 51820/udp # WireGuard (di VPS)
  3. Pastikan kebijakan bawaan, lalu nyalakan firewall.

    Terminal window
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw enable
  4. Periksa hasilnya.

    Terminal window
    sudo ufw status verbose
Terminal window
sudo ufw allow 80/tcp # port tertentu
sudo ufw allow 8000:8100/tcp # rentang port
sudo ufw allow from 10.10.10.0/24 to any port 22 # SSH hanya dari WireGuard
sudo ufw deny 3306 # tolak eksplisit
sudo ufw status numbered # lihat nomor aturan
sudo ufw delete 3 # hapus aturan nomor 3
sudo ufw app list # profil aplikasi yang tersedia
Lab: Firewall dengan UFW
Misi 0/7
  1. Cek status firewall.
    Petunjuksudo ufw status
  2. Izinkan SSH **sebelum** menyalakan firewall.
    Petunjuksudo ufw allow OpenSSH
  3. Izinkan web: HTTP (80) dan HTTPS (443).
    Petunjuksudo ufw allow 'Nginx Full'
  4. Pastikan kebijakan bawaan menolak koneksi masuk.
    Petunjuksudo ufw default deny incoming
  5. Nyalakan firewall.
    Petunjuksudo ufw enable
  6. Lihat aturan firewall beserta nomornya.
    Petunjuksudo ufw status numbered
  7. Tolak akses ke port database MySQL (3306) secara eksplisit.
    Petunjuksudo ufw deny 3306