当有人尝试使用Bro(v2.4.1)在我的服务器上执行ssh暴力攻击时,我无法生成电子邮件通知。我有这样的Bro脚本,它将最大登录尝试次数重新定义为每24小时5次:
@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
在/opt/bro/logs/current/ssh.log中记录了6次失败的登录尝试(我为测试它而生成的):
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”以便事件触发?
非常感谢任何帮助或建议!
答案 0 :(得分:1)
由于SSH被加密,我们不得不求助于启发式检测成功和不成功的身份验证。这些启发式方法随着时间的推移而有所改善,但仍然远非完美。如果" auth_success"如果您提供的示例中的列未设置,则意味着如果登录成功与否,Bro无法进行猜测。
强力检测脚本无法正常工作的原因是因为它从未检测到不成功的登录。您在问题结束时的怀疑是正确的。