Cara Setup UFW Firewall di Ubuntu VPS

Kalau kamu baru punya VPS Ubuntu dan belum pasang firewall sama sekali, itu ibarat rumah tanpa pintu, semua port kebuka bebas buat siapapun yang nyoba konek. UFW firewall Ubuntu jadi solusi paling gampang buat nutup celah itu, tanpa perlu belajar syntax iptables yang ribet.

Di artikel ini kita bahas cara setup UFW firewall Ubuntu dari nol, mulai dari enable, allow port yang dibutuhin, sampai troubleshooting kalau ada yang salah setting.

Kenapa Butuh UFW Firewall Ubuntu

Default-nya, VPS baru itu semua port kebuka kalau service-nya jalan. Ini bahaya banget karena bot-bot di internet terus-terusan scan IP publik nyari port yang kebuka buat dieksploitasi. Firewall kayak UFW bikin server kamu cuma nerima koneksi di port yang emang kamu izinin doang, sisanya otomatis ditolak.

UFW ini beda level sama Fail2Ban yang kita bahas sebelumnya. Fail2Ban kerja berdasarkan pola log (misal banyak percobaan login gagal), sedangkan UFW kerja di level port, nentuin port mana yang boleh diakses dari awal. Idealnya dua-duanya dipakai bareng buat proteksi berlapis: UFW nutup port yang gak perlu, Fail2Ban ngeban IP yang mencurigakan di port yang emang dibuka.

Buat referensi resmi, kamu bisa baca dokumentasi resmi Ubuntu Server soal firewall.

1. Cek Status UFW Firewall Ubuntu

UFW biasanya udah terinstal bawaan di Ubuntu, tinggal cek statusnya. Kalau ternyata belum ada (jarang kejadian tapi bisa aja di image VPS minimal), tinggal install manual pakai sudo apt install ufw -y sebelum lanjut ke langkah berikutnya.

sudo ufw status

Kalau muncul “Status: inactive”, berarti firewall belum aktif dan semua port masih kebuka bebas.

2. Allow SSH Dulu Sebelum Enable

Ini langkah paling krusial. Kalau kamu langsung enable UFW tanpa allow port SSH dulu, kamu bakal ke-lock out dari server kamu sendiri, dan kalau gak ada akses Console dari provider VPS, satu-satunya cara balik masuk adalah install ulang server dari nol. Allow dulu SSH-nya:

sudo ufw allow OpenSSH

Kalau kamu pakai port SSH custom (bukan 22), ganti jadi:

sudo ufw allow 2222/tcp

Ganti angka 2222 sesuai port SSH kamu.

3. Allow Port Lain yang Dibutuhin

Tambahin port lain sesuai service yang kamu jalanin. Semakin sedikit port yang dibuka, semakin kecil juga permukaan serangan (attack surface) server kamu, jadi cuma buka yang beneran kamu perlu aja, jangan asal buka semua port biar aman. Beberapa contoh umum:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp

Port 80 dan 443 buat web server (HTTP/HTTPS), port 3306 buat MySQL kalau kamu perlu akses database dari luar (biasanya sebaiknya jangan dibuka publik, cuma kalau emang perlu). Sesuaikan sama port aplikasi kamu, misal 8080 buat Nginx UI atau 9443 buat Portainer.

4. Aktifkan UFW Firewall Ubuntu

Setelah port-port penting udah di-allow, baru aktifin firewallnya:

sudo ufw enable

Bakal muncul warning soal koneksi SSH bisa keputus, tapi karena kamu udah allow SSH di langkah 2, aman lanjut ketik y.

5. Cek Rule yang Aktif

Verifikasi semua rule udah bener:

sudo ufw status verbose

Ini bakal nampilin semua port yang di-allow beserta protokolnya (TCP/UDP), plus default policy buat incoming dan outgoing traffic.

Bonus: Blokir IP Spesifik

Kalau ada IP tertentu yang mencurigakan dan mau kamu blokir manual, tanpa nunggu Fail2Ban:

sudo ufw deny from ALAMAT_IP

Buat hapus rule yang udah gak dipake, cek dulu nomor rule-nya:

sudo ufw status numbered

Terus hapus pakai nomor itu:

sudo ufw delete 3

Ganti angka 3 sesuai nomor rule yang mau dihapus.

Aktifin Logging Biar Bisa Audit Nanti

Biar kamu bisa lacak percobaan akses yang ditolak firewall, aktifin logging:

sudo ufw logging on

Log-nya bakal kesimpen di /var/log/ufw.log, bisa kamu cek kapan aja buat liat pola serangan atau nyari tau kenapa suatu koneksi ditolak:

sudo tail -f /var/log/ufw.log

Kalau server kamu lumayan sibuk, log ini bisa cepet numpuk, jadi ada baiknya sesekali dibersihin atau di-rotate biar gak makan storage berlebihan.

Kendala yang Sering Muncul

  • Ke-lock out dari server setelah enable UFW
    Ini paling sering kejadian gara-gara lupa allow SSH dulu. Kalau masih ada akses lewat Console/VNC dari dashboard provider VPS, masuk dari situ dan jalanin sudo ufw allow OpenSSH atau sudo ufw disable buat sementara.
  • Website gak bisa diakses padahal port 80/443 udah di-allow
    Cek juga firewall level cloud provider (security group di AWS/Oracle Cloud/dll), karena itu terpisah dari UFW dan sama-sama harus dibuka.
  • Docker container gak kena rule UFW
    Docker punya cara sendiri manage iptables dan sering bypass UFW secara default. Ini butuh konfigurasi tambahan khusus kalau kamu mau UFW beneran ngontrol traffic ke container.
  • Lupa port apa aja yang udah di-allow
    Tinggal jalanin sudo ufw status numbered buat liat daftar lengkap semua rule beserta nomornya.

Penutup

Nah, segitu aja cara setup UFW firewall Ubuntu di VPS kamu. Ini langkah dasar tapi krusial banget buat keamanan server, jangan sampai kelewat cuma karena keliatan sepele. Kombinasiin sama SSH key login dan Fail2Ban biar server kamu punya lapisan proteksi yang lengkap, bukan cuma andalin satu tools doang. Kalau kamu juga punya form di aplikasi web yang jalan di server ini, jangan lupa proteksi levelnya juga, misal pakai Google reCAPTCHA di backend PHP biar form kamu gak dibanjirin spam bot.

Kalau ada yang error atau nyangkut, drop komentar aja bro.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.