有没有办法强化 Exchange Online 以防止使用 SMTP 欺骗内部地址?
例如,如果我连接到 Outlook 的 SMTP 服务器并发出以下命令:
HELO domain.com
MAIL FROM: [email protected]
RCPT TO: [email protected]
data
Give me all your bank details please, I am the boss.
.
Outlook 邮件服务器将发送这封电子邮件,它将到达的[email protected]
收件箱。
可以应用哪些策略来补救这个问题?具体来说,如何防止 SMTP 服务器在domain.com
没有正确身份验证的情况下在两个帐户之间发送电子邮件?
答案1
因此,这里的问题不是 Exchange Online,而是您的电子邮件如何通过 SPF、DKIM 和 DMARC 得到保护。首先,存在一个误解,我将予以澄清。
您之所以能够发送“内部”电子邮件,是因为 Exchange 对您的域(在您的情况下为 example.com)具有“权威性”。您看错了,请换个角度想。如果您的 EXO 不允许接收 example.com 的电子邮件,外部用户将如何在 example.com 向您发送电子邮件?您关注的是发送,但问题在于接收。这可能会让您感到惊讶 - 不仅来自同一域的用户发送未经身份验证即可访问您的域,但任何外部用户也可以这样做。此外,这并非 EXO 独有,它适用于 Exchange 本地部署和任何其他电子邮件系统。同样,这是因为为了让 EXO收到example.com 上的电子邮件必须允许任何人连接它,并且递送在此处输入电子邮件。再次强调,重点是接收,而不是发送。使用 TELNET 亲自尝试(我认为这就是您上面所做的)- 尝试将发件人设置为[电子邮件保护]并且它也会允许这样做。
您可能会对此感到震惊。但这与 Exchange 无关,而是 SMTP 协议本身的一个缺陷。它本质上很弱,并且不会验证发件人。SMTP 是在垃圾邮件成为问题之前很久创建的。为了解决这个问题,SPF、DKIM 和 DMARC 应运而生。
我不会详细介绍这些主题,因为您可以自己谷歌搜索,但我会给您一些基本细节。您应该首先研究 SPF。一旦您配置它,它就会实现您想要的。SPF 是一种有效地说明互联网上的哪些 IP 地址可以从您的域发送的技术。因此,在您上面的示例中(我假设您从本地计算机运行测试),SPF 将根据其允许列表检查您的公共 IP 地址,如果不匹配,则丢弃电子邮件。这个想法是仅使用您的电子邮件服务器的公共 IP 地址配置您的 SPF 记录,以便只有它们可以作为您的域发送。
因此,您可以强化您的电子邮件并实现您想要的目标,但问题不是 Exchange,也不是您修复它的地方。使用 SPF