を使用しようとしていますfail2ban
。
刑務所の構成は次のとおりです/etc/fail2ban/jail.conf
。
[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
enabled = true
port = ssh
maxretry = 3
logpath = %(sshd_log)s
backend = %(sshd_backend)s
banaction = iptables-multiport[name=sshd, port=ssh, protocol=tcp]
私のサーバーで3回のSSHログインに失敗した場合、私のIP(匿名)がブラックリストに登録されていることがわかります。
fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 3
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: X.X.X.X
iptables
設定されたルールは次のとおりですfail2ban
。
iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N f2b-sshd
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A f2b-sshd -s X.X.X.X/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -j RETURN
再度ログインしようとすると、次のメッセージが表示されます。ssh: connect to host <hostname_anonymised> port 22: Connection refused
icmp port unreachable
ところで、問題は上記のようなメッセージを受けたくないということです。これはセキュリティの問題です。
私は(icmp REJECTを使用する代わりに)Fail2banが自動的にDROPされるようにしたいと思います。私が望むものを指定するために刑務所の設定を変更しようとしましたが、代わりにbanaction
Jail2banを知らせる正しいパラメータが見つかりませんでした。DROP silently
REJECT with icmp
どのように構成しますかfail2ban
?
答え1
すべてのiptables
作業が可能ですblocktype
範囲、上書きすることができます:
- 地球内
action.d/iptables.conf
:
[Definition]
blocktype = DROP
(最新のFail2banバージョンのデフォルトのアップストリーム構成と同様に、以前のリリースとメンテナンスリリースでは、禁止として使用するタスクの包含内容が異なる場合があります)
- または
jail.local
基本または刑務所のセクションで:
[DEFAULT]
banaction = iptables-multiport[blocktype=DROP]
banaction_allports = iptables-allports[blocktype=DROP]
その後、Fail2banを再起動することを忘れないでください。
また参考にしてくださいhttps://github.com/fail2ban/fail2ban/issues/2217#issuecomment-423248516REJECT と DROP に関する追加情報。
答え2
ICMPメッセージ拒否(REJECT)を使用する代わりに自動ブロック(DROP)を実行するようにfall2banを構成するには、以下のステップを実行できます。
/etc/fail2ban/jail.local
テキストエディタでファイルを開きます。
希望のブロック操作を指定するには、[sshd]セクションで次の行を追加または変更します。
banaction = iptables-multiport[name=sshd, port=ssh, protocol=tcp, action=drop]
この構成は、fail2ban
SSH接続をブロックするときにデフォルトの拒否操作の代わりに削除操作が使用されることを示します。
jail.local ファイルに変更を保存します。
新しい設定を適用するには、pass2banサービスを再起動してください。
sudo service fail2ban restart
この構成では、fall2ban は SSH 刑務所で IP アドレスをブロックするときに ICMP メッセージ拒否操作の代わりに削除操作を使用します。
これにより、ICMP 拒否メッセージを送信せずに自動ブロックを提供します。