誰かが Bro (v2.4.1) を使用して私のサーバーで ssh ブルートフォース攻撃を行おうとしているときに、電子メール通知を生成するのに問題があります。最大ログイン試行回数を 24 時間あたり 5 回に再定義する、次のような Bro スクリプトがあります。
@load protocols/ssh/detect-bruteforcing
redef SSH::password_guesses_limit=5;
redef SSH::guessing_timeout=1440 mins;
hook Notice::policy(n: Notice::Info)
{
if ( n$note == SSH::Password_Guessing && /192\.168\.178\.16/ in n$sub )
add n$actions[Notice::ACTION_EMAIL];
}
ここで、192.168.178.16 はサーバーのローカル IP であり、$PREFIX/site/local.bro に含めることで、スクリプトが確実に読み込まれるようにしました。の出力はbroctl scripts
、起動時にスクリプトが問題なくロードされていることを示しています。ただし、ssh ブルートフォーシング攻撃の電子メール通知を受け取ることはありません。
接続の概要、ドロップされたパケット、および無効な ssl 証明書の通知は問題なく電子メールで送信されるため、電子メールの構成の問題ではありません。次のようにsshログ出力を確認すると:
sudo cat /opt/bro/logs/current/ssh.log | bro-cut -d ts uid id.orig_h id.orig_p id.resp_h id.resp_p version auth_success direction client server cipher_alg
6 回の失敗したログイン試行 (これをテストするために生成したもの) は、/opt/bro/logs/current/ssh.log に問題なく記録されます。
2016-11-11T14:45:08+0100 CRoENl2L4n5RIkMd0l 84.241.*.* 43415 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
2016-11-11T14:45:13+0100 CMflWI2ESA7KVZ3Cmk 84.241.*.* 43416 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
2016-11-11T14:45:17+0100 CZuyQO2NxvmpsmsWwg 84.241.*.* 43417 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
2016-11-11T14:45:20+0100 CC86Fi3IGZIFCoot2l 84.241.*.* 43418 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
2016-11-11T14:45:25+0100 CHqcJ93qRhONQC1bm4 84.241.*.* 43419 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
2016-11-11T14:45:28+0100 CdV0xh1rI4heYaFDH2 84.241.*.* 43420 192.168.178.16 22 2 - INBOUND SSH-2.0-JuiceSSH SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3 aes128-ctr
しかし、私はこれが起こっていることを電子メールで通知することはありません. 私が考えることができる唯一の理由は、ssh を介したパスワード ログインが無効になっていることです。そのため、秘密鍵なしでログインしようとすると、Bro で ssh_failed_login イベントが発生しない可能性があります。上記の表の auth_success 列は、失敗したログイン試行に対して「-」を示していますが、成功したログインは「T」を示しているため、イベントが発生するためには「F」である必要がありますか?
どんな助けや提案も大歓迎です!