메뉴 닫기

mod_evasive 모듈 – apache DDOS(아파치 디도스) evasive 모듈이란?

요즘 이슈가 되고 있는 DDOS 공격으로 인해 많은 피해를 보고 있습니다.

 apache 모듈 중에 가벼운 공격을 차단할 수 있는 모듈이 있다는 것을 알고 계신가요?

바로 mod_evasive 모듈인데요.

이 모듈에 대해 알아보고, 간단하게 설치 및 설정 방법에 대해 소개해 드리겠습니다.

 

apache

 

mod_evasive 모듈이란?

apache의 Dos, DDoS 공격 방어 모듈로 초 당 일정 횟수 이상 같은 페이지를 요청하는 경우,  초 당 같은 자식 노드를 동시에 일정 회수 생성하는 경우 공격 IP에 대한 접근을 일정 시간 차단하는 기능이 있습니다.
해당 모듈로는 가벼운 공격만 차단할 수 있으며, DDoS 공격은 여러 가지 형태로 공격할 수 있어 방어 장비 및 방화벽 프로그램으로 막는 것이 가장 좋은 방법입니다.

 

* DOS(Denial of Service Attack) 공격이란?

DOS 공격
   -> 서비스 거부 공격, 즉 시스템을 악의적으로 공격해 해당 시스템의 리소스를 부족하게 하여 원래 의도 된 용도로 사용하지 못하게 하는 공격입니다.

 

* DDOS(Distributed Denial of Service) 공격이란?

DDOS 공격
   -> 분산 서비스 거부 공격, 즉 여러 대의 공격자를 분산적으로 배치해 동시에 서비스 거부 공격을 하는 방법입니다.

 

mod_evasive 모듈로 차단 가능한 case 예시

 - 초 당 몇 번 이상의 같은 페이지를 호출
 - 일시적으로 blocking 되는 동안 요청을 생성하는 경우

 

간단하게 evasive 모듈이 어떤 모듈인지 알게 되었다면, evasive 모듈 설치 및 설정 방법에 대해 알려드리겠습니다.

 

mod_evasive 모듈 설치 방법

# yum install mod_evasive // ​​CentOS

# apt install libabache2-mod-evasive // ​​우분투

 

mod_evasive 모듈 확인

# ll /etc/httpd/modules | grep mod_evasive

 

mod_evasive.conf 파일 수정

# vi /etc/httpd/conf.d/mod_evasive24.so

# mod_evasive 구성
LoadModule evasive20_module 모듈/mod_evasive24.so

<IfModule mod_evasive24.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
#DOSEmailNotify you@yourdomain.com
#DOSSystemCommand “su – someuser -c ‘/sbin/… %s …'”
DOSLogDir “/ var/log/mod_evasive”
#DOS 화이트리스트 127.0.0.1
</IfModule>

위 설정 파일에서 항목이 어떤 것을 의미하는지 알아봅시다.

 1. DOSHashTableSize : HashTable 크기, 사이트 분석을 위한 사이즈 할당

                                            접속량이 많은 사이트인 경우 크기를 크게 잡습니다.

                                            (값을 높이면 성능은 좋아지나 메모리가 소요됩니다.)

 2. DOSPageCount : Page interval e당 같은 페이지 요청 수

 3. DOSSiteCount : Site interval 당 같은 페이지 요청 수

 4. DOSPageInterval : 페이지 수 임계값 간격 (초)

 5.  DOSBlockingPeriod : Blocking list에 등록된 후 차단 해제되는 시간

 6. DOSSystemCommand : 발동 시 시스템 명령어 실행

 7. DOSLogDir : 로그 파일 경로 (반드시 logdir를 설정해야 해제가 가능합니다.)

                              로그 파일 경로에 설정해둔 디렉토리가 있는지 확인,

                              없다면 생성해줘야 하며 권한 설정도 확인하고 해줘야 합니다.

 8. DOSWhitelist : Blocking되지 않을  Withe IP 등록

                                   (단일IP, IP 대역 모두 적용 가능합니다.)  

 

mod_evasive.conf 파일설정 완료 후 apache 재시작

# systemctl 재시작 httpd

 

간단한 스크립트를 생성하여 공격 테스트를 진행해봤습니다.

차단된 리스트는 위에 mod_evasive.conf 파일에서 지정한 log-dir에서 확인이 가능합니다.

mod_evasive 모듈 테스트

 

차단 해제하려면 로그 디렉터리에 있는 파일을 rm 명령어로 삭제하면 됩니다.

처음에도 안내해드린 것과 같이 apache evasive 모듈은 가벼운 공격만 차단하는 기능으로 DDOS 공격에는 DDOS 공격에 전문적으로 대응 가능 한 장비 및 웹 방화벽을 사용하는 것을 권장해드립니다.

감사합니다.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x