Mencegah serangan DOS dengan membatasi respon PING
Perintah ping ini kalau dilakukan secara massal kepada suatu IP tertentu sehingg dapat menimbulkan kondisi SYN Cookies maka server anda akan kelabakan untuk merespon serangan ping ini. Di salah satu sisi ada untungnya di salah satu sisi yang lain, ping ini dapat meruntuhkan service yang ada di server anda.
Bagaimana penaganannya ? Tidak terlalu sulit dan tidak terlalu gampang. Asal anda membaca tulisan ini dan kemudian mencari di paman Google, maka akan anda temukan jawabannya.
Pada kesempatan ini, penulis ingin memaparkan dengan mudah bagaimana menangani serangan DOS yang dilakukan dengan PING ini. Software yang diperlukan adalah iptables. Anggap saja anda mempunyai script semacam ini, yang anda jalankan di server anda untuk melengkapi security di server anda.
-
#! /bin/sh
-
-
trusthost='192.168.10.100'
-
myhost='192.168.20.200'
-
any='0.0.0.0/0'
-
-
##############
-
#Flush & Reset
-
##############
-
iptables -F
-
iptables -X
-
##############
-
#Deafult Rule
-
##############
-
iptables -P INPUT DROP
-
iptables -P OUTPUT DROP
-
iptables -P FORWARD DROP
-
#########
-
#loopback
-
#########
-
iptables -A INPUT -i lo -j ACCEPT
-
iptables -A OUTPUT -o lo -j ACCEPT
-
#######################
-
#ICMP trusthost->myhost
-
#######################
-
iptables -A INPUT -p icmp --icmp-type echo-request -s $trusthost -d $myhost -j ACCEPT
-
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s $myhost -d $trusthost -j ACCEPT
-
#######################
-
#ICMP myhost->trusthost
-
#######################
-
iptables -A OUTPUT -p icmp --icmp-type echo-request -s $myhost -d $trusthost -j ACCEPT
-
iptables -A INPUT -p icmp --icmp-type echo-reply -s $trusthost -d $myhost -j ACCEPT
-
#######################
-
#ssh trusthost-> myhost
-
#######################
-
iptables -A INPUT -p tcp -s $trusthost -d $myhost --dport 22 -j ACCEPT
-
iptables -A OUTPUT -p tcp -s $myhost --sport 22 -d $trusthost -j ACCEPT
-
#########
-
#logging
-
#########
-
iptables -N LOGGING
-
iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
-
iptables -A LOGGING -j DROP
-
iptables -A INPUT -j LOGGING
-
iptables -A OUTPUT -j LOGGING
Untuk menolak serangan DOS lewat PING tambahkan policy di iptables seperti berikut ini,
# iptables -A INPUT -p icmp --icmp-type echo-request -s $trusthost -d $myhost -m limit --limit 1/m --limit-burst 10 -j ACCEPT
Dari setting di atas dalam waktu 1 menit hanya dibolehkan respon ping sebanyak 10 kali.
Apakah dengan ini saja cukup ? jawabannya adalah belum.
Kita harus setting juga kernelnya. Lakukan setting seperti ini sehingga SYN Cookies tidak berlaku di server anda.
# echo '1' > /proc/sys/net/ipv4/tcp_syncookies
atau lakukan dengan printah seperti berikut ini,
# sysctl -w net.ipv4.tcp_syncookies=1
Periksa di file /etc/sysctl.conf, apakah ada nilai net.ipv4.tcp_syncookies=1 di situ.
Ada DOS yang bernama Smurf yang juga dilakukan melalui ICMP alias ping juga.
Untuk ini setting saja server anda seperti berikut ini,
# echo '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
atau dengan perintah sysctl seperti berikut ini,
# sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
Periksa file /etc/sysctl.conf apakah ada setting seperti ini ?
-
net.ipv4.icmp_echo_ignore_broadcasts=1
Kalau ada, berarti server anda sekarang sudah aman dari serangan DOS melalui PING.
Semoga bermanfaat.



July 1st, 2008 at 12:26 pm
Terima kasih atas artikelnya, baru kali ini saya tahu kalau dengan ping server kita dapat kecolongan juga.
S.Agus
July 2nd, 2008 at 6:41 am
Kalau selain ping apa ada yang membuat server kita jadi terserang ?
M. Arfan
July 9th, 2008 at 9:05 am
Terima kasih artikelnya, saya tambahkan ke server saya.
July 11th, 2008 at 7:21 am
kl menggunakan mirotik bagaimana caranya, bos ?
plis kasih tau dong
July 11th, 2008 at 8:24 am
mirotik gimana ini maksudnya ya ? mikrotik ?
October 7th, 2008 at 6:05 pm
mas mohon nanya.. kalo kita ping ke salah satu IP dengan perintah seperti ini ” ping -t-l65500 pc ip yang di tuju” apa artinya.. mohon pencerahan.. makasih.
October 8th, 2008 at 6:22 am
ping -t-l65500 ini maksudnya
-t : ini waktu ttl, defaultnya 255
-l65500 : kirim paket dengan besar 65500 bytes
gitu ya.
July 5th, 2009 at 11:58 am
ajari semua hal tenang “ping” dong mas. . .
saya masih bener2 buta sama yang namanya “ping” ini. . .
mohon responsnya sesegera mungkin ya. . . .