Dengan perintah netstat mendeteksi serangan DDos
Saya pernah menjumpai suatu kondisi, dimana tiba-tiba email server tidak dapat dikoneksi dari luar. Alias SMTP server tidak bisa menerima dan mengirim email. Login ke server, ternyata server tidak ada masalah, dan proses SMTP server ok-ok saja.
Akan tetapi ketika memeriksa dengan perintah netstat, banyak sekali sambungan ke port 25 atau SMTP server dari salah satu IP address. Saya periksa dengan nslookup dan tool search IP address, ternyata IP address tersebut milik China. Inilah serangan DDos, pikir saya. Maka cepat-cepat saya hitung sambungan dari IP address itu dengan perintah netstat dan script AWK.
Script itu adalah sebagai berikut,
view source
print?
1 netstat -n --tcp --udp --numeric-hosts | \
2 grep -v 127.0.0.1 | \
3 awk '{if (/(tcp|udp)/) { print $5 }}' | \
4 sed 's/:.*//' | \
5 sort | \
6 uniq -c | \
7 sort -n | \
8 awk '{if ($1 > 10) {print "Count: "$1"\t"$2; }}'
Script ini akan menampilkan jumlah sambungan ke suatu service yang mempunyai 10 lebih sambungan.
Contoh hasil dari pencarian itu adalah sebagai berikut,
Count: 16 87.118.118.38
Count: 17 211.212.19.213
Count: 18 118.168.140.94
Count: 21 118.168.132.225
Dari sambungan yang ada tersebut, kita dapat mendeteksi berapa jumlah sambungan yang ada untuk setiap IP address. Dari sini kita dapat melihat mana yang kira-kira serangan DDos dan mana yang tidak.
Kalau anda menemukan IP address yang ada kemungkinan serangan DDos, silakan diblok IP address tersebut dengan iptables atau ipchains atau firewall milik anda.
Misalnya IP address 118.168.132.225 ingin anda blok, agar tidak dapat akses ke SMTP atau port 25, anda dapat melakukannya dengan perintah seperti berikut ini.
/sbin/iptables -A INPUT -s 118.168.132.225 -p tcp --dport 25 -j DROP
Sudah tentu, script netstat dan awk di atas dapat anda jadikan shell scripts dan jalankan secara periodik dengan crontab. Tambahkan fungsi pengiriman email kalau ada serangan DDos, maka anda dapat memonitor server anda 24 jam dari serangan DDos saat anda tidur nyenyak.
Selamat mencoba.
Akan tetapi ketika memeriksa dengan perintah netstat, banyak sekali sambungan ke port 25 atau SMTP server dari salah satu IP address. Saya periksa dengan nslookup dan tool search IP address, ternyata IP address tersebut milik China. Inilah serangan DDos, pikir saya. Maka cepat-cepat saya hitung sambungan dari IP address itu dengan perintah netstat dan script AWK.
Script itu adalah sebagai berikut,
view source
print?
1 netstat -n --tcp --udp --numeric-hosts | \
2 grep -v 127.0.0.1 | \
3 awk '{if (/(tcp|udp)/) { print $5 }}' | \
4 sed 's/:.*//' | \
5 sort | \
6 uniq -c | \
7 sort -n | \
8 awk '{if ($1 > 10) {print "Count: "$1"\t"$2; }}'
Script ini akan menampilkan jumlah sambungan ke suatu service yang mempunyai 10 lebih sambungan.
Contoh hasil dari pencarian itu adalah sebagai berikut,
Count: 16 87.118.118.38
Count: 17 211.212.19.213
Count: 18 118.168.140.94
Count: 21 118.168.132.225
Dari sambungan yang ada tersebut, kita dapat mendeteksi berapa jumlah sambungan yang ada untuk setiap IP address. Dari sini kita dapat melihat mana yang kira-kira serangan DDos dan mana yang tidak.
Kalau anda menemukan IP address yang ada kemungkinan serangan DDos, silakan diblok IP address tersebut dengan iptables atau ipchains atau firewall milik anda.
Misalnya IP address 118.168.132.225 ingin anda blok, agar tidak dapat akses ke SMTP atau port 25, anda dapat melakukannya dengan perintah seperti berikut ini.
/sbin/iptables -A INPUT -s 118.168.132.225 -p tcp --dport 25 -j DROP
Sudah tentu, script netstat dan awk di atas dapat anda jadikan shell scripts dan jalankan secara periodik dengan crontab. Tambahkan fungsi pengiriman email kalau ada serangan DDos, maka anda dapat memonitor server anda 24 jam dari serangan DDos saat anda tidur nyenyak.
Selamat mencoba.
0 komentar:
Posting Komentar