본문 바로가기
Computer Base/Web&Was

Apache mod_evasive DDOS 차단

by 팡팡마트 2023. 8. 21.
728x90

** CentOS 8 Stream

 

1. 아파치 설치

Linux : open jdk11 설치 (tistory.com)

 

Linux : open jdk11 설치

**Centos 8 stream 1. 패키지 설치 # yum install java-11-openjdk-devel.x86_64 2. 설치 확인 # java –version 3. 환경변수 설정 // /bin/javac에 연결된 원본파일 위치 확인 # readlink -f /bin/javac // JAVA_HOME이 될 경로 /usr/lib/jv

pangpangmart.tistory.com

Linux : Apache 설치 (tistory.com)

 

Linux : Apache 설치

1. 패키지 설치 # yum install httpd 2. 활성화 # systemctl enable httpd # systemctl start httpd 3. 방화벽 오픈 # firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cm

pangpangmart.tistory.com

 

2. Repository 설정 및 mod_evasive 패키지 설치

# dnf install https://pkgs.dyn.su/el8/base/x86_64/raven-release-1.0-1.el8.noarch.rpm
# dnf --enablerepo=raven-extras install mod_evasive

 

3. 모듈 확인

# cd /etc/httpd/modules

# ll | grep evasive

 

4. mod_evasive.conf 수정

# mkdir /var/lock/mod_evasive

# chmod 777 /var/lock/mod_evasive

# vi /etc/httpd/conf.d/mod_evasive.conf

로그디렉토리 주석 삭제

 

옵션 설명
• DosHashTable
 HashTable의 크기로 사이트/페이지에 대한 분석을 위한 사이즈 할당 (접속이 많은 경우 크게 잡는 것을 권고)
• DOSPageCount
 동일한 페이지에 대한 Requset의 수에 대한 임계값 설정.
• DOSSiteCount
 동일한 사이트 대한 Requset의 수에 대한 임계값 설정.
• DOSPageInterval
 페이지에 대한 임계 값 간격. Default -> 1초
• DOSSiteInterval
사이트에 대한 임계 값 간격. Default -> 1초
• DOSBlockingPeriod
 접속 차단을 몇 분으로 지정할 것인지 설정
• DOSLogDir
 DOS라고 판단되는 트래픽이 들어왔을 때  IP 정보를 남기는 파일이 저장되는 경로

 

5. 아파치 재시작

# systemctl restart httpd

 

6. 테스트

# ab -n 20 -c 1 http://[아파치ip]/index.html

# systemctl status httpd

차단된 ip확인

# cd /var/lock/mod_evasive/

# ll

파일을 rm으로 삭제하면 차단 해제

 

**이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

728x90