Knowledge Base/Linux

SYN Flooding, DoS 공격과 Ping을 막는 방법

Woos™ 2009. 8. 27. 18:03
외부에서 ping이나 SYN 패킷을 대량으로 보내서 서비스 거부 공격을 시도하는 경우가 종종 있다. 시스템 부하에 이르지 않으면 서비스엔 지장이 없지만 그런 패킷 때문에 자원을 갉아먹는 것도 사실이고, 신경 쓰이는 것도 사실이다.

iptables을 이용해서 ping을 막는 방법도 있지만 SYN Flooding 공격까지 함께 막아보자. echo만 사용해서 간단하게 할 수 있다

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

위 명령은 커널 설정을 조정하는 것으로 커널 레벨에서 차단을 하게 된다.

명령어로 하고 싶다면

sysctl -w net.ipv4.tcp_syncookies=1

로 하면 된다. 어떤 것을 사용해도 상관없다.

ping을 차단하려면 다음 명령을 사용한다

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

ping에 대한 브로드캐스트, 멀티캐스트를 차단하려면 다음과 같이 설정한다.

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

반대로 TCP SYN을 허용하거나 ping을 허용하고 싶다면 echo 1 대신에 echo 0을 사용하면 된다.

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

이렇게하면 ping을 다시 허용한다.