Temos vários dispositivos que enviam e-mail por meio de nosso servidor Exchange 2010. Todos esses dispositivos são autenticados usando um usuário de domínio antes de enviar a mensagem e isso estava funcionando bem em 2010. Agora estamos migrando para o Exchange 2016 e estou tentando configurar o conector de recebimento para permitir a mesma coisa, mas não consigo fazer isso trabalhar. Aqui está a configuração do meu conector de recebimento:
[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
E este é o log SMTP de uma tentativa de conexão:
+,,
>,"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)
Acho que não devo usar um conector de retransmissão anônimo porque estou autenticando com um usuário/senha de domínio. O que estou fazendo errado?
Editar: devo observar que essas impressoras precisam ser capazes de enviar e-mails tanto externamente quanto internamente.
Primeiro, eu não teria tocado no conector de recebimento padrão. Nesses casos, sempre crio um novo Conector de recebimento. Portanto, eu colocaria as coisas de volta como estavam. Você não deseja que um conector de recebimento habilitado para autenticação na porta 25 seja exposto à Internet - isso está solicitando ataques de usuários autenticados.
Em seguida, crie um novo Conector de recebimento. Você precisará usar o PWS para isso porque a GUI do ECP atualmente cria apenas tipos de back-end, enquanto você deseja um front-end. Bloqueie-o para o endereço IP específico dos dispositivos. Em seguida, você precisa habilitar os tipos de autenticação e os usuários do Exchange em grupos de permissão - basicamente o mesmo que o conector de recebimento de front-end do cliente, mas em uma porta diferente e provavelmente sem TLS.
Em seguida, reinicie o serviço de transporte do MS Exchange.
Esta postagem no GeeksWithBlogs.net me mostrou como definir as permissões estendidas do AD para aceitar conexões autenticadas de qualquer usuário para qualquer endereço.
O básico é criar um grupo de segurança de usuários com permissão para se autenticar no Exchange para enviar e-mails. Adicione os usuários que você deseja a este grupo. Em seguida, adicione a permissão estendida ms-Exch-SMTP-Submit ao seu conector de front-end padrão. Como o conector front-end simplesmente retransmite para o conector Client Proxy, você deve adicionar todas as permissões de aceitação reais a ele, em vez do front-end.