Exchange

到 Exchange 2016 的 AD 使用者身份驗證

  • October 31, 2019

我們有許多設備通過我們的 Exchange 2010 伺服器發送電子郵件。這些設備都在發送消息之前使用域使用者進行身份驗證,這在 2010 年執行良好。我們現在正在遷移到 Exchange 2016,我正在嘗試將接收連接器配置為允許相同的事情,但我無法得到它工作。這是我的接收連接器的配置:

[PS] C:\>Get-ReceiveConnector "EX2016\default frontend EX2016" | fl
RunspaceId                                : 68459e4b-3af8-411d-a616-7db360d20905
AuthMechanism                             : Tls, Integrated, BasicAuth, BasicAuthRequireTLS, ExchangeServer
Banner                                    :
BinaryMimeEnabled                         : True
Bindings                                  : {[::]:25, 0.0.0.0:25}
ChunkingEnabled                           : True
DefaultDomain                             :
DeliveryStatusNotificationEnabled         : True
EightBitMimeEnabled                       : True
SmtpUtf8Enabled                           : False
BareLinefeedRejectionEnabled              : False
DomainSecureEnabled                       : True
EnhancedStatusCodesEnabled                : True
LongAddressesEnabled                      : False
OrarEnabled                               : False
SuppressXAnonymousTls                     : False
ProxyEnabled                              : False
AdvertiseClientSettings                   : False
Fqdn                                      : EX2016.example.com
ServiceDiscoveryFqdn                      :
TlsCertificateName                        :
Comment                                   :
Enabled                                   : True
ConnectionTimeout                         : 00:10:00
ConnectionInactivityTimeout               : 00:05:00
MessageRateLimit                          : Unlimited
MessageRateSource                         : IPAddress
MaxInboundConnection                      : 5000
MaxInboundConnectionPerSource             : 20
MaxInboundConnectionPercentagePerSource   : 2
MaxHeaderSize                             : 256 KB (262,144 bytes)
MaxHopCount                               : 60
MaxLocalHopCount                          : 5
MaxLogonFailures                          : 3
MaxMessageSize                            : 25 MB (26,214,400 bytes)
MaxProtocolErrors                         : 5
MaxRecipientsPerMessage                   : 200
PermissionGroups                          : AnonymousUsers, ExchangeServers, ExchangeLegacyServers
PipeliningEnabled                         : True
ProtocolLoggingLevel                      : Verbose
RemoteIPRanges                            : {::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff, 0.0.0.0-255.255.255.255}
RequireEHLODomain                         : False
RequireTLS                                : False
EnableAuthGSSAPI                          : False
ExtendedProtectionPolicy                  : None
LiveCredentialEnabled                     : False
TlsDomainCapabilities                     : {}
Server                                    : EX2016
TransportRole                             : FrontendTransport
RejectReservedTopLevelRecipientDomains    : False
RejectReservedSecondLevelRecipientDomains : False
RejectSingleLabelRecipientDomains         : False
SizeEnabled                               : Enabled
TarpitInterval                            : 00:00:05
MaxAcknowledgementDelay                   : 00:00:30
AdminDisplayName                          :
ExchangeVersion                           : 0.1 (8.0.535.0)
Name                                      : Default Frontend EX2016
DistinguishedName                         : CN=Default Frontend EX2016,CN=SMTP Receive
                                           Connectors,CN=Protocols,CN=EX2016,CN=Servers,CN=Exchange
                                           Administrative Group (###########),CN=Administrative Groups,CN=Org
                                           Unit,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=caymanport,
                                           DC=com
Identity                                  : EX2016\Default Frontend EX2016
ObjectCategory                            : example.com/Configuration/Schema/ms-Exch-Smtp-Receive-Connector
ObjectClass                               : {top, msExchSmtpReceiveConnector}
WhenChanged                               : 20/09/2016 8:21:49 AM
WhenCreated                               : 08/09/2016 8:02:11 AM
WhenChangedUTC                            : 20/09/2016 1:21:49 PM
WhenCreatedUTC                            : 08/09/2016 1:02:11 PM
OrganizationId                            :
Id                                        : EX2016\Default Frontend EX2016
OriginatingServer                         : dc.example.com
IsValid                                   : True
ObjectState                               : Unchanged

這是連接嘗試的 SMTP 日誌:

+,,
>,"220 EX2016.example.com Microsoft ESMTP MAIL Service ready at Tue, 20 Sep 2016 07:18:27 -0500",
<,EHLO printer.example.com,
>,250  EX2016.example.com Hello [172.16.113.55] SIZE 26214400 PIPELINING DSN ENHANCEDSTATUSCODES STARTTLS X-ANONYMOUSTLS AUTH NTLM X-EXPS GSSAPI NTLM 8BITMIME BINARYMIME CHUNKING XRDST,
<,AUTH NTLM,
>,334 <authentication response>,
>,334 <authentication response>,
*,,Inbound Negotiate failed because of LogonDenied
*,,User Name: NULL
*,Tarpit for '0.00:00:05' due to '535 5.7.3 Authentication unsuccessful',
>,535 5.7.3 Authentication unsuccessful,
-,,Remote(SocketError)

我認為我不應該使用匿名中繼連接器,因為我正在使用域使用者/密碼進行身份驗證。我究竟做錯了什麼?

編輯:我應該注意,這些列印機需要能夠在外部和內部發送電子郵件。

GeeksWithBlogs.net 上的這篇文章向我展示瞭如何設置擴展 AD 權限以接受來自任何使用者到任何地址的經過身份驗證的連接。

基礎是創建一個安全使用者組,允許對 Exchange 進行身份驗證以發送郵件。將您想要的任何使用者添加到該組。然後將 ms-Exch-SMTP-Submit 擴展權限添加到您的預設前端連接器。由於前端連接器只是中繼到客戶端代理連接器,因此您必須將所有實際接受權限添加到它而不是前端。

首先,我不會觸及預設的接收連接器。在這些情況下,我總是創建一個新的接收連接器。因此,我會把事情原樣放回去。您不希望埠 25 上啟用身份驗證的接收連接器暴露給 Internet - 這要求經過身份驗證的使用者攻擊。

然後創建一個新的接收連接器。為此,您需要使用 PWS,因為 ECP GUI 目前僅創建後端類型,而您需要前端。將其鎖定到設備的特定 IP 地址。然後,您需要在權限組下啟用身份驗證類型和 Exchange 使用者 - 與客戶端前端接收連接器基本相同,但在不同的埠上並且可能沒有 TLS。

然後重新啟動 MS Exchange 傳輸服務。

引用自:https://serverfault.com/questions/804230