我是一个小镇公共图书馆的技术助理,我们在那里经营自己的电子邮件。如果重要的话,它是 Ubuntu 18.04 机器上的 Postfix。网关/防火墙是一个 16.04 版本的机器,通过在启动时运行的脚本设置端口转发,发出一长串 iptables 命令。
今天,我们的 IP 地址进入了两个 Spamhaus 阻止列表,首先是 SBL,然后是 XBL。上周,在我们收到外发邮件退回后,我看到我们在 SBL 名单上。我经历了删除它的过程,它被删除了。但是今天下午问题又来了,Spamhaus 的网络服务器假装接受了我删除 IP 的请求,但它仍然在列表中,经过几次运行后,它也出现在 XBL 上。
我打电话给我们的互联网提供商,他们的网络工程师完成了删除步骤,实际上已经将其删除。(或者也许我的第一个请求需要很长时间才能处理。)
我应该从这里去哪里?我只是一个新手系统管理员,我不知道可以填满一个……图书馆。为了防止这种情况再次发生,我需要找出是什么(如果有的话)在发送垃圾邮件。我已经在外部 NIC 上尝试了 tcpdump 用于网关监视端口 25,但在我查看期间(对我来说)我没有看到任何可疑的东西(事实上,不久之后我就开始做其他事情了, 我承认)。但我什至不知道发生了什么,又发生了什么,而且我的想法太过分了。我在网关上安装了 Wireshark,但很快就将其删除,因为它似乎需要图形桌面才能使用。我查看了 /var/log/mail.log,但没有看到任何看起来像批量邮件发出的东西(但那会是什么样子?)。
我在sudo tcpdump -i enp3s0 port 25 | tee feb26-27-overnight.log
通宵运行(在网关上,监视面向外部的 NIC),希望能找到一些值得关注的东西。但是,如果有一种直接的方法可以找出正在发生的事情,而无需进行网络取证调查就可以向人们发送电子邮件,那就太好了。
我并不是要油嘴滑舌或不屑一顾,但您应该将您的电子邮件转移到专业托管服务。Office 365. G Suite。任何。您的组织没有充分的理由应该在 2020 年在内部托管您的电子邮件。您无法提供这些服务可以提供的可用性、可扩展性和可靠性水平......更不用说您当前的电子邮件声誉问题,您不会的没有这些服务。
我能想到的让您自己继续这样做的唯一正当理由是预算问题或法律问题,它们会阻止您将电子邮件“移出家门”。
到目前为止,我所做的是为 SPF、DKIM 和最后 DMARC 进行所有设置。实现细节会因网络和平台而异,所以我不会对我所做的一切一一一一介绍。但做完这一切似乎大大提高了我邮件的接受度。
SPF:非常容易实现的目标。您所要做的就是设置一个 DNS 记录,说明允许谁为您发送邮件,并且有很多资源可以帮助您编写它,例如SPF 向导。
DKIM:相对复杂。您必须处理密钥和一堆其他服务器端的东西,然后设置相应的 DNS 记录。我在 LinuxBabe 上遵循了 Ubuntu 的这些说明(使用 Postfix 和 Dovecot)。这允许检查电子邮件的真实性,发件人不只是欺骗来源以假装来自您。
DMARC:简单,但您需要先设置至少一个 SPF 和 DKIM。与 SPF 类似,您只是制作了一条 DNS 记录,告诉第三方如果您的邮件未通过 SPF 和/或 DKIM,该怎么处理。一般的智慧是从“p:none”开始并阅读报告一段时间,直到您对所有外发邮件(可能来自多个来源 - 例如,我们也使用 Sendgrid)感到满意为止。(例如,您可以从 Gmail 获取每日摘要。)然后您可以将您的推荐提高到“p:quarantine”或“p:reject”。这里有一些基本信息。
哦,还有一个快速注意事项:不要使用虚拟域别名或任何它们被称为转发目的的名称。它们不仅使用起来很尴尬(我必须为用户可能拥有的每个别名都拼出它们,尽管可能有另一种方式),而且我认为它们在通过任何你自己的垃圾邮件之前转发消息-过滤规则。在将我们员工的一封电子邮件转发到他们的 Hotmail 帐户后,我们几乎立即被 Outlook 阻止。相反,由于在我们的设置服务器用户 = 邮件用户中,我们可以在用户的主目录中设置一个 .forward 文件,其内容如下
[email protected], \localusername
:这要优雅得多,并且只有在消息实际到达邮箱后才会生效。