Mengamankan server adalah langkah wajib sebelum menjalankan aplikasi atau layanan apa pun di lingkungan produksi. Banyak administrator server berfokus pada instalasi aplikasi, optimasi performa, dan monitoring, tetapi sering kali melupakan lapisan keamanan paling dasar: firewall.
Di Ubuntu, salah satu solusi firewall yang paling direkomendasikan adalah UFW (Uncomplicated Firewall). Sesuai namanya, UFW dirancang untuk menyederhanakan pengelolaan firewall berbasis iptables tanpa mengorbankan fleksibilitas dan keamanan.
Artikel ini akan membahas cara konfigurasi UFW yang benar untuk server produksi agar layanan tetap berjalan normal tanpa mengorbankan keamanan.
Apa Itu UFW?
UFW (Uncomplicated Firewall) adalah frontend dari iptables yang menyediakan antarmuka sederhana untuk mengelola aturan firewall pada sistem Linux, khususnya Ubuntu.
Dengan UFW, administrator dapat:
- Membatasi akses ke server
- Mengontrol port yang terbuka
- Melindungi layanan penting
- Mengurangi risiko serangan dari internet
- Mengelola aturan firewall dengan lebih mudah
Keunggulan utama UFW adalah kemudahan penggunaannya dibandingkan konfigurasi iptables secara manual.
Mengapa Firewall Penting untuk Server Produksi?
Server yang langsung terhubung ke internet akan terus menerima berbagai jenis koneksi dari luar.
Tanpa firewall yang dikonfigurasi dengan baik, server berpotensi mengalami:
- Brute force attack
- Port scanning
- Eksploitasi layanan yang tidak diperlukan
- Akses tidak sah ke database
- Penyalahgunaan resource server
Firewall berfungsi sebagai gerbang keamanan pertama sebelum trafik mencapai aplikasi atau layanan yang berjalan di server.
Konfigurasi Dasar UFW yang Direkomendasikan
Sebelum mengaktifkan firewall, tentukan kebijakan default terlebih dahulu.
Blok Semua Koneksi Masuk
sudo ufw default deny incoming
Perintah ini memastikan semua koneksi masuk ditolak kecuali yang secara eksplisit diizinkan.
Izinkan Semua Koneksi Keluar
sudo ufw default allow outgoing
Konfigurasi ini memungkinkan server tetap dapat mengakses internet untuk update sistem, sinkronisasi waktu, dan kebutuhan lainnya.
Kombinasi kedua aturan ini merupakan praktik keamanan yang direkomendasikan untuk sebagian besar server produksi.
Mengizinkan Akses SSH
SSH merupakan layanan yang paling sering digunakan administrator untuk mengelola server.
sudo ufw allow 22/tcp
Atau jika menggunakan port SSH khusus, sesuaikan nomor port yang digunakan.
Pastikan aturan SSH sudah dibuat sebelum mengaktifkan UFW agar tidak terkunci dari server.
Mengizinkan Layanan Nginx
Ubuntu menyediakan application profile yang mempermudah konfigurasi layanan populer seperti Nginx.
Untuk mengizinkan HTTP dan HTTPS:
sudo ufw allow 'Nginx Full'
Perintah ini secara otomatis membuka:
- Port 80 (HTTP)
- Port 443 (HTTPS)
Cara ini lebih aman dan praktis dibanding membuka port secara manual.
Mengaktifkan Rate Limiting untuk SSH
Brute force login SSH adalah salah satu serangan yang paling umum terjadi.
UFW menyediakan fitur rate limiting yang sangat berguna:
sudo ufw limit 22/tcp
Dengan konfigurasi ini, alamat IP yang mencoba melakukan koneksi SSH berlebihan (lebih dari sekitar 6 kali dalam 30 detik) akan dibatasi secara otomatis.
Manfaatnya:
- Mengurangi serangan brute force
- Menambah lapisan keamanan
- Tidak memerlukan software tambahan
Membatasi Akses Database dari Subnet Tertentu
Salah satu kesalahan yang sering terjadi adalah membuka port database ke seluruh internet.
Sebagai contoh, PostgreSQL hanya boleh diakses dari jaringan internal:
sudo ufw allow from 192.168.10.0/24 to any port 5432
Dengan aturan tersebut:
- PostgreSQL tetap dapat diakses dari LAN
- Tidak dapat diakses langsung dari internet
- Risiko kebocoran data berkurang signifikan
Prinsip ini dikenal sebagai least privilege access, yaitu hanya memberikan akses yang benar-benar diperlukan.
Mengaktifkan Firewall
Setelah seluruh aturan dibuat, aktifkan UFW:
sudo ufw enable
Jika berhasil, firewall akan langsung aktif dan diterapkan secara permanen.
Memeriksa Status Firewall
Untuk melihat aturan yang sedang berjalan:
sudo ufw status verbose
Output ini akan menampilkan:
- Status firewall
- Kebijakan default
- Daftar port yang diizinkan
- Informasi logging
Pemeriksaan rutin sangat disarankan setelah melakukan perubahan konfigurasi.
Mengaktifkan Logging UFW
Logging membantu administrator melakukan audit dan troubleshooting keamanan.
Aktifkan logging:
sudo ufw logging on
Log firewall akan tersimpan pada:
/var/log/ufw.log
Informasi yang biasanya tercatat:
- Koneksi yang ditolak
- Aktivitas scanning
- Upaya akses mencurigakan
- Trafik yang melewati firewall
Monitoring log secara berkala dapat membantu mendeteksi ancaman sejak dini.
Best Practice UFW untuk Lingkungan Produksi
1. Gunakan Kebijakan Deny by Default
Selalu blokir semua koneksi masuk kecuali yang benar-benar diperlukan.
2. Buka Port Sesuai Kebutuhan
Hanya aktifkan layanan yang digunakan oleh aplikasi.
3. Lindungi SSH
Gunakan:
- SSH key authentication
- Port non-standar (opsional)
- Rate limiting UFW
4. Jangan Ekspos Database ke Internet
Batasi akses database menggunakan subnet atau VPN.
5. Aktifkan Logging
Log membantu proses audit dan investigasi keamanan.
6. Audit Firewall Secara Berkala
Lakukan pengecekan:
sudo ufw status numbered
Hapus aturan yang sudah tidak diperlukan.

Kesimpulan
UFW merupakan solusi firewall yang sederhana namun sangat efektif untuk server Ubuntu. Dengan konfigurasi yang tepat, administrator dapat melindungi server dari berbagai ancaman tanpa harus berurusan langsung dengan kompleksitas iptables.
Konfigurasi dasar seperti deny incoming, allow outgoing, pembatasan SSH, penggunaan application profile, serta logging sudah cukup untuk membangun fondasi keamanan yang kuat pada server produksi.
Keamanan server bukan hanya tentang memasang firewall, tetapi memastikan firewall tersebut dikonfigurasi dengan benar tanpa mengganggu layanan yang memang harus dapat diakses pengguna.
“Firewall yang baik bukan yang memblokir semuanya, tetapi yang hanya mengizinkan apa yang benar-benar dibutuhkan.”
FAQ
1. Apa itu UFW di Ubuntu?
UFW adalah firewall bawaan Ubuntu yang mempermudah pengelolaan aturan keamanan berbasis iptables.
2. Apakah UFW cocok untuk server produksi?
Ya. UFW sangat cocok digunakan pada server produksi karena mudah dikelola dan memiliki fitur keamanan yang lengkap.
3. Bagaimana cara melihat status firewall UFW?
Gunakan perintah:
sudo ufw status verbose
4. Apakah UFW bisa mencegah brute force SSH?
Bisa. Gunakan fitur rate limiting:
sudo ufw limit 22/tcp
5. Di mana lokasi log UFW?
Log UFW tersimpan pada:
/var/log/ufw.log
6. Apakah database sebaiknya dibuka ke internet?
Tidak. Sebaiknya akses database dibatasi hanya untuk subnet atau jaringan tertentu.
Sudah menggunakan UFW di server Ubuntu Anda? Bagikan pengalaman, tips, atau konfigurasi favorit Anda melalui kolom komentar.
Jika artikel ini bermanfaat, jangan lupa membagikannya ke rekan sysadmin, administrator jaringan, atau tim DevOps lainnya. Subscribe blog ini untuk mendapatkan tutorial Linux, keamanan server, networking, dan administrasi sistem terbaru. Anda juga dapat membaca artikel lainnya seputar hardening server Ubuntu dan praktik terbaik keamanan infrastruktur modern.