🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

Q&A

解決済

1回答

2220閲覧

【CentOS8】fail2banが動いているように見えて、実際はbanしてくれない

yiwsk

総合スコア39

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

0グッド

0クリップ

投稿2023/04/08 22:45

前提

Sakura VPSでCentOS Stream release 8
fail2banのバージョンは、0.11.2
filrewalldは無効化、nftablesを有効化
サーバーへの攻撃がひどいので、fail2banを導入しましたが、うまく動きません。

発生している問題・エラーメッセージ

jail.local(下記)でbanした際にメールを送るように設定しているので、以下のようなメールがどんどんと送られてきます。

[Fail2Ban] sshd: banned banされたはずのIP from 私のサーバー

ところが、実際にはbanされず、banされたはずのIPからの攻撃が続いています。
iptables -Lとしてみると、

Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination

となっていて、何も設定されません。
fail2banとiptablesとの連携に問題があるようです。

色々と海外のサイトも含めてググって、丸2日試行錯誤してみましたが、ダメで途方に暮れています。
どこに原因があると考えられるのか、アドバイスをいただければありがたいです。

jail.local

[DEFAULT] #■基本設定 backend = auto ; ContOS7用設定 ignoreip = 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ; 無視するIPアドレス(ホワイトリスト) #■BAN設定 bantime = 3600 ; BANされたIPアドレスがアクセスを禁止される期間(秒) findtime = 300 ; BANの判定時間(秒) maxretry = 3 ; アクセス回数 #■メール設定 destemail = 私のアドレス ; アラートメールの送信先アドレス sender = サーバーのメールアドレス ; メールの送信元 #■その他 action = %(action_mw)s ; BANされたIPアドレスのWHOIS情報をメール送信 [sshd] enabled = true port = ssh [proftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data [postfix] enabled = true port = smtp,465,submission [dovecot] enabled = true port = pop3,pop3s,imap,imaps,submission,465,sieve [postfix-sasl] enabled = true port = smtp,465,submission,imap3,imaps,pop3,pop3s #■再犯者用設定 [recidive] enabled = true backend = auto ; ログの監視方法 logpath = /var/log/fail2ban.log ; BAN回数を集計するログ bantime = 604800 ; BANされる期間(秒) findtime = 86400 ; BANの回数判定時間(秒) maxretry = 5 ; BAN回数

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2023/04/08 23:54

/var/log/fail2ban.log に ルール追加時のエラーが出ていたりしないでしょうか。
yiwsk

2023/04/09 06:58

ご指摘ありがとうございます。早速調べてみました。 以下のような感じです。 2023-04-09 15:46:05,612 fail2ban.filter [5762]: INFO [sshd] Found******* - 2023-04-09 15:46:05 2023-04-09 15:46:05,878 fail2ban.actions [5762]: WARNING [sshd]********already banned つまり、banの要件を満たすipを見つけてbanしようとしたら、既にbanされていたということだと思います。 「fail2banが動いているように見えて、実際はbanしてくれない」という表題の通りのログになっています。
guest

回答1

0

自己解決

解決したみたいです

/etc/fail2ban/jail.d
のなかに、00-firewalld.conf というファイルがなぜかできていて、内容を確認すると、

# This file is part of the fail2ban-firewalld package to configure the use of # the firewalld actions as the default actions. You can remove this package # (along with the empty fail2ban meta-package) if you do not use firewalld [DEFAULT] banaction = firewallcmd-rich-rules[actiontype=<multiport>] banaction_allports = firewallcmd-rich-rules[actiontype=<allports>]

とありました。試しに最後の3行をコメントアウトしたところ、fail2banが機能し始めました。
いつ、上のファイルが作られ、どう悪さしたのか、理屈はよく分かりませんが、この間の懸案が解決して、スッキリしました。

投稿2023/04/09 08:03

yiwsk

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問