
🔍 Pendahuluan
Sebagai seorang System & Network Administrator, salah satu tantangan besar dalam mengelola server virtualisasi seperti Virtualizor adalah memastikan keamanan jaringan dan tidak terlibat dalam aktivitas jahat dari dalam jaringan sendiri.
Baru-baru ini, saya menghadapi kasus di mana IP public server Virtualizor tiba-tiba diblokir oleh pihak Data Center karena adanya indikasi serangan flood pada port 53 (DNS flood).
🧩 Topologi Sistem
- Server Host: KVM + Virtualizor
- IP Internal:
192.168.10.10
- IP Public:
103.x.x.x
*(disembunyikan untuk privasi)* - Jumlah VPS: ± 10 VPS
- Jenis VPS: CentOS, Ubuntu, dll.
- Masalah: IP Public terdeteksi melakukan UDP flood ke port 53
📊 Langkah 1: Konfirmasi Laporan dari Data Center
Pastikan bahwa laporan tersebut bukan false positive. Setelah itu, mulai analisa internal.
🕵️♂️ Langkah 2: Cek Traffic di Server Host (Node)
Gunakan tools seperti:
1. iftop
sudo iftop -i eth0 -f "udp and port 53"
Catatan: Ganti eth0 sesuai interface jaringan Anda.
2. tcpdump (untuk capture packet)
sudo tcpdump -i eth0 udp port 53 -w dns_flood.pcap
File .pcap
ini bisa dianalisa lebih lanjut menggunakan Wireshark atau tshark.
🧪 Langkah 3: Identifikasi Source dari VPS
A. Gunakan iptables untuk log traffic UDP port 53
iptables -I OUTPUT -p udp --dport 53 -j LOG --log-prefix "DNS_FLOOD: "
Lihat log di /var/log/messages
atau /var/log/syslog
:
tail -f /var/log/syslog | grep "DNS_FLOOD"
B. Mapping IP Internal ke VPS
VPS Name | IP Internal |
---|---|
vps-web1 | 192.168.10.101 |
vps-mail | 192.168.10.102 |
vps-db | 192.168.10.103 |
🚨 Langkah 4: Analisa VPS Sumber Serangan
Login ke VPS bermasalah dan lakukan analisa:
1. Cek proses aktif
ps aux | grep -i "dns\|named\|python\|perl"
2. Cek crontab dan service
crontab -l
systemctl list-units | grep running
3. Cek file mencurigakan
find /tmp -type f -executable -mtime -1
find / -name "*.sh" -o -name "*.elf" -o -name "*.bin" 2>/dev/null
4. Gunakan tools seperti rkhunter
, chkrootkit
apt install rkhunter chkrootkit
rkhunter --checkall
chkrootkit
5. Cek DNS query menggunakan tcpdump
di dalam VPS
tcpdump -i any udp port 53 -w /tmp/vps_dns.pcap
🔒 Langkah 5: Penanganan dan Pencegahan
1. Blokir Sementara Keluar DNS dari VPS Bermasalah
iptables -A FORWARD -s 192.168.10.101 -p udp --dport 53 -j DROP
2. Hapus Malware atau Patch Script Vulnerable
- Hapus file
- Bersihkan crontab
- Update sistem operasi
- Nonaktifkan service tidak diperlukan
3. Batasi Penggunaan DNS Resolver
iptables -A FORWARD -s 192.168.10.0/24 -p udp --dport 53 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -p udp --dport 53 -j DROP
4. Gunakan Internal DNS Proxy
Buat internal DNS proxy menggunakan dnsmasq atau Bind9.
5. Pasang Fail2Ban atau IDS/IPS
apt install fail2ban
Buat filter khusus untuk UDP flood DNS.
✅ Kesimpulan
Masalah flood port 53 biasanya disebabkan oleh:
- Malware atau botnet di dalam VPS
- Script exploit yang memanfaatkan open resolver
- Service DNS yang konfigurasinya tidak aman
💡 Tips Tambahan
- Rutin scan semua VPS dengan antivirus/malware scanner
- Gunakan firewall internal (per VPS)
- Batasi outgoing port tertentu jika tidak diperlukan
- Backup konfigurasi penting secara berkala
📢 Referensi
- Virtualizor Documentation
- Tcpdump Examples
- Fail2Ban DNS Protection
- How to Prevent DNS Amplification Attacks