SPF是什么?在此不再叙述SPF的概念和如何添加,具体可以参考https://postmarkapp.com/blog/explaining-spf。简单的说SPF就是一个防止仿冒邮件的一种技术,当邮件服务器接收到邮件之前,首先要验证发件人的源IP是否是对应域名TXT记录列表中,如果发件人源IP不是TXT记录中的IP,则邮件服务器认为此封邮件就是冒名邮件,接下来就会按照SPF策略处理该邮件。

在此,主要想和大家分享一下SPF和Exchange需要注意的事项。

       通过上述描述,我们了解到要让SPF功能生效必须具备两个如下条件:

1、必须在对应域名(例如:contoso.com)公网DNS上添加SPF的TXT记录。例如:v=spf1 ip4:1.1.1.1  include: spf.contoso.com ~all。

2、接收邮件的SMTP服务器(例如:Exchange CAS、防垃圾邮件网关)必须执行SPF验证功能。(如果不支持该功能是无法实现SPF功能的)

 

   怎么在公网DNS上添加SPF记录在此不多说,注意接收一下如何在Exchange上启用该功能。

下面上常用的梭子鱼防垃圾邮件网关,关于设置PSF的截图。

image

Exchange上的SPF功能是通过Sender ID(发件人ID)来实现的。下面介绍如何开启发件人ID功能。

1)、由于发件人ID功能是通过Sender  ID Agent来实现,Sender  ID Agent包含在antispam agents 中。在Mailbox Server上通过使用Install-AntispamAgents.ps1来启用防病毒功能。具体可以参考:https://technet.microsoft.com/en-us/library/bb201691(v=exchg.160).aspx

& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1,脚本执行完成后使用命令:Restart-Service MSExchangeTransport   重启传输服务。

image

脚本执行完成后我们可以查看到增加了五个Agent。

image

如果要禁用反垃圾邮件功能的Agent可以执行命令:& $env:ExchangeInstallPath\Scripts\uninstall-AntiSpamAgents.ps1

image

2)、接下来需要设置传输配置,将内部SMTP服务器内部IP地址添加到InternalSMTPServer属性中。这样做是为了让内部SMTP服务器绕过筛选代理。

Set-TransportConfig -InternalSMTPServers @{Add="10.0.1.10","10.0.1.11"}     其中:10.0.1.10为Exchange 2010 CAS,2013/2016 Mailbox Server IP 。

3)、检查Sender ID配置是否设置为true。并且SpoofedDomainAction默认为StampStatus。

image

4)、使用测试命令Test-SenderId测试一下是否生效。

image