Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ExoConnectorCheck vs. documentation - Health Checker #2035

Open
Niehweune opened this issue Mar 10, 2024 · 5 comments · May be fixed by #2234
Open

New ExoConnectorCheck vs. documentation - Health Checker #2035

Niehweune opened this issue Mar 10, 2024 · 5 comments · May be fixed by #2234

Comments

@Niehweune
Copy link

Niehweune commented Mar 10, 2024

Provide Version Number
24.02.15.1640

Describe the issue
The New ExoConnectionCheck reports an issue if a send connector is present that routes mail to Exchange Online when there is no TLS certificate explicitly configured on the connector.
The documentation link referred does not mention explicitly setting the TLS certificate (at least not on the send connector), nor does the PowerShell command include the TlsCertificateName parameter.

Expected behavior
If it is now required to explicitly specify a TlsCertificateName on the send connector, documentation should be updated accordingly.
If not, this should not be reported as an issue (but additional checks may be required to verify correct configuration).

Script Output
EXO Connector Present: True
Send Connector - <connectorname>: Misconfigured to send authenticated internal mail to M365.
CloudServicesMailEnabled: True
TLSCertificateName set: False
More Information: https://aka.ms/HC-ExoConnectorIssue

Additional context
Exchange automatically selects a suitable certificate that matches the FQDN on the send connector, as long as it is valid and enabled for SMTP.
So the check might instead (or additionally) involve verifying if such a certificate is present, and if it is issued by a public authority (e.g. not self-signed and not issued by a AD CA).

@Niehweune Niehweune changed the title New ExoConnectorCheck vs. documentaion - Health Checker New ExoConnectorCheck vs. documentation - Health Checker Mar 10, 2024
@richfaj
Copy link
Member

richfaj commented Mar 12, 2024

Certificate with an accepted domain has been a requirement for sending mail to/from unaccepted domain for a while now. However, explicitly setting a certificate on the send connector is not a requirement. In the scenario where there is no explicit certificate specified on the connector, the best matching certificate is selected based on the FQDN set on the connector.

To ensure the expected certificate is always selected, it is best practice to specify a TlsCertificateName. This is the same way the Hybrid Configuration Wizard does it.

Both configurations below are valid, where explicit being preferred:

// Implicit
New-SendConnector -Name <DescriptiveName> -AddressSpaces * -CloudServicesMailEnabled $true -Fqdn <CertificateHostNameValue> -RequireTLS $true -DNSRoutingEnabled $false -SmartHosts <YourDomain>-com.mail.protection.outlook.com -TlsAuthLevel CertificateValidation

// Explicit
New-SendConnector -Name <DescriptiveName> -AddressSpaces * -CloudServicesMailEnabled $true -Fqdn <HostNameValue> -RequireTLS $true -DNSRoutingEnabled $false -SmartHosts <YourDomain>-com.mail.protection.outlook.com -TlsAuthLevel CertificateValidation -TlsCertificateName <X509CertificateName>

Perhaps warn only when the FDQN is not set?

@dpaulson45 dpaulson45 added the P2 label Apr 17, 2024
@worldsdream
Copy link

Any update on this?

As the documentation shows:

New-SendConnector -Name "My company to Office 365" -AddressSpaces * -CloudServicesMailEnabled $true -Fqdn mail.contoso.com -RequireTLS $true -DNSRoutingEnabled $false -SmartHosts contoso-com.mail.protection.outlook.com -TlsAuthLevel CertificateValidation

The script shows the warning:

EXO Connector Present: True
Send Connector - : Misconfigured to send authenticated internal mail to M365.
CloudServicesMailEnabled: True
TLSCertificateName set: False
More Information: https://aka.ms/HC-ExoConnectorIssue

So the documentation needs to change or the health checker script. It's not clear right now.

Thank you.

@lusassl-msft
Copy link
Contributor

We will investigate this. This is caused by the change made via PR #1984 .

@arindamthokder
Copy link

arindamthokder commented Jun 19, 2024

Perhaps warn only when the FDQN is not set?

But in Hybrid when HCW is run, the connector FQDN is usually blank. Only TLSCertificateName is set.
IMO, we should check (TLSCertificateName is set) or (fqdn parameter is set).

@dpaulson45 dpaulson45 added this to the HC - Aug 2024 Release milestone Jun 19, 2024
@JeremyTBradshaw
Copy link

Just checking in, wondering if an update is being planned for this one. The link in the OP as well as Set-SendConnector / New-SendConnector do not mention -CloudServicesMailEnabled as being dependent or impacting to -TlsCertificateName nor -Fqdn.

Real life observation of both an HCW-created "Outbound to Office 365", and a custom "To-internet-via-EOP" send connector, created by following the link in the OP's New-SendConnector example - works perfectly fine. Both use CloudServicesEnabled TRUE and the latter has no TlsCertificateName set, rather has Fqdn set. The latter causes red line in HealthChecker.ps1 output.

@lusassl-msft lusassl-msft self-assigned this Nov 27, 2024
@lusassl-msft lusassl-msft linked a pull request Nov 27, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants