我应该忽略或完全阻止非 SMTP 命令尝试吗?

我应该忽略或完全阻止非 SMTP 命令尝试吗?

我的 Postfix 邮件日志中每天都会出现几条消息,例如:

postfix/smtpd[7363]: warning: non-SMTP command from unknown[xx.xx.xx.xx]: GET / HTTP/1.0

我应该忽略它们还是阻止它们?如果有必要阻止这些尝试,最好的方法是什么(iptables、后缀访问映射等)?

答案1

我使用fail2ban。您可以编辑 /etc/fail2ban/filter.d/postfix.conf 以捕获任何进一步的尝试。我监视我的 /var/log/mail.log 文件以查找可疑行为并根据需要添加到 postfix.conf 中。这是我的 postfix.conf,它确实捕获了您上面提到的行。

[INCLUDES]


before = common.conf

[Definition]

_daemon = postfix/smtpd

failregex = ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5\.7\.1 .*$
        ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 : Helo       command rejected: Host not found; from=<> to=<> proto=ESMTP helo= *$
        ^%(__prefix_line)sNOQUEUE: reject: VRFY from \S+\[<HOST>\]: 550 5\.1\.1 .*$
        ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 454 4\.7\.1 :*$
        reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
        reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
        reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
    reject: RCPT from unknown\[<HOST>\]: 454 4.7.1
    connect from unknown\[<HOST>\]

ignoreregex = 

你还可以添加

warning: non-SMTP command from unknown\[<HOST>\]:: GET / HTTP/1.0

如果以上没有涵盖全部。

如果您希望手动禁止历史 IP 地址,请使用 IP 表。

问候并祝你好运,

马特

答案2

无需阻止“命令”。如果您发现有人执行大量无效命令,则会阻止该 IP 地址。无效的命令不会造成任何损害,并且在某些情况下是实用的(即支持有问题的客户端)。

相关内容