Menyusun konfigurasi UFW untuk server produksi dan VPS: baseline rules yang hanya membuka SSH dan port layanan, hubungan dan perbedaan dengan firewall cloud provider, praktik khusus Ubuntu 24.04 dan 26.04 LTS, serta prosedur verifikasi aman sebelum mengaktifkan firewall

Setelah 15 episode teori dan praktik, episode 16 membawa kalian ke medan yang sesungguhnya: server produksi dan VPS. Ini bukan lagi lab — kesalahan di sini berarti downtime, kebocoran data, atau server yang terkunci di tengah malam.
Mengapa episode ini penting? Karena server produksi punya tiga lapis realitas yang jarang dibahas: (1) firewall cloud provider yang sering kalian lupakan, (2) firewall OS (UFW) yang kita pelajari, dan (3) kebiasaan operasional seperti verifikasi sebelum enable. Ketiganya harus bekerja sama — dan kesalahpahaman tentang pembagian tugasnya adalah sumber bug yang klasik.
Sebagian besar VPS modern (DigitalOcean, AWS, Hetzner) menawarkan firewall terkelola di level provider. Kalian kini punya dua lapis:
| Lapis | Contoh | Dikelola Di | Karakter |
|---|---|---|---|
| Cloud provider | Security Group, Cloud Firewall | Panel/API provider | Berjalan sebelum traffic sampai ke OS |
| OS firewall | UFW | Server | Berjalan di dalam OS |
Praktik yang sehat: aktifkan keduanya dengan aturan yang sama. Cloud firewall melindungi sebelum traffic masuk (murah, terpusat), UFW melindungi di dalam OS (berlaku juga untuk traffic yang datang lewat jalur lain, seperti VPN internal atau jaringan privat).
Note
Kesalahan klasik: mengaktifkan firewall provider lalu lupa firewall OS — dan sebaliknya. Server yang hanya dilindungi firewall provider terbuka terhadap traffic dari jaringan internal provider (misalnya sesama VPS di akun yang sama). Server yang hanya dilindungi UFW terbuka lebar sebelum traffic mencapai OS. Keduanya harus menyala.
Prinsip baseline: buka hanya SSH + port layanan, tutup sisanya. Contoh VPS yang menjalankan web server:
# SSH — amankan dulu, batasi ke IP yang memang perlu
sudo ufw allow from 203.0.113.0/24 to any port 22 proto tcp
# Layanan publik
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Aktifkan
sudo ufw enableJika kalian mengelola server dari banyak lokasi dan subnet kantor tidak tetap, opsi yang lebih fleksibel — tetap dengan limit:
sudo ufw limit 22/tcpIngat aturan emas episode 3: SSH dulu, baru enable — atau pakai prosedur aman di bawah.
Enable UFW di VPS jarak jauh selalu berisiko. Prosedur standar yang menyelamatkan banyak admin:
Buka dua sesi SSH sebelum enable — satu sebagai "jaring pengaman". Jika satu sesi putus, sesi lain masih bisa menyelamatkan.
sudo ufw status verbosePastikan port SSH kalian muncul dengan action ALLOW atau LIMIT. Jika tidak muncul — berhenti. Perbaiki dulu.
Jalankan enable dengan timer darurat. Jika terjadi kesalahan, timer akan mematikan firewall kembali:
sudo ufw enable
sleep 60
sudo ufw status | grep -q "Status: active" && echo "OK aktif" || echo "Tidak aktif!"Ide lengkapnya: jalankan ufw enable, lalu dalam 60 detik uji koneksi dari sesi lain. Jika koneksi putus, segera sudo ufw disable dari sesi cadangan sebelum benar-benar terkunci.
Dari mesin testing, verifikasi layanan:
ssh user@203.0.113.5
curl -I http://203.0.113.5Warning
Jika kalian benar-benar terkunci dan sesi cadangan pun putus, jalan keluar terakhir adalah console VPS provider (misalnya DigitalOcean Console, AWS EC2 Serial Console) atau recovery mode. Dari sana jalankan sudo ufw disable atau sudo iptables -P INPUT ACCEPT. Ini sebabnya membuka panel provider sebelum bermain firewall jarak jauh adalah kebiasaan yang bijak.
Kedua rilis LTS terbaru memakai backend nftables (iptables-nft). Perbedaan praktis dengan sistem lama:
ufw status verbose (baris Status: ... (nft) atau via ufw show raw).ufw.service menangani load saat boot; pastikan enabled:sudo systemctl enable --now ufw
systemctl is-enabled ufwOutput enabled memastikan firewall menyala ulang setelah reboot — kegagalan di sini adalah sumber masalah "server kembali terbuka setelah restart".
Pada Ubuntu 26.04, pastikan memakai kebiasaan episode 3-4 yang konsisten: verifikasi backend, izinkan SSH, lalu enable. Tidak ada perintah khusus UFW baru di 26.04 — perubahannya sebagian besar di layer netfilter di belakang layar.
allow, sisanya default DROP.ufw logging on) untuk observabilitas episode 12.ufw enabled saat boot.~/ufw-lab/NOTES.md (atau repo, episode 20-21).Pada episode 16 ini, kalian telah menempatkan UFW dalam konteks produksi.
Inti yang harus dibawa pulang:
nftables dipakai di Ubuntu 24.04/26.04 LTS; perintah UFW tetap sama.ufw.service enabled dan logging aktif.Di episode 17 selanjutnya, kita menyelami detail yang menentukan perilaku firewall: Rule Ordering & Best Practice — urutan evaluasi before-user-after, audit dengan ufw status numbered, prinsip least privilege, dan kebiasaan dokumentasi perubahan ruleset. Sampai jumpa di episode 17!