Fail2banが正しく機能するかどうかをテストするために自分のサーバーから自分自身をブロックしようとしたので、sshログインを試し、間違ったパスワードを何度も使用しました。しかし、デフォルトの6が失敗したのではなく、13の失敗したログインの後でのみブロックされました。
Fail2banを--purgeで削除して再インストールしたので、/etc/fail2ban/jail.conf
にデフォルトがあるはずです。これは私のサーバーでの見た目です:
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS Host
ignoreip = 127.0.0.1
bantime = 600
maxretry = 3
...
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
だから私が理解しているように、sshにはmaxretry 6があるはずです。ブロックされずに12回試すことができるのはなぜですか?
私も THC-Hydra を使用してブルートフォース攻撃を試みました:
hydra -l john -P /tmp/pass.txt myserver.de ssh
/var/log/auth.log
で、ブロックされずにhydra
が20〜30回続けて試行したことがわかりました。ここで私のログを参照してください: http://Pastebin.com/PuMdfU2H
いくつかの詳細:
fail2banをアンインストールすると、hydra
のような攻撃中に/var/log/auth.log
にいくつかのメッセージが表示されました
sshd[9286]: Failed password for john from 123.456.123.456 port 54705 ssh2
sshd[9286]: Failed password for john from 123.456.123.456 port 54698 ssh2
...
sshd[9280]: PAM service(sshd) ignoring max retries; 5 > 3
...
sshd[9286]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser=
...
sshd[9285]: PAM service(sshd) ignoring max retries; 6 > 3
多分sshは毎回別のポートにリダイレクトされますか?
今回はブロックされなかったので、インストールされている場合、fail2banは一種の動作です。
次の2つが組み合わされていると思います。
sshd[9280]: PAM service(sshd) ignoring max retries; 5 > 3
と表示され、PAMはモジュールの1つ(おそらく/etc/pam.d/password-auth)に「retry = 3」があることを通知し、それ以上は無視します同じセッション内のsshdからの認証要求。 Sshdは、MaxAuthTries設定(デフォルトは6だと思います)を使い果たすまで試行を続け、その時点で接続を終了します。このおそらくは、fail2banが失敗したログイン試行として解析しない異なるログエントリを作成します。これを推測してください。HTH。