'ddos'에 해당되는 글 1건

  1. 2008.03.21 Linux 서비스 거부 공격에 대비한 TCP/IP 스택 강화
출처 : http://www.1000dedi.net
(다운로드) : wget
http://down.smileserv.com/setup/sysctl-shell.sh 

(실행) : sh sysctl-shell.sh

스크립트 실행하여 적용된상태 스크린샷 (아래와같이 나올시 정상)

사용자 삽입 이미지

재확인: sysctl -a


2) iptables 의  connlimit 모듈을 이용한 syn_flood 공격막기

 

설치전 주의사항

반드시 자신의 시스템의 커널에 맞는 모듈을 써야 iptables 구문오류가 나지 않습니다.


------------------------------------------------------------------------------------------------------------

예제)  아래와같은 시스템의경우 다운로드사이트에서

           kernel-modules-connlimit-2.6.9_55.0.2.EL-0.20051006.ker.rhel4.i686.rpm 다운로드하여 설치하여야합니다.

사용자 삽입 이미지

1) 32비트/64비트인지 여부(i686(32비트) 인지 x86_64(64비트))

2) smp(cpu2개이상) 여부

3) kernel 버전에 맞추시길 바랍니다.


------------------------------------------------------------------------------------------------------------


다운로드사이트 (

srpm: ftp://ftp.pslib.cz/pub/users/Milan.Kerslager/RHEL-4/stable/SRPMS/
rpm:
ftp://ftp.vslib.cz/pub/local/milan.kerslager/RHEL-4/stable/

 

설치

rpm -Uvh 다운로드파일.rpm


설치후 설정법

주의) 반드시 connlimit 모듈이 설치되어 있을 때 아래명령어를 수행하셔야 합니다.


확인법예제: rpm -qa|grep conn

자신의 버전에 맞는 rpm 패키지가 나와야함

사용자 삽입 이미지

설치가 잘되었다면 다음명령어 수행

(다운로드) : wget http://down.smileserv.com/setup/connlimit-shell.sh
(실행) : sh connlimit-shell.sh

 

참고사항: iptables: Unknown error 4294967295 에러메세지는 적용한 커널에서는

-A INPUT -p tcp --syn -m connlimit --connlimit-above 20 -j DROP 에 대한 룰만 적용이 되지 않을 것입니다. (해당커널 미지원문제)


정상 적용한상태의 iptables 룰 상태

사용자 삽입 이미지

쉘스크립트내용 (즉시 적용하며, 리부팅후에도 적용되도록 설정함)

--------------------------------------------------------------------------------------------

#!/bin/sh

echo "

#!/bin/sh

# 한 ip에서 20개 이상의  syn 요청이 올경우 차단

/sbin/iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 20 -j DROP

 

# syn 20번연결후 초당 10회연결제한

/sbin/iptables -N syn-flood1

/sbin/iptables -A INPUT -p tcp --syn -j syn-flood1

/sbin/iptables -A syn-flood1 -m limit --limit 10/s --limit-burst 20 -j RETURN

/sbin/iptables -A syn-flood1 -j DROP

" >> /etc/rc.d/connlimit.sh;chmod 700 /etc/rc.d/connlimit.sh;

echo "/etc/rc.d/connlimit.sh" >> /etc/rc.d/rc.local;

/etc/rc.d/connlimit.sh;

/sbin/iptables -L -n;

--------------------------------------------------------------------------------------------

Posted by 시스템매니아
,