일상 기록 창고

mod_dosevasive 설치하기. 본문

프로그래밍/PHP

mod_dosevasive 설치하기.

Crazy_Kong 2011. 6. 7. 12:18

1. 모듈 다운로드하기.

 http://www.zdziarski.com/blog/?page_id=442

 

2. 설치하자..

CHANGELOG  LICENSE  Makefile.tmpl  README  mod_evasive.c  mod_evasive20.c  mod_evasive20.la  mod_evasive20.lo  mod_evasive20.o  mod_evasive20.slo  mod_evasiveNSAPI.c  test.pl

 

압축을 푼 후 해당 디렉토리로 이동하면 위와 같은 파일들이 보인다.

 

아파치 1.x 대 일 경우

mod_evasive.c 을 사용

 

아파치 2.x 대 일 경우

mod_evasive20.c 을 사용.

 

실제로 아파치와 연동을 위해 다음과 같이 한다.

/usr/sbin/apxs -cia ./mod_evasive20.c

 

3.  아파치 모듈이 올라왔는지 확인.

LoadModule evasive20_module   /xxxxx/xxxx/mod_evasive20.so

 

4. 아파치 설정하기.

README 파일에서 설정 부분을 카피 하였음. 입맛에 맞게 변경하기.

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>

 

- DOSHashTableSize : 클라이언트의 요청을 해석하기 위한 테이블 공간. 크면 클수록 메모리를 많이 잡아먹지만, 해석이 빠르겠죠.
- DOSPageCount : 같은 페이지를 DOSPageInterval (단위 : 초) 동안 DOSPageCount 만큼 요청하면 블럭시킴.
- DOSPageInterval : (위 지시자와 함께 사용)
- DOSSiteCount : 같은 웹사이트에 DOSSiteInterval (단위 : 초) 동안 DOSSiteCount 만큼 요청이 있으면 블럭시킴.
                       : css, js, gif, jpg, png 등 읽혀지는 모든 파일이 Count 됨.
- DOSSiteInterval : (위 지시자와 함께 사용)
- DOSBlockingPeriod : 블럭당한 클라이언트를 접속 거부할 시간. (단위 : 초)

 

5. 아파치 재시작 한 후 웹 페이지 열어서 열심히 F5를 눌러보자.

웹페이지 404에러 혹은 아파치 기본 설정 페이지 뜨면 완료.

/tmp/dos-아이피 <---- 파일 생성 확인

 

뭐 대강 저렇게 하면 된다.. 작동은 제대로 되는지 확인을 해봐야 겠지만서도.. DDos 공격 들어온다길리 함 넣어봤는데..

안들어온다.. 공격을 ㅎㅎㅎㅎ

'프로그래밍 > PHP' 카테고리의 다른 글

XOR 연산을 이용한 변수 값 바꾸기  (0) 2012.06.19
node.js 한글 메뉴얼 페이지  (0) 2011.12.01
특수문자 추출  (0) 2010.11.23
특수문자 추출  (0) 2010.11.23
검색엔진 스핑크스 사용시 한글 사용  (0) 2010.10.15