debian 계열 Linux에서 apache2 웹서버를 운영한다면, 간단한 방법으로 DDoS 공격을 차단 할 수 있다.
mod_evasive 를 사용하는 방법이다. mod_evasive는 따로 설치해 주어야 하며, debian 계열에서는 간단하게 설치가 가능하다.
1. 설치
# apt-get install libapache2-mod-evasive
2. 설정
/etc/apache2/mods-available/mod-evasive.conf 화일에 아래 내용을 추가한다. 경우에 따라, 화일 이름이 evasive.conf 일 수도 있다.
# vi /etc/apache2/mods-available/mod-evasive.conf
<IfModule mod_evasive20.c>
#DOSHashTableSize 3097
DOSHashTableSize 1024
#DOSPageCount 2
DOSPageCount 2
#DOSSiteCount 50
DOSSiteCount 50
#DOSPageInterval 1
DOSPageInterval 1
#DOSSiteInterval 1
DOSSiteInterval 1
#DOSBlockingPeriod 10
DOSBlockingPeriod 10
#DOSEmailNotify you@yourdomain.com
#DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
#DOSLogDir "/var/log/mod_evasive"
DOSLogDir "/var/log/mod_evasive"
</IfModule>
3. log 디렉토리 설정
# mkdir -p /var/log/mod_evasive # chown -R www-data:www-data /var/log/mod_evasive
4. 모듈을 활성화 해주고 apache서버를 재실행한다.
# a2enmod mod-evasive Enabling module mod-evasive. To activate the new configuration, you need to run: service apache2 restart # service apache2 restart * Restarting web server apache2
5. 테스트
사이트에 접속해서 F5를 계속 누르면, Forbidden 메시지가 보인다. 다만, 단순 웹페이지는 잘 작동하는것을 확인했다.