Мой Linux-сервер sendmail выходит из строя из-за потока недействительных логинов smtp saslauthd.
Постоянный поток ошибок аутентификации PAM, регистрируемых для saslauthd в сообщениях.
Я искал и искал способ определить IP, чтобы я мог заблокировать его ... не повезло.
IP-адрес не записывается в сообщениях или безопасных журналах.
Любой совет будет очень признателен.
Это может помочь: Блокирование атак методом грубой силы для проверки подлинности SMTP с помощью Fail2Ban
Вы должны увеличить LogLevel до 10 или больше. Посмотрите в sendmail.mc или напишите что-нибудь вроде define (confLOG_LEVEL',
10 ') dnl
Это будет регистрировать IP-адрес при сбоях аутентификации.
Я обнаружил, что в /var/log/mail.log есть соответствующие записи журнала, которые содержат IP-адрес злоумышленника и, следовательно, могут быть заблокированы с помощью fail2ban (по крайней мере, в Ubuntu 14.04). Попробуйте выполнить поиск по запросу «Ошибка аутентификации SASL LOGIN».
Sendmail сохраняет журналы в LOG_MAIL
объект, который обычно отправляется во что-то вроде /var/log/mail
или /var/log/maillog
, в зависимости от вашей операционной системы. Проконсультируйтесь с вашим местным /etc/syslog.conf
для подробностей. Вы можете найти там что-нибудь полезное.
Если это не сработает, вы можете использовать tcpdump
чтобы узнать, кто подключается к вашей системе. Если вы запустите его так:
# tcpdump -i <interface> -n port 25
Вы получите список трафика на порту 25, который будет выглядеть примерно так:
15:41:07.974013 IP 192.168.1.20.58973 > 192.168.1.20.25: Flags [S], seq 3814195426, win 65535, options [mss 16344,nop,wscale 3,sackOK,TS val 393331165 ecr 0], length 0
15:41:07.974041 IP 192.168.1.20.25 > 192.168.1.20.58973: Flags [S.], seq 538844273, ack 3814195427, win 65535, options [mss 16344,nop,wscale 3,sackOK,TS val 3794784629 ecr 393331165], length 0
Это отметка времени, затем протокол, затем исходный IP-адрес, затем IP-адрес назначения. Это должно дать вам то, что вам нужно.
Вы также можете получить нечто подобное, используя netstat
команда:
netstat -an | grep :25
Это должно показать подключения к порту 25 в вашей локальной системе.
Существует множество механизмов либо для ограничения скорости SMTP-соединений для каждого адреса источника, либо для блокировки адресов с высокой частотой ошибок аутентификации. Ты можешь использовать iptables
для бывшего или что-то вроде fail2ban для последнего.
это немного поздно, но я вполне уверен, что saslauthd не регистрирует IP-адрес из-за некоторых ограничений в библиотеке saslauthd и ее реализации.
Однако, насколько мне известно, Sendmail ДЕЙСТВИТЕЛЬНО записывает IP, и вместо этого вы можете указать fail2ban, написав правило для Sendmail, вместо использования предоставленной тюрьмы saslauthd.