Skip to content

Update Invoke-AnalyzerIISInformation.ps1 to verify Exchange Back End website binding [Issue #2209]#2272

Merged
dpaulson45 merged 1 commit into
mainfrom
ShasagarUpdated-HCIISBindingsCheck
Jan 22, 2025
Merged

Update Invoke-AnalyzerIISInformation.ps1 to verify Exchange Back End website binding [Issue #2209]#2272
dpaulson45 merged 1 commit into
mainfrom
ShasagarUpdated-HCIISBindingsCheck

Conversation

@shasagar
Copy link
Copy Markdown

@shasagar shasagar commented Jan 21, 2025

Modified the code to verify Exchange Backend Site binding and notify if website is bind with single IP.

Issue:
Healthchecker should check if IIS bindings are correctly configured, especially on the backend website.
Binding should be "all unassigned" and not for a specific IP address.

Reason:
The correct default values on backend should be like this:
Exchange Back End Started False http - *:81: - NULL
https - *:444: - 69DE5CA602D04D03939DA4E2F5BE2D076609B906
Incorrect setting on backend:
Exchange Back End Started False http - *:81: - NULL
https - 192.168.10.48:444: - 69DE5CA602D04D03939DA4E2F5BE2D076609B906

This becomes important when extended protection is enabled. When it is, and the binding is set to a specific IP address of the server the backend will drop the connection with the well known SEC_E_BAD_BNDINGS error; 2148074310.

Fix:
Updated "Diagnostics/HealthChecker/Analyzer/Invoke-AnalyzerIISInformation.ps1" to check Exchange Back End website binding
Resolved #2209

Validation:
Performed test in Lab by removing 'All Unassigned' binding from Exchange Back End website and binding single ip address with port 444

@shasagar shasagar requested a review from a team as a code owner January 21, 2025 19:50
@dpaulson45
Copy link
Copy Markdown
Member

@shasagar let's make the commit name more appropriate, Update Invoke-AnalyzerIISInformation.ps1 is very generic and isn't useful in the commit history.

Let's also include the issue number in the main PR comment to have it be linked.

@shasagar shasagar changed the title Update Invoke-AnalyzerIISInformation.ps1 Update Invoke-AnalyzerIISInformation.ps1 to verify Exchange Back End website binding Jan 21, 2025
@shasagar shasagar changed the title Update Invoke-AnalyzerIISInformation.ps1 to verify Exchange Back End website binding Update Invoke-AnalyzerIISInformation.ps1 to verify Exchange Back End website binding [Issue #2209] Jan 21, 2025
Write-Verbose "Working on IIS Web Sites"
$outputObjectDisplayValue = New-Object System.Collections.Generic.List[object]
$problemCertList = New-Object System.Collections.Generic.List[string]
$exchangeBackEndBindings = @()
Copy link
Copy Markdown
Contributor

@lusassl-msft lusassl-msft Jan 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use a List<T> here instead of an array?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, probably should being that the other lists above are that way. I was going to say, there is only going to be a few items at most in this list so there really isn't a performance benefit, but it will make more sense if we do it that way based off the other code.

@dpaulson45
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@dpaulson45
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Modified the code to verify Exchange Backend Site binding and notify if website is bind with single IP.
@shasagar shasagar force-pushed the ShasagarUpdated-HCIISBindingsCheck branch from eb93f82 to 24dd1d5 Compare January 22, 2025 17:53
@dpaulson45
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@dpaulson45 dpaulson45 self-requested a review January 22, 2025 19:12
@dpaulson45
Copy link
Copy Markdown
Member

@microsoft-github-policy-service rerun

@dpaulson45 dpaulson45 merged commit 7dd28f5 into main Jan 22, 2025
@dpaulson45 dpaulson45 deleted the ShasagarUpdated-HCIISBindingsCheck branch January 22, 2025 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HealthChecker should validate IIS bindings for "All Unassigned"

4 participants