evasive
evasive 란 무엇인가?
공식 사이트에서 제공하는 내용은 아래와 같다.
mod_evasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack.
내용을 일축하면 HTTP 의 DoS 또는 DDoS 그리고 무차별 대입 공격을 피할수 있다고 한다.
공식 사이트에서 제공하는 탐지 방법은 아래와 같이 되어 있다.
Detection is performed by creating an internal dynamic hash table of IP Addresses and URIs, and denying any single IP address from any of the following:
-
Requesting the same page more than a few times per second
-
Making more than 50 concurrent requests on the same child per second
-
Making any requests while temporarily blacklisted (on a blocking list)
일축 하면탐지는 IP, URI의 내부 동적 해쉬테이블을 생성함으로 수행되고 각 IP 별로
다음 사항들에 의해 deny 된다.
- 초당 몇번 이상의 같은 페이지를 요청하는 경우
- 초당 같은 자식노드를 동시에 50번 이상 생성하는 경우
- 일시적으로 블러킹되는 동안 어떠한 요청을 생성하는 경우
설치 : apach 1.3 대 버전과 2.0 대 버전을 지원한다.
apache 1.3 : (STATIC)
1. 아파치 소스 디렉토리의 src/modules 에 evasive 압출 해재
2. 아파치 configure 시에 –add-module=src/modules/evasive/mod_evasive.c 추가
3. 아파치 make && make install
4. 아파치 재시작
apache 1.3 : (DSO)
1. $APACHE_ROOT/bin/apxs -iac mod_evasive.c
2. 아파치 재시작
apache 2.0
1. $APACHE_ROOT/bin/apxs -i -a -c mod_evasive20.c
2. 아파치 재시작
evasive 설치후 apache.conf 를 확인해보면 아래와 같은 부분이 추가 되어 있다.
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 30
</IfModule>
추가 하여 다음과 같은 옵션을 넣을 수도 있다.
DOSEmailNotify you@yourdomain.com
DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
DOSLogDir "/var/lock/mod_evasive"
옵션의 의미는 다음과 같다.
DOSHashTableSize :
각 자식 해쉬테이블 마다 탑레벨 노드의 수를 지정한다
수치가 높으면 높을수록 더 많은 퍼포먼스가 나타나지만 더 많은 메모리 사용
DOSPageCount 3 :
페이지 또는 URI에 PageInterval당 요청수에 대한 카운트 이다.
값이 초과되면 해당 클라이언트에 대한 IP 정보가 블러킹리스트에 추가된다
DOSSiteCount 50 :
어떠한 object 든 동일한 클라이언트의 동일한 listener 에서 SiteInterval 당
요청수에 대한 카운트 이다.
값이 초과되면 해당 클라이언트에 대한 IP 정보가 블러킹리스트에 추가된다
DOSPageInterval 1 :
PageInterval 값 설정을 한다. 단위는 초이다.
DOSSiteInterval 1 :
SiteInterval 값 설정을 한다. 단위는 초이다.
DOSBlockingPeriod 30 :
블랙리스트에 추가되어 블러킹되는 시간 설정. 단위는 초이다.
DOSEmailNotify you@yourdomain.com :
IP 가 블랙리스트에 추가되는 이벤트 발생시 설정된 메일주소로 발송한다.
DOSSystemCommand "su - someuser -c '/sbin/... %s ...'" :
IP 가 블랙리스트에 추가되는 이벤트 발생시 설정된 명령행을 수행한다.
DOSLogDir "/var/lock/mod_evasive" :
locking mechanism을 위해 default로 /tmp 디렉토리를 사용하나 보안적인 issue 로
인해 /tmp 디렉토리를 사용하지 못할시 대안을 위한 설정이다.
evasive 영향을 받지 않고 항상 허용을 하고 싶은 IP 는 DOSWhitelist 에 추가 하면 된다.
방법은 아래와 같다.
DOSWhitelist 127.0.0.1 -> 특정 IP 만 적용
DOSWhitelist 127.0.0.* -> 특적 IP 대역 지정은 * 사용으로 하며 3 octets 까지 사용 가능
'Linux > Apache' 카테고리의 다른 글
Apache 2 and PHP 5 (mod_php) on Linux (0) | 2009.03.18 |
---|---|
CGI를 허용하도록 아파치 설정하기 (0) | 2008.10.09 |
리다이렉트 (0) | 2008.10.09 |
mod_Rewrite (0) | 2008.10.09 |
APM 설치 (0) | 2008.10.09 |