Mengaktifkan dan mengelola log UFW dengan level low, medium, dan high, membaca /var/log/ufw.log dan journal, mendeteksi port scan serta brute force dari pola log, dan memanfaatkan ufw show added untuk audit ruleset

Sejauh ini kita sibuk menulis aturan — tapi sebuah firewall yang tidak menghasilkan log adalah kutukan hitam: kalian tidak tahu apa yang ditolak, siapa yang mencoba masuk, atau kapan serangan terjadi. Episode 12 menutup kesenjangan itu: logging & monitoring UFW.
Mengapa ini penting? Karena log adalah jendela ke perilaku jaringan. Dari log UFW kalian bisa melihat port scan yang datang, brute force yang gagal, atau kesalahan konfigurasi sendiri. Log yang benar juga menjadi bahan bakar fail2ban/CrowdSec dari episode 10 — dan sumber data untuk alerting (episode 21).
Perintah dasar:
sudo ufw logging onufw logging on mengaktifkan logging pada level low. Level lengkap:
sudo ufw logging low
sudo ufw logging medium
sudo ufw logging high
sudo ufw logging off| Level | Paket yang Dicatat | Keterangan |
|---|---|---|
off | Tidak ada | Hemat disk, buta terhadap ancaman |
low (default on) | Paket yang tidak cocok aturan (jatuh ke default) | Cocok untuk produksi |
medium | Di atas + paket yang cocok dengan aturan allow/deny | Lebih banyak noise |
high | Hampir semua paket (tanpa rate limit) | Verbose, hanya untuk debugging |
Cek level aktif:
sudo ufw status verbose
Status: active
Logging: on (low)Note
Level low adalah pilihan seimbang untuk produksi: ia mencatat paket yang ditolak (yang paling penting untuk keamanan) tanpa membanjiri disk dengan kebisingan koneksi yang sah. Naikkan level hanya saat debugging.
Log utama UFW di sistem berbasis syslog:
sudo tail -n 20 /var/log/ufw.logContoh baris log:
Aug 16 10:32:04 srv01 kernel: [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=185.220.101.34
DST=203.0.113.5 LEN=60 TOS=0x00 PREC=0x00 TTL=53 ID=58043 PROTO=TCP SPT=38214
DPT=22 WINDOW=64240 RES=0x00 SYN URGP=0Baca info pentingnya:
[UFW BLOCK] — aksi: BLOCK (ditolak), ALLOW (diizinkan).SRC / DST — IP sumber dan tujuan.DPT — port tujuan (di sini 22 = SSH).PROTO — protokol (TCP/UDP/ICMP).IN=eth0 — interface tempat paket masuk.Di sistem dengan journald (default Ubuntu modern), log UFW juga bisa diakses:
sudo journalctl -k -g UFW --since todayPort scan klasik menyerang banyak port berbeda dari satu IP dalam waktu singkat. Cari dengan:
sudo grep "UFW BLOCK" /var/log/ufw.log | awk '{print $12}' | cut -d= -f2 | sort | uniq -c | sort -rn | head -10Output yang sehat menunjukkan beberapa IP kecil; IP yang muncul ratusan kali dalam menit menandakan scan.
Brute force SSH biasanya muncul sebagai DPT=22 berulang dari IP yang sama:
sudo grep "DPT=22" /var/log/ufw.log | awk '{print $12}' | cut -d= -f2 | sort | uniq -c | sort -rn | head -10Ketika kalian melihat IP mendominasi dengan puluhan upaya, saatnya mempertimbangkan ban manual atau memastikan fail2ban/CrowdSec dari episode 10 bekerja.
Pantau langsung:
sudo tail -f /var/log/ufw.logSetelah menemukan IP penyerang, blokir — baik sementara (dan bersihkan nanti) atau permanen:
sudo ufw deny from 185.220.101.34
sudo ufw statussudo ufw delete deny from 185.220.101.34Warning
Berhati-hatilah memblokir IP dari log: scanner yang "polos" (misalnya vendor keamanan, crawler) juga akan tercatat sebagai BLOCK. Blokir permanen hanya untuk IP yang jelas-jelas menyerang berulang; untuk sisanya, biarkan fail2ban yang menangani dengan ban terbatas.
Selain log, UFW punya perintah untuk memeriksa ruleset dari sudut berbeda:
sudo ufw show addedAdded user rules (see 'ufw status' for running firewall):
ufw allow 22/tcp
ufw allow 80/tcp
ufw limit 443/tcpufw show added menampilkan perintah asli yang kalian ketik — berguna untuk merekonstruksi ruleset dari awal, misalnya untuk dokumentasi (episode 21) atau migrasi ke server lain (episode 16).
Perintah lain yang berguna:
sudo ufw show rawufw show raw menampilkan ruleset lengkap (termasuk before/after) dalam format backend — jendela ke apa yang sebenarnya dieksekusi kernel, berguna untuk debugging lanjutan di episode 18.
Log yang tidak dirotasi akan memakan disk. Ubuntu menangani rotasi lewat logrotate secara otomatis. Verifikasi konfigurasi:
cat /etc/logrotate.d/ufw/var/log/ufw.log
{
rotate 4
weekly
missingok
notifempty
compress
}Artinya: rotasi mingguan, simpan 4 rotasi, kompresi rotasi lama. Jika log kalian sangat padat (level high), pertimbangkan rotate harian.
low setelah debugging selesai.low hanya mencatat BLOCK; jika kalian butuh tahu siapa yang di-allow, naikkan ke medium.uniq -c), jangan baca mentah.Pada episode 12 ini, kalian telah menguasai logging dan monitoring.
Inti yang harus dibawa pulang:
ufw logging on = level low; tersedia low/medium/high/off./var/log/ufw.log dan bisa diakses via journalctl -k -g UFW.[UFW BLOCK], SRC, DPT, PROTO untuk deteksi scan/brute force.ufw show added merekonstruksi perintah ruleset; ufw show raw menampilkan ruleset backend.low di produksi.Di episode 13 selanjutnya, kita masuk konfigurasi yang paling dinantikan: Port Forwarding & NAT — menambahkan aturan NAT di /etc/ufw/before.rules, mengubah DEFAULT_FORWARD_POLICY menjadi ACCEPT, mengaktifkan IP forwarding, dan meneruskan port 80/443 ke VM atau container. Sampai jumpa di episode 13!