CentOS6でdos攻撃をbanする
fail2banのインストール
# yum install fail2ban
設定ファイルの変更
/etc/fail2ban/fail2ban.conf
#logtarget = SYSLOG ↓ logtarget = /var/log/fail2ban.log
loglotateの設定ファイル
vi /etc/logrotate.d/fail2ban
/var/log/fail2ban.log { missingok notifempty size 30k create 0600 root root postrotate /sbin/service fail2ban reload 2> /dev/null || true endscript }
ban設定を追記
/etc/fail2ban/jail.conf
[wplogin-iptables] enabled = true filter = apache-wplogin action = iptables[name=HTTP, port=http, protocol=tcp] logpath = /var/log/httpd/xxx_access_log maxretry = 5 findtime = 60 bantime = 1800
項目 | 説明 |
---|---|
enabled | 有効(=true)/無効(=false)を設定 |
filter | ログパターンの指定(後述) |
action | パケットフィルタによるアクセスの遮断を実現する |
logpath | Apacheのアクセスログを指定 |
maxretry | パターンの出現回数閾値を設定 |
findtime | パターンの出現回数を数えるときの単位時間(秒) |
bantime | アクセス遮断を行う時間(秒) |
jailのfilterを書く
vi /etc/fail2ban/filter.d/apache-wplogin.conf
[Definition] failregex = ^<HOST> -.*"POST /wp-login.php HTTP.*$ ignoreregex =
fail2ban再起動
# service fail2ban restart