检测我服务器上的垃圾邮件发送者

kos*_*mak 12 monitoring smtp postfix spam reverse-dns

我最近Undelivered Mail Returned to Sender在向我的 1500 名客户之一发送时事通讯时收到了一份。我的网站使用双重选择程序来确保用户明确希望接收我的时事通讯。

错误信息:

smtp; 554 ...
    Swisscom AG IP: 94.130.34.42, You are not allowed to send us mail. Please
    refer to xyz.com if you feel this is in error.
Run Code Online (Sandbox Code Playgroud)

我收到了一个垃圾邮件示例(来自接收邮件服务器的邮件提供商):

Received: from mail.com ([94.130.34.42])
        by smtp-27.iol.local with SMTP
        id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100
From: "Servizi online - Poste Italiane" <posteitaliane@test123.it>
Subject: Abbiamo ricevuto una segnalazione di accredito
Date: Mon, 12 Feb 2018 11:32:03 -0500
Run Code Online (Sandbox Code Playgroud)

提供商还表示,我的服务器似乎被黑了。他进一步表示,“在这种情况下,收件人邮件服务器只是记录了连接 IP 提供给它的 rDNS mail.com ([94.130.34.42])”——这绝对不是因为我为我的 IP 地址配置了我的 rDNS 条目 (mail.lotsearch.de)。因此,如果我正确理解 rDNS,接收邮件服务器会查询发件人 IP 以获取 rDNS 条目(94.130.34.42 => 应该解析为 => mail.lotsearch.de,当我从本地计算机通过$ host 94.130.34.42)。

怎么可能欺骗 rDNS?我无法想象这在技术上是如何工作的(只能在接收邮件服务器和我的服务器之间的基础设施中的某个地方进行中间人攻击)。

提供商还提到,“从我的 IP 连接的机器很可能已被破坏,并通过直接连接将这些消息发送到收件人邮件服务器(也称为直接 MX)”。什么direct MX意思?有人窃取或发现泄露的邮件凭据到我的一个邮件帐户并将其用于邮件发送?

到目前为止,我为确保我的服务器没有/不会被黑客入侵所做的工作:

  • 搜索邮件日志(var/log/mail*):没有什么特别的
  • 检查 ssh 登录日志 ( last, lastb): 没什么异常
  • 检查 postfix 是否进行中继:不,它没有(通过 telnet 检查)
  • 通过 clamav 检查恶意软件:没有结果
  • 为 ssh、postfix 和 dovecot 安装和配置了 fail2ban
  • 为 Ubuntu 16.04 安装了最新的补丁/更新(我每周都这样做)
  • 检查我的 IP 地址是否在任何黑名单中:它不是
  • 在我的托管服务提供商的管理控制台中验证 rDNS 条目:它正确设置为mail.lotsearch.de.
  • 更改了所有邮件帐户的密码
  • 更改了 shell 访问的公钥

更重要的是:posteitaliane@test123.it日志中没有关于的信息。因此,如果我的服务器被垃圾邮件发送者滥用(因为其中一个邮件帐户的 smtp 凭据泄露而导致 fe),我会在日志文件中看到这一点。

我能想到的最后一种可能性是入侵者在我的服务器上放置了我尚未发现的恶意软件。

如何监控传出邮件流量(每个进程和每个端口)?

仅监控传出端口 25 无济于事,因为这只会捕获通过 postfix 发送的不规则邮件,而不会捕获由潜在恶意软件感染引起的邮件流量(如果恶意软件使用 25 以外的其他端口直接发送邮件/与收件人邮件服务器通信) . 如果我监控所有端口上的传出流量,我将获得一种获取巨大日志文件的方法,我无法有效地搜索可疑活动。

编辑 - 添加了对开放继电器的测试:

$ telnet mail.lotsearch.de 25
$ HELO test@test.de
250 mail.lotsearch.de
$ MAIL FROM: test@test.com
250 2.1.0 Ok
$ RCPT TO:<realEmail@gmail.com>
454 4.7.1 <realEmail@gmail.com>: Relay access denied
Run Code Online (Sandbox Code Playgroud)

编辑 - 运行 webapps

Mic*_*ton 13

