Skip to content

조회 수 9486 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
공식 홈페이지 : http://www.zdziarski.com/projects/mod_evasive/ 

1. mod_evasive이란 무엇인가?

   이것은 HTTP Dos 또는 DDos 스택 또는 저돌적인 공격으로부터 아파치를 보호하는데 있습니다.
   이것은 ipchains, 방화벽, 라우터등으로 쉽게 구성될 수 있도록 디자인 되었습니다.

   탐지는 주소, URI의 IP 내부 동적 해쉬테이블을 생성함으로 수행되고, 각 아이피별로 거부됩니다.
   - 초당 몇번 이상의 같은 페이지를 요청하는 경우
   - 초당 같은 자식노드를 동시에 50번 이상 생성하는 경우
   - 일시적으로 블러킹되는 동안 어떠한 요청을 생성하는 경우

2.  mod_evasive의 설치

# wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz

# 압축해제
# tar xvzf mod_evasive_1.10.1.tar.gz

# 디렉토리 이동
# cd mod_evasive

# 모듈 추가
# /usr/local/apache/bin/apxs -iac mod_evasive.c -> Apache.1.x
# /usr/local/apache/bin/apxs -iac mod_evasive20.c -> Apache.2.x

# 환경설정
# vi /usr/local/apache/conf/httpd.conf

# 아파치 1.X와 2.X에서의 모듈명칭이 약간 차이가 있으므로 주의할 것!
# 아래에 해당하는 내용이 존재하는지 확인 한다. 없으면 추가.
LoadModule evasive_module    modules/mod_evasive.so -> Apache.1.x
LoadModule evasive20_module    modules/mod_evasive20.so -> Apache.2.x

<IfModule mod_evasive.c>
        DOSHashTableSize        3097
        DOSPageCount              3
        DOSSiteCount                50
        DOSPageInterval            1
        DOSSiteInterval              1
        DOSBlockingPeriod        30

        DOSEmailNotify            webmaster@yoursite.com
        DOSLogDir                   "/usr/local/apache/logs/mod_evasive.log"
        DOSSystemCommand      "su - someuser -c '/sbin/... %s ...'"
</IfModule>

# 환경설정 검사
# apachectl configtest
# 재시작
# apachectl -k restart


3. 각 지시자에 대한 설명

- DOSHashTableSize 
    각 자식 해쉬테이블 마다 탑레벨 노드의 수를 지정한다.
    수치가 높으면 높을수록 더 많은 퍼포먼스가 나타나지만 테이블스페이스에 메모리를 남기게 된다
    접속량이 많으면 이 수치를 높혀도 된다.
   
- DOSPageCount
    이것은 같은 페이지 또는 URI, 인터벌당 요청수에 대한 카운트 수이다.
    지정된 값이 초과되면 클라이언트에 대한 IP 정보가 블러킹리스트에 추가된다.

- DOSSiteCount
    지정된 시간동안 같은 페이지를 지정된 수 보다 초과될경우 IP 정보가 블러킹리스트에 추가된다.

- DOSPageInterval
    페이지 카운트 시발점, 디폴트는 1초이다.

- DOSSiteInterval
    사이트 카운트 시발점, 디폴트는 역시 1초이다.

- DOSBlockingPeriod
    클라이언트가 블랙리스트에 추가되어 블러킹되는 총 시간.
    이때 클라이언트는 403 (Forbidden) 에러를 출력하게 된다.

- DOSEmailNotify
    이 값이 지정되면, IP가 블러킹될때마다 지정된 이메일로 발동된다.
주의 : 메일러는 mod_dosevasive.c 에 정확하게 지정되야 한다. 디폴트는 "/bin/mail -t %s" 이다.

- DOSLogDir
   로그 파일 경로

- DOSSystemCommand
    이 값이 지정되면, 시스템은 아이피가 블러킹될때마다 명령행을 실행한다.

- DOSWhitelist
   차단에서 제외될 호스트

   DOSWhitelist    127.0.0.1
   DOSWhitelist    127.0.0.* - (와일드카드는(*) 필요하다면 최대 8진수(xxx.*.*.*)까지 사용할 수 있다.)



4. 테스트하기
# perl test.pl <- 다운받은 파일 안에 포함되어 있다.
   HTTP/1.1 200 OK
   HTTP/1.1 403 Forbidden
   HTTP/1.1 200 OK
   HTTP/1.1 403 Forbidden
   HTTP/1.1 403 Forbidden

List of Articles
번호 제목 글쓴이 날짜 조회 수
28 서버종합점검[리눅스] ADMINPLAY 2009.05.28 8427
27 iptables 명령어로 ip 차단 법. ADMINPLAY 2009.05.28 9336
26 서버의 iptable 보안설정 일부분 ADMINPLAY 2009.05.28 8867
25 DDOS - iptables 방화벽 초간단 문서 ADMINPLAY 2009.05.28 12369
24 iptables 설정, centos64 설치 간단셋팅 ADMINPLAY 2009.05.28 8905
23 iptables/sysctl을 이용하여 DDOS SYN 공격 방어하기 ADMINPLAY 2009.05.28 9272
22 iptables 기본 ADMINPLAY 2009.05.22 8458
21 간단한 보안 설정 (TCP Wrapper) ADMINPLAY 2009.05.22 9004
20 DOS Attack을 막기 위한 간단한 방법 ADMINPLAY 2009.05.22 9632
19 기본 tcpdump사용법 ADMINPLAY 2009.05.22 11751
18 SQL 인젝션(injection) 프로그램 15종 ADMINPLAY 2009.05.22 12588
17 해킹툴이 사용하는 포트번호 ADMINPLAY 2009.05.22 9884
16 접속 로그파일 보기(wtmp) ADMINPLAY 2009.05.11 13945
15 국가별로 접속 차단설정(geoip 설치) ADMINPLAY 2009.05.10 10489
» mod_evasive를 이용한 웹Dos 공격을 막자 ADMINPLAY 2009.05.07 9486
13 보안서버 SSL 구동시 비밀번호 자동 입력 및 부팅시 자동 ... ADMINPLAY 2009.03.23 9389
12 apache 웹방화벽 모듈 modsecurity용 웹설정 툴, Remo file ADMINPLAY 2009.03.17 10106
11 최신 버전으로 구축하는 웹 파이어월, modsecurity file ADMINPLAY 2009.03.17 12913
10 리눅스 아이피 차단 해제 ADMINPLAY 2009.03.11 10598
9 보안서버구축 - SSL(설치 및 키생성) 1 ADMIN 2009.01.04 10529
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234