Exchange
到 Exchange 2016 的 AD 使用者身份驗證
我們有許多設備通過我們的 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 傳輸服務。