在我提出我的建议之前,我想评论一下您的提供商对您说的话:

 Received: from mail.com ([94.130.34.42])
        by smtp-27.iol.local with SMTP
        id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100
Run Code Online (Sandbox Code Playgroud)

并不表示 94.130.34.42 的反向 DNS 是(或曾经是)mail.com。相反,它表示 SMTP 客户端mail.com在其HELO(或EHLO)行中发送。(配置良好的邮件服务器会完全拒绝此连接,但这是在 Swisscom 上,而不是在您身上...) 此行不表示任何反向 DNS 条目。如果是这样,它就会出现在括号内。例如:

Received: from mail-io0-f197.google.com (mail-io0-f197.google.com [209.85.223.197])
Run Code Online (Sandbox Code Playgroud)

在这种情况下,第一个主机名是邮件服务器在其EHLO. 第二个主机名是建立连接时记录的反向 DNS。

RFC 5321 第 4.4 节解释了 Received: 行的格式,带有正式的语法。

在您的情况下,没有记录反向 DNS。由于您的 IP 地址有 PTR 记录,这可能是因为他们没有查找它,或者出现了暂时的 DNS 故障。


现在,您似乎运行网络托管服务并拥有众多网络应用程序。如果其中之一受到威胁,它可能会开始发送垃圾邮件。它们通常通过查找其 MX 记录并连接到端口 25 来直接连接到远程邮件服务器,就好像它们本身实际上是一个邮件服务器一样,而不是将邮件传送到本地邮件池或端口 587 或 465 上经过身份验证的邮件服务就像合法的网络应用程序一样。

我阻止这种情况的一种方法是实施防火墙规则,以防止端口 25 上的传出连接,除非用户是邮件服务器用户。例如:

iptables -I OUTPUT -m owner ! --uid-owner postfix -m tcp -p tcp --dport 25 -j REJECT
Run Code Online (Sandbox Code Playgroud)

Web 应用程序不能再将邮件直接传送到远程 SMTP 服务器,而必须使用本地邮件假脱机或经过身份验证的邮件服务。


Fra*_*844 7

在这个时代,尝试建立自己的邮件服务器在大多数情况下是一场失败的战斗,您最好找到负担得起的服务。话说回来..

  • 查看发送给阻止您的提供商的日志,看看您是否能发现任何可疑内容。有可能并且经常发生有人忘记他们订阅了您的时事通讯并将您标记为垃圾邮件。然后根据提供商的不同,即使您没有做错任何事,您也可以进入提供商的黑名单。

  • 将群发邮件与所有其他电子邮件分开到两台服务器中。

  • 至少将日志保存数周,更好的数月。因此,无论何时发生任何事情,您都会进行研究。

  • 每天检查您的日志是否有来自任何提供商的类似情况,并每天或更快地查看它。第二次您被阻止并且如果您继续尝试发送它可能会变得更糟。你可以从一个临时块变成一个永久块……再到被报告到黑名单。

  • 不确定他们是如何实现的,但我知道许多提供商为出站邮件服务所做的一件事是,提供商/IP 阻止电子邮件的第二个,然后没有其他电子邮件被尝试发送。理想情况下,您想要这样的东西。因为第二个被阻止,发送更多只会加剧问题。

  • @mfuesslin Mailchimp 将是错误的平台。Mailchimp 是一种电子邮件营销服务,您需要的是一种交易电子邮件服务。查看 Mandrill(由拥有 Mailchimp 的同一个人拥有)。对于 25,000 封电子邮件,每月收费 20 美元。不是很贵。每天从您自己的 IP 地址发送这么多电子邮件只会导致高垃圾邮件箱率……这是一场失败的战斗。你可以雇佣一个完整的团队来每天只关注你的交付率,但仍然不如使用交易服务。 (4认同)
  • 我维护这样的服务器已经超过 15 年了,除了每天为多个域发送数百条消息外,还定期发送 30-50,000 条邮件列表消息,而且我每月花费的时间很少超过一个小时(除了定期的 aptitude 升级)。无论如何,服务器正在为多个网站提供服务,因此无需额外投资。我有点难过,人们提倡购买服务来做你自己可以轻松完成的事情。一路上学习一点都没有错。 (2认同)