Postfix连接在AUTH后丢失


12

在查看邮件服务器上的日志时,我注意到以下消息:

Nov 29 12:09:38 mta postfix/smtpd[8362]: connect from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8362]: lost connection after AUTH from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8362]: disconnect from unknown[183.13.165.14]
Nov 29 12:09:39 mta postfix/smtpd[8409]: connect from unknown[183.13.165.14]
Nov 29 12:09:40 mta postfix/smtpd[8409]: lost connection after AUTH from unknown[183.13.165.14]
Nov 29 12:09:40 mta postfix/smtpd[8409]: disconnect from unknown[183.13.165.14]

在这些情况下,没有SASL故障。其他时间记录了SASL故障,但从未记录过lost connection after AUTH

这是怎么回事,我该怎么办?
这些不是MX,并且已经smtpd_client_connection_rate_limit设置。

可能相关:
在宣布AUTH之前,系统需要SMTPS或STARTTLS。


可以增加后缀的调试级别吗?
哈立德

我可以,但是这样会使日志文件以更高的速度增长,并且这些事件是零星的。这种增加的日志记录有助于消除歧义吗?
84104

1
因此,您需要在一段时间内以及期望出现此错误时将其增加。希望此错误提示有更多提示。
哈立德

Answers:


9

这是一个来自中国的僵尸网络,连接到您的邮箱,试图发送垃圾邮件。但是,机器人被告知要进行身份验证时太愚蠢,不知道该怎么办。僵尸程序只是停止发送邮件,然后断开连接以攻击下一个受害者。

完全没有什么可担心的。


3
足够近。看来,这是某种脚本,它发出AUTH并在接收到后异常退出503 5.5.1 Error: authentication not enabled。能够使用ncat复制。尽管为什么它一直尝试直到达到速率限制都超出了我的范围。也许是试图强行使用用户名/密码对?无论哪种方式,太愚蠢太担心。
84104

2
作为测试,我只会在日志中显示此行,而从未使用雷鸟和已知帐户的无效密码看到任何SASL故障。由于经过身份验证的邮件始终不受阻碍地通过Postfix,因此,正确的答案是,如果可能的话,使用发布的fail2ban脚本将暴力破解尝试的次数保持在最低水平。绝对要考虑使用蛮力密码,以避免将您的机器变成打开的中继器-尤其是在您的日志中只有这行的情况下。
CubicleSoft

日志看起来好像他正在获得一秒钟的记录,这可能是有人试图强行使用服务器,这是值得担心的事情。我建议至少使用fail2ban。它不会完全解决暴力问题,但会大大缓解它。
Severun

21

我的日志文件已被填满,甚至允许这些混蛋连接也浪费了CPU。我创建了一条fail2ban规则。

Jul 11 02:35:08 mail postfix/smtpd[16299]: lost connection after AUTH from unknown[196.12.178.73]

内容 /etc/fail2ban/jail.conf

[postfix]
# Ban for 10 minutes if it fails 6 times within 10 minutes
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 6
bantime  = 600
findtime = 600

内容 /etc/fail2ban/filter.d/postfix.conf

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision$
#

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values:  TEXT
#

# Jul 11 02:35:08 mail postfix/smtpd[16299]: lost connection after AUTH from unknown[196.12.178.73]

failregex = lost connection after AUTH from unknown\[<HOST>\]

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex = 

2
这挽救了我的一天。我添加了以下规则:failregex = ^%(__prefix_line)slost connection after AUTH from \S+\[<HOST>\].$。我在几分钟内进行了数百次这样的连接尝试。我不得不为此做些事情。
chmike

这有点通用:failregex = lost connection after AUTH from (.*)\[<HOST>\]
CubicleSoft

@chmike:$必须删除结尾处的点。在正则表达式中没有在这里使用它。
cweiske

3

在这样的smtpd_recipient_restrictions设置中reject_unknown_client_hostname

smtpd_recipient_restrictions = reject_unknown_client_hostname

这将导致拒绝客户端以及主机名未知的流浪或哑巴僵尸机器人。设置后,您的日志将如下所示:

postfix/smtpd[11111]: NOQUEUE: reject: RCPT from unknown[183.13.165.14]: 450 4.7.1 Client host rejected: cannot find your hostname, [183.13.165.14]

这个(很旧的)问题已经有一个可以接受的答案。
BE77Y

1
未知的主机名是/不是问题。lost connection after AUTH是/是。
4104年

1
他们的问题是“这里正在发生什么,对此我该怎么办?” 这是一个完全有效的答案。
inorganik

2

我不确定是否有太多需要担心的问题,基本上是客户/“某人”正在连接,发出AUTH并自行断开连接。这可能是尝试从邮件客户端探查服务器功能,也可能是尝试区分守护程序。

只要您有足够的安全性,这就是世界的另一扇门。


即使连续发生3或4次?
亚历克西斯·威尔克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.