我的Linux发送邮件服务器被迫大量的无效smtp saslauthdlogin委托。
在邮件中logging了saslauthd的PAM auth错误的稳定stream。
我已经search和search的方式来确定IP,所以我可以阻止它…没有运气。
IP不被logging在消息或安全日志中。
任何build议将不胜感激。
这可能有助于: 使用Fail2Ban阻止SMTPauthentication蛮力攻击
您必须将LogLevel增加到10或更多。 看看sendmail.mc或者像define( confLOG_LEVEL', 10')dnl
这将logging在validation失败的IP号码。
我发现/var/log/mail.log中有相应的日志条目,它们包含攻击者的IP地址,因此可以用fail2ban(至less在Ubuntu 14.04上)进行阻止。 尝试search“SASLlogin身份validation失败”。
Sendmail会将日志logging到LOG_MAIL设备,通常发送到/var/log/mail或/var/log/maillog ,具体取决于您的操作系统。 有关详细信息,请参阅本地/etc/syslog.conf 。 你可能会发现有用的东西。
如果这不起作用,你可以使用tcpdump来找出谁连接到你的系统。 如果你像这样运行它:
# tcpdump -i <interface> -n port 25
你会得到一个25端口的stream量列表,看起来像这样:
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连接有多种机制,或者authentication失败率很高的阻塞地址。 前者可以使用iptables ,后者可以使用fail2ban 。
这有点迟,但是我相当肯定的是,saslauthd没有loggingIP地址,因为在saslauthd库及其实现中有一些限制。
但是,据我所知,SendmailloggingIP,你可以指向fail2ban,而不是使用提供的saslauthd jail,而是写一个Sendmail的规则。