У меня возникли проблемы с созданием уведомления по электронной почте, когда кто-то пытается атаковать ssh bruteforce на моем сервере с помощью Bro (v2.4.1). У меня есть сценарий Братан, как это который переопределяет максимальный вход на 5 attemps за 24 часа:Bro 2.4.1 генерация уведомления по электронной почте для SSH Bruteforce Attack
@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 bruteforcing.
Замечания о соединении, упавшие пакеты и недопустимые уведомления сертификата 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-входа не удалось attemps (что я сгенерировал для проверки этого) регистрируются только штрафом в /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, поэтому, возможно, вход в систему без закрытого ключа не запускает события ssh_failed_login в Bro? Столбец auth_success в приведенной выше таблице показывает «-» для неудачных попыток входа в систему, тогда как успешный логин показывает «Т», так что, возможно, это должно быть «F» для того, чтобы событие срабатывало?
Любая помощь или предложения приветствуются!
Ну ладно, это справедливо. Спасибо за ваш быстрый ответ, спасая меня от нескольких мучительных часов! Поскольку я единственный, кому разрешен доступ через SSH, и он обнаруживает мои успешные логины, я напишу обработчик события ssh_auth_result и проведу любые другие результаты, кроме succesfull, в качестве альтернативного решения. – lange
кроме этого также срабатывает при сканировании в обычном порту. – lange