Advertisement

SharingMatrix.com - Free, simple and fast file hosting!

Senin, 14 Juni 2010

Mencegah serangan DOS dengan membatasi respon PING

Apakah anda pernah memakai perintah PING ? ketika server anda tidak ada respon atau mati dan anda ingin mengecek bagaimana kondisi respon server anda, maka perintah ping adalah perintah yang sangat sederhana untuk mengetah ui apakah server anda hidup atau mati.

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, saya ingin memberikan sedikit trik bagaimana menangani serangan DOS yang dilakukan dengan PING. 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.


Tidak ada komentar:

Posting Komentar