Linux:fail2banで防ぐ「DoS/DDoS攻撃」対策

不正アクセスを検知し一定時間、対象IPアドレスからのアクセスをブロックするソフトウェア「fail2ban」を用いた、DoS/DDoS攻撃対策を行います。通常 fail2banは、単体では使用せずファイアウォール(iptablesや firewalld)ともに使用します。(2017/12/23作成)

Firewall aitoff / Pixabay

1.fail2banの導入

0)環境

1)インストール

fail2banのインストールには、Yumリポジトリ「EPEL」が必要になります。

2)fail2banのlog設定

3)fail2banのloglevel設定

Ban(ブロックした)やUnBan(ブロックを解除した)の処理だけを記録するように fail2banの設定ファイルを編集します。

注意) 後の解説にある fail2banの filter定義「recidive」を用いる場合、loglevelは「INFO」にする必要があります。

4)fail2banのファイアウォールversion

ファイアウォール(iptables)のバージョンが古いとうまく動作しないことがあるようなので、 /etc/fail2ban/action.d/iptables-common.conf も編集して lockingoptオプションを無効にします。

なお iptables –helpコマンドを実行して「-w」オプションがあれば本作業は必要ありません。

5)fail2banのfilter定義

6)fail2banのJail(ban)定義

このJail(檻)設定内容をまとめると「 /etc/fail2ban/filter.d/nginx-dos.conf フィルターファイルのルールに、3秒間で12回一致したら、そのIPアドレスを1日ブロック」する。ブロック結果は root宛にメール配信する。

このJail(檻)設定内容をまとめると「 /etc/fail2ban/filter.d/recidive.conf フィルターファイルのルールに、攻撃再犯者には厳しく…fail2banでしつこい攻撃者だけ長期Banする設定。ブロック結果は root宛にメール配信する。

7)起動/自動起動設定

2.fail2banの運用

1)ホワイトリスト設定

2)間違えてIPを Banしてしまった場合の対処

3)どれくらいIPが Banされているのかを確認

以上

Pocket

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。

コメントを残す