TMAegis
More rules for iis

TMA-IIS-3.11

Ensure X-Powered-By Header is removed

LowLevel 2Automatediis

Description

The x-powered-by headers specify the underlying technology used by the webserver. No X-Powered-By custom header may be configured at server level or for any site. PowerShell 5.1 with the WebAdministration module; run elevated. CIS marks this recommendation Manual; the automated check implements its audit procedure.

How it is checked

Audit method: Shell command

shell
Import-Module WebAdministration -ErrorAction Stop; $paths = @('MACHINE/WEBROOT/APPHOST') + @(Get-Website | ForEach-Object { "IIS:\Sites\$($_.Name)" }); $bad = @($paths | Where-Object { @(Get-WebConfiguration -Filter 'system.webServer/httpProtocol/customHeaders/add' -PSPath $_ | Where-Object { $_.name -eq 'X-Powered-By' }).Count -gt 0 }); if ($bad.Count -eq 0) { 'compliant' } else { 'noncompliant' }
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Remove-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter system.webServer/httpProtocol/customHeaders -Name . -AtElement @{name='X-Powered-By'}

Properties

Operating systems
Any
Tags
iisinformation-disclosure
Reference
CIS Microsoft IIS 10 Benchmark v1.2.1 - 3.11 Ensure X-Powered-By Header is removed

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target iis --level 2