매우 유명하고 가장 일반적인 공격은 웹 서버에 많은 수의 요청을 보내는 SYN Flood 공격입니다. 이 유형의 공격은 웹 서버에 대한 많은 연결을 생성하여 봇의 IP가 서비스 거부로 이어집니다. 주소는 제 시간에 차단되지 않습니다. 설치 및 구성은 CentOS 7 운영 체제에서 수행됩니다. 원본 프로그램은 다음 위치에 있습니다 https://github.com/jgmdev/ddos-deflate.
1. ddos deflate를 다운로드하고 설치해야 합니다
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip -O ddos.zip
unzip ddos.zip
cd ddos-deflate-master
./install.sh
2. 설정
/etc/ddos/ignore.host.list
/etc/ddos/ignore.ip.list
/etc/ddos/ddos.conf
ignore.ip.list 파일에 서버에 할당된 IP 주소를 입력해야 합니다. 다음으로 구성 파일에서 설정을 원하는 대로 변경합니다:
/etc/ddos/ddos.conf
NO_OF_CONNECTIONS=390
ONLY_INCOMING=false
ENABLE_PORTS=false
EMAIL_TO="user@domain.tld"
BAN_PERIOD=5400
NO_OF_CONNECTIONS=390 값은 방화벽 제한 사항에서 설정한 값보다 작아야 합니다. 이메일을 입력하고 서비스를 시작하세요.
service ddos start
다음 명령으로 서비스가 실행 중인지 확인하세요
ps aux | grep ddos
또한, 서비스가 종료될 경우를 대비하여 cron에 추가하는 것을 권장합니다.
*/5 * * * * nice -n -5 /usr/local/ddos/ddos.sh -d >> /dev/null 2>&1
정지되는 경우 부하 모니터링 스크립트에 명령으로 추가하는 것이 좋습니다
service ddos restart
3. 용법 CLI
ddos [OPTIONS] [N]
OPTIONS
-h | --help:
도움말 창을 표시합니다.
-c | --cron:
cron에 스크립트를 추가합니다(기본적으로 1분마다).
-i | --ignore-list:
IP 화이트리스트
-b | --bans-list:
현재 차단된 주소를 표시합니다.
-u | --unban:
특정 IP 주소의 차단을 해제하세요.
-d | --start:
백그라운드에서 서비스로 실행됩니다.
-s | --stop:
서비스를 중지합니다.
-t | --status:
서비스 상태와 실행 중인 경우 해당 pid를 표시합니다.
-v[4|6] | --view [4|6]:
활성 연결을 표시합니다.
-y[4|6] | --view-port [4|6]:
포트를 포함한 활성 연결을 표시합니다.
-k | --kill:
N개 이상의 연결이 있는 모든 IP 주소를 차단합니다.