任何postfix大师能帮助我确定电子邮件是否仍然通过我的服务器从未经授权的来源发送?

当我运行一个托pipe多个网站的小型服务器并pipe理几十个人的电子邮件时,我有点担心。

就在最近,尽pipe我已经收到了一些来自垃圾邮件通知的通知,提醒我已经从我的服务器发送了垃圾邮件,并且当我时不时查看日志时,我确实可以看到有很多邮件被重复尝试从我的服务器发送。 大多数情况下,它会从目标服务器上重新启动,但有时会通过。

不幸的是我不是linux或者postfix的专家,我可以通过,但是我的机器locking得相当安全,我不允许中继,当我检查在线DNS / MX工具时,他们倾向于报告我的服务器是好,所以我现在不知道该去哪里,希望有人能够给我几个指点。

我在我的MAIL.INFO日志中得到了很多这样的条目

Jan 2 08:39:34 Debian-50-lenny-64-LAMP postfix/qmgr[15993]: 66B88257C12F: from=<>, size=3116, nrcpt=1 (queue active) Jan 2 08:39:34 Debian-50-lenny-64-LAMP postfix/qmgr[15993]: 614C2257C1BC: from=<[email protected]>, size=2490, nrcpt=3 (queue active) 

 Jan 7 16:09:37 Debian-50-lenny-64-LAMP postfix/error[6471]: 0A316257C204: to=<[email protected]>, relay=none, delay=384387, delays=384384/3/0/0.01, dsn=4.0.0, status=deferred (delivery temporarily suspended: host mx.fakemx.net[46.4.35.23] refused to talk to me: 421 mx.fakemx.net Service Unavailable) Jan 7 16:09:37 Debian-50-lenny-64-LAMP postfix/error[6470]: 5848C257C20D: to=<[email protected]>, relay=none, delay=384373, delays=384370/3/0/0.01, dsn=4.0.0, status=deferred (delivery temporarily suspended: host mx.fakemx.net[46.4.35.23] refused to talk to me: 421 mx.fakemx.net Service Unavailable) 

那么往往会有连接超时,所以从我看到,即使我已经中继禁用..东西正在越过,并试图发送..

所以,如果你能帮助,将不胜感激,我可以提供任何进一步的日志/configuration信息。

从我认为是足够的Main.CF几行,如下所示,也许我错过了一些重要的东西在这里:

 # Requirements for the HELO statement smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit # Requirements for the sender details smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit # Requirements for the connecting server smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org # Requirement for the recipient address #smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit smtpd_recipient_restrictions = reject_unauth_pipelining,reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,check_policy_service inet:127.0.0.1:60000,permit # require proper helo at connections smtpd_helo_required = yes # waste spammers time before rejecting them smtpd_delay_reject = yes disable_vrfy_command = yes 

谢谢

在你的限制结束后permit是麻烦的原因。 如果不允许在permit_mynetworks那么您不想与提交给您的邮件队列的任何东西搞糊涂。 从*_restrictions行的末尾删除这些permit条目,您会看到一个突然的改进。 现在发生的事情是,一些垃圾邮件中继尝试“足够符合”,通过限制列表( permit前的那些条目),所以当它通过testing列表以通过限制列表,它会触发permit ,指示postfix给它“竖起大拇指”,并继续处理 – 中继 – 发送的垃圾邮件。

我认为(?)你有在那里的permit声明,以防止电子邮件被合法的客户端阻止。 不要担心closuresnetworking。 这就是我的mynetworks :它是您将自动接受和中继邮件的“可信”networking地址列表。 入口permit_mynetworks在开始时告诉postfix立即允许在mynetworks定义的任何东西,并且在那时它将停止处理*_restrictions列表中列出的步骤。 这是因为testing列表从左到右进行处理,直到find匹配。 如果在permit设置前通过了所有其他testing,则在每行末尾使用permit指示系统允许邮件不受限制。

你几乎应该使用permit 。 只使用合格的允许指令(即, permit_mynetworkspermit_sasl_authenticated等)。

你以为你接力残疾,但是你呢? 你必须从你的configuration文件或谷歌发布信息,如“禁用中继”和你的MTA应用程序的名称,以find示例locking信息,以加固你的系统。

否则,您允许通过您的系统发送邮件的人感染了某些内容,并正在使用您的服务器发送垃圾邮件或有人进入您的服务器,并用脚本感染垃圾邮件。

你检查过不正常的服务吗? 检查rootkit或日志中的任何exception? 你在服务器上运行了哪些其他服务? 你检查了不寻常的传入TCP连接? 你如何将系统locking到授权用户,如从你自己的子网,特定的密码(可能已经被入侵),授权的IP只… …?