Mencegah serangan DOS dengan membatasi respon PING

July 1 | Posted by Muhammad Yusuf E. | Security Tags: , , , ,

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, 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.

[code num=1]
#! /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
[/code]

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 ?

[code]
net.ipv4.icmp_echo_ignore_broadcasts=1
[/code]

Kalau ada, berarti server anda sekarang sudah aman dari serangan DOS melalui PING.

Semoga bermanfaat.

Tags: , , , ,

11 Responses to “Mencegah serangan DOS dengan membatasi respon PING”

  1. Sagus says:

    Terima kasih atas artikelnya, baru kali ini saya tahu kalau dengan ping server kita dapat kecolongan juga.

    S.Agus

  2. Arfan says:

    Kalau selain ping apa ada yang membuat server kita jadi terserang ?

    M. Arfan

  3. triyono says:

    Terima kasih artikelnya, saya tambahkan ke server saya.

  4. LupaMikir says:

    kl menggunakan mirotik bagaimana caranya, bos ?
    plis kasih tau dong

  5. Muhammad Yusuf says:

    mirotik gimana ini maksudnya ya ? mikrotik ?

  6. anggaraminded says:

    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.

  7. Muhammad Yusuf says:

    ping -t-l65500 ini maksudnya

    -t : ini waktu ttl, defaultnya 255
    -l65500 : kirim paket dengan besar 65500 bytes

    gitu ya.

  8. gie art says:

    ajari semua hal tenang “ping” dong mas. . .
    saya masih bener2 buta sama yang namanya “ping” ini. . .
    mohon responsnya sesegera mungkin ya. . . .

  9. kalo mau lebih aman yaa matiin koneksi internetnya :D

  10. He..he..he.bisa saja mas.

  11. Jep al-'asqolani says:

    Nice Info Gan

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>