firewalld + Fail2ban

NO IMAGE

ディストリビューション : CentOS7

アプリケーション : Fail2ban(IUS)

Fail2banとは、ログ内容をスキャンして不正なアクセスと思われる条件にマッチしたIPをfirewalldに自動で登録を行い遮断する仕組みです。また、ログ内容に記載されてからFail2banは動作するため、条件のルール次第では1回目以上のアクセスで効果があることに注意が必要。

インストール

yum --disablerepo=extras --enablerepo=ius,epel install fail2ban-firewalld

起動

systemctl start fail2ban.service

基本的な設定ファイル

・例1 SSHDを有効にする

/etc/fail2ban/jail.conf 224行目付近に下記内容を追記

[sshd]

# To use more aggressive sshd filter (inclusive sshd-ddos failregex):
#filter = sshd-aggressive
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
ignoreip = 127.0.0.1/8
bantime  = 604800
findtime  = 86400
maxretry = 5

個別で条件を指定しない場合は下記の内容は不要、デフォルトの値が使用される。

jail.conf [DEFAULT] 41行目付近

・ignoreip(除外IP)

・bantime(アクセス禁止期間)

・findtime(期間)

・maxretry(回数)

1日に(findtime)5回(maxretry)検知したら1日(bantime)アクセスを遮断する

SSHDフィルタルールの設定ファイル
/etc/fail2ban/filter.d/sshd.conf

 

全体の状態確認

fail2ban-client status
Status
|- Number of jail:	1
`- Jail list:	ssh

特定サービスの確認

fail2ban-client status ssh
|- Filter
|  |- Currently failed:	0
|  |- Total failed:	1
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service
`- Actions
   |- Currently banned:	0
   |- Total banned:	1
   `- Banned IP list:

Banned IP list = 条件にマッチして遮断されたIPアドレス

 

特定サービスから遮断されたIPの解除

fail2ban-client set http unbanip XXX.XXX.XXX

手動で遮断するIPの追加

fail2ban-client set http banip XXX.XXX.XXX

フィルタのテスト

fail2ban-regex /var/log/secure /etc/fail2ban/filter.d/sshd.conf

 

ファイヤーウォールカテゴリの最新記事