Keamanan server merupakan salah satu aspek paling penting dalam pengelolaan infrastruktur IT. Banyak administrator server fokus pada konfigurasi layanan seperti web server, database, DNS, atau mail server, tetapi melupakan perlindungan dasar berupa firewall.
Di Ubuntu, terdapat solusi firewall yang sederhana namun sangat powerful, yaitu UFW (Uncomplicated Firewall). Sesuai namanya, UFW dirancang untuk memudahkan administrator dalam mengelola aturan firewall tanpa harus berinteraksi langsung dengan iptables yang lebih kompleks.
Pada artikel ini, Anda akan mempelajari cara mengelola UFW mulai dari konfigurasi dasar hingga penerapan pada server produksi.
Apa Itu UFW?
UFW atau Uncomplicated Firewall adalah antarmuka sederhana untuk mengelola Netfilter/Iptables pada sistem operasi Linux.
Keunggulan UFW antara lain:
- Mudah digunakan
- Cocok untuk pemula maupun profesional
- Konfigurasi cepat
- Mendukung IPv4 dan IPv6
- Mendukung filtering berdasarkan IP
- Mendukung logging aktivitas firewall
- Sangat cocok untuk server Ubuntu

Instalasi UFW
Sebagian besar distribusi Ubuntu sudah menyertakan UFW secara default.
Periksa status instalasi:
sudo ufw status
Jika belum tersedia:
sudo apt update
sudo apt install ufw -y
Verifikasi versi:
sudo ufw version
Memahami Kebijakan Dasar Firewall
Prinsip utama firewall adalah:
- Allow = Izinkan koneksi
- Deny = Tolak koneksi
- Reject = Tolak dan kirim notifikasi penolakan
Sebelum mengaktifkan firewall, sebaiknya atur kebijakan default.
sudo ufw default deny incoming
sudo ufw default allow outgoing
Artinya:
- Semua koneksi masuk ditolak
- Semua koneksi keluar diizinkan
Cara Mengaktifkan UFW
Aktifkan firewall:
sudo ufw enable
Hasil:
Firewall is active and enabled on system startup
Cek status:
sudo ufw status verbose
Cara Menonaktifkan UFW
Jika diperlukan:
sudo ufw disable
Periksa kembali:
sudo ufw status
Mengizinkan Koneksi SSH
Sebelum mengaktifkan firewall pada server remote, pastikan port SSH telah diizinkan agar tidak kehilangan akses.
Port SSH standar:
sudo ufw allow 22/tcp
Atau:
sudo ufw allow ssh
Verifikasi:
sudo ufw status numbered
Mengizinkan Port Web Server
HTTP
sudo ufw allow 80/tcp
HTTPS
sudo ufw allow 443/tcp
Sekaligus
sudo ufw allow 80,443/tcp
Mengizinkan Port Database
MySQL / MariaDB
sudo ufw allow 3306/tcp
PostgreSQL
sudo ufw allow 5432/tcp
MongoDB
sudo ufw allow 27017/tcp
Catatan penting:
Port database sebaiknya tidak dibuka ke internet secara umum.
Membatasi Akses Berdasarkan IP
Ini adalah salah satu fitur yang sering digunakan pada server produksi.
Hanya IP tertentu yang boleh mengakses SSH
sudo ufw allow from 192.168.1.100 to any port 22
Blokir IP tertentu
sudo ufw deny from 192.168.1.200
Izinkan subnet tertentu
sudo ufw allow from 10.10.10.0/24
Batasi akses MySQL hanya dari server aplikasi
sudo ufw allow from 10.10.10.50 to any port 3306
Menghapus Rule Firewall
Lihat daftar rule:
sudo ufw status numbered
Contoh:
[1] 22/tcp ALLOW Anywhere
[2] 80/tcp ALLOW Anywhere
Hapus rule nomor 2:
sudo ufw delete 2
Atau:
sudo ufw delete allow 80/tcp
Mengaktifkan Logging
Logging sangat penting untuk audit keamanan.
Aktifkan logging:
sudo ufw logging on
Level logging:
sudo ufw logging low
sudo ufw logging medium
sudo ufw logging high
sudo ufw logging full
Periksa log:
sudo tail -f /var/log/ufw.log
Atau:
sudo journalctl -u ufw
Membatasi Percobaan Login SSH Brute Force
Fitur ini sangat direkomendasikan.
sudo ufw limit ssh
Atau:
sudo ufw limit 22/tcp
UFW akan otomatis memblokir IP yang melakukan terlalu banyak percobaan login.
Contoh Konfigurasi UFW untuk Web Server Produksi
Misalnya server menjalankan:
- SSH
- Nginx
- HTTPS
Konfigurasi:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Hasil:
22/tcp ALLOW
80/tcp ALLOW
443/tcp ALLOW
Semua port lain akan tertutup.
Contoh Konfigurasi untuk Database Server
Misalnya server database hanya melayani aplikasi internal.
sudo ufw default deny incoming
sudo ufw allow from 10.10.10.50 to any port 3306
sudo ufw allow 22/tcp
sudo ufw enable
Dengan konfigurasi ini:
- Database tidak dapat diakses publik
- Hanya server aplikasi yang dapat terhubung
Best Practice UFW untuk Keamanan Maksimal
Gunakan Prinsip Least Privilege
Buka hanya port yang benar-benar dibutuhkan.
Jangan Membuka Database ke Internet
Batasi akses database berdasarkan IP.
Gunakan SSH Key Authentication
Kurangi risiko serangan brute force.
Aktifkan Logging
Membantu investigasi insiden keamanan.
Audit Rule Secara Berkala
Periksa rule yang sudah tidak digunakan.
Kombinasikan dengan Fail2Ban
Perlindungan tambahan terhadap serangan brute force.
Kesimpulan
UFW merupakan solusi firewall yang sederhana namun sangat efektif untuk meningkatkan keamanan server Ubuntu. Dengan memahami konfigurasi dasar seperti allow, deny, rule berdasarkan IP, logging, dan pembatasan akses SSH, administrator dapat membangun pertahanan awal yang kuat terhadap berbagai ancaman jaringan.
Baik digunakan pada server web, database, VPS cloud, maupun server internal perusahaan, UFW merupakan salah satu kemampuan wajib yang harus dikuasai oleh teknisi jaringan, sysadmin, dan administrator Linux modern.
“Server yang aman bukanlah server yang membuka semua akses, melainkan server yang hanya membuka apa yang benar-benar dibutuhkan.”
FAQ SEO
1. Apa fungsi UFW di Ubuntu?
UFW berfungsi untuk mengelola firewall Ubuntu secara sederhana guna mengontrol lalu lintas jaringan masuk dan keluar.
2. Apakah UFW aman digunakan pada server produksi?
Ya. UFW banyak digunakan pada server produksi karena mudah dikonfigurasi dan berbasis Netfilter Linux.
3. Bagaimana cara mengaktifkan UFW?
Gunakan perintah:
sudo ufw enable
4. Apakah UFW bisa membatasi akses berdasarkan IP?
Bisa. UFW mendukung filtering berdasarkan alamat IP maupun subnet tertentu.
5. Apakah UFW menggantikan iptables?
Tidak. UFW adalah antarmuka yang mempermudah pengelolaan iptables.
6. Kapan sebaiknya menggunakan UFW?
Saat mengelola VPS, server cloud, web server, database server, maupun server internal perusahaan.