Microsoft IIS
TMA-IIS-1.5
Ensure 'unique application pools' is set for sites
MediumLevel 1Automatediis
Description
Application Pool Identities allows Application Pools to be run under unique accounts without the need to create and manage local or domain accounts. It is recommended that all Sites run under unique, dedicated Application Pools. Fails when two or more sites share the same application pool. PowerShell 5.1 with the WebAdministration module; run elevated.
How it is checked
Audit method: Shell command
shell
Import-Module WebAdministration -ErrorAction Stop; $bad = @(Get-Website | Group-Object applicationPool | Where-Object { $_.Count -gt 1 }); if ($bad.Count -eq 0) { 'compliant' } else { 'noncompliant' }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Create a dedicated pool per site and assign it: Set-ItemProperty -Path 'IIS:\Sites\<site>' -Name applicationPool -Value <pool>.
Properties
- Operating systems
- Any
- Tags
- iisisolation
- Reference
- CIS Microsoft IIS 10 Benchmark v1.2.1 - 1.5 Ensure 'unique application pools' is set for sites
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target iis