我收到从我自己的域发送到我自己的域的垃圾邮件。 我正在使用Exchange 2013。
例:
正在使用[email protected]将垃圾邮件发送到[email protected] 。
我可以通过从任何外部IP telneting到服务器成功地复制该问题。
telnet <external-ip-of-server> 25 helo anydomain.com 250 myserver.mydomain.com Hello [External-IP] mail from:[email protected] 250 2.1.0 Sender OK rcpt to:[email protected] 250 2.1.5 Recipient OK data 354 Start mail input; end with <CRLF>.<CRLF> some text here . 250 2.6.0 <[email protected]> [InternalId=20890720927751, Hostname=myserver.mydomain.com] Queued mail for delivery
我有这样的SPFlogging设置: v=spf1 ip4:External.IP.of.MyServer -all
我还在Exchange 2013服务器上启用了SenderID,如下所示:
[PS] C:\Windows\system32>get-senderidconfig | fl RunspaceId : 9be45249-1186-42b4-9e4e-3bc5a56c0c63 SpoofedDomainAction : Reject TempErrorAction : StampStatus BypassedRecipients : {} BypassedSenderDomains : {} Name : SenderIdConfig Enabled : True ExternalMailEnabled : True InternalMailEnabled : False AdminDisplayName : ExchangeVersion : 0.1 (8.0.535.0) DistinguishedName : CN=SenderIdConfig,CN=Message Hygiene,CN=Transport Settings,CN=MyOrganization,CN=Microsoft Exchange,CN=S ervices,CN=Configuration,DC=mydomain,DC=com Identity : SenderIdConfig Guid : e85c9acb-579e-4d92-bde7-03ac2dd9beac ObjectCategory : mydomain.com/Configuration/Schema/ms-Exch-Message-Hygiene-Sender-ID-Config ObjectClass : {top, msExchAgent, msExchMessageHygieneSenderIDConfig} WhenChanged : 2015-12-08 10:23:24 WhenCreated : 2014-02-15 13:37:30 WhenChangedUTC : 2015-12-08 09:23:24 WhenCreatedUTC : 2014-02-15 12:37:30 OrganizationId : Id : SenderIdConfig OriginatingServer : mydc.mydomain.com IsValid : True ObjectState : Unchanged
如何在不使用任何外部反垃圾邮件服务的情况下防止此类垃圾邮件?
您需要删除权限以绕过发件人地址欺骗检查运行:
Get-ReceiveConnector "name of the internet receive connector" | Get-ADPermission -user "NT AUTHORITY\Anonymous Logon" | where {$_.ExtendedRights -like "ms-exch-smtp-accept-authoritative-domain-sender"} | Remove-ADPermission
如果这不能解决问题(例如对于Exchange 2013 CU5 +),则应该执行以下操作:
阻止你自己的域名
Set-SenderFilterConfig -BlockedDomains mydomain.com
Set-SenderFilterConfig -InternalMailEnabled $true
用匿名用户删除ms-Exch-SMTP-Accept-Any-Sender
Get-ReceiveConnector "name of the internet receive connector" | Get-ADPermission -user "NT AUTHORITY\Anonymous Logon" | where {$_.ExtendedRights -like "ms-Exch-SMTP-Accept-Any-Sender"} | Remove-ADPermission
允许来自LAN的开放中继(如果需要):
Get-ReceiveConnector "name of your LAN Open Relay connector" | add-ADPermission -user "NT AUTHORITY\Anonymous Logon" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Sender"
PS确保在这些操作之后重新启动运输服务。