아파치(httpd) ddos mod_evasive 모듈 설치 및 테스트

블로그 제목

 

 

mod_evasive

 

- 아파치 ddos 보안 모듈로,  서버에 많은 요청을 보내는 트래픽을 차단하는 역할을 한다


설치 방법

 

Centos

# Centos
$ yum install epel-release
$ yum update mod_evasive

 

Ubuntu

$ apt isntall libabache2-mod-evasive

 

 

설정 파일 위치

 

/etc/httpd/conf.d/mod_evasive.conf

 

 

설정파일 알아보기

 

LoadModule evasive20_module modules/mod_evasive20.so # 모듈로드
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097  # HashTable 크기-사이트 분석을 위한 사이즈할당\
                              # 접속량이 많은 사이트인 경우 크기를 크게 잡을것
    DOSPageCount        2     # 지정한 시간(DOSPageInterval)동안 같은페이지를(DOSPageCount번)
                              # 요청할 경우 403에러
    DOSPageInterval     1     # 단위(초)
    DOSSiteCount        50    # 지정한 시간(DOSSiteInterval)동안 총히트수(html/이미지)가 
                              # 총(DOSSiteCount)을 초과할경우 403에러
    DOSSiteInterval     1     # 단위(초)
    DOSBlockingPeriod   10    # 차단 시간 / 단위(초)
    DOSWhitelist   192.168.0.* # DOS 공격으로부터 제외할 IP 등록
    DOSLogDir           "/tmp" # 로그 경로 지정
</IfModule>

 

 

아파치 재구동

 

$ systemctl restart network

 

 

아파치 ab를 이용한 부하 테스트

 

- n : 총 요청 수

- c : 동시 접속

$ ab -n 20 -c 1 http://10.10.10.1/index.html

 

- 로그 확인 

- 200 OK로 응답하다가 차단되어 403으로 응답

[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 200 5 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 200 5 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 200 5 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 200 5 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 403 290 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 403 290 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 403 290 "-" "ApacheBench/2.3"
[13/Jan/2023:13:53:26 +0900] "GET /index.html HTTP/1.0" 403 290 "-" "ApacheBench/2.3"



 

댓글

Designed by JB FACTORY

loading