SYN Flood攻撃は非常に一般的で、頻繁に発生する攻撃の1つです。この攻撃では、大量のリクエストがWebサーバーに送信され、多数の接続が作成されます。ボットのIPアドレスを迅速にブロックしないと、サービス拒否(DoS)を引き起こす可能性があります。このインストールと設定は、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アドレスをブロックします。