TMA-IIS-2.7
Ensure 'passwordFormat' is not set to clear
Description
The <credentials> element of the <authentication> element allows optional definitions of name and password for IIS Manager User accounts within the configuration file. Forms based authentication also uses these elements to define the users. IIS Manager Users can use the administration interface to connect to sites and applications in which they've been granted authorization. Note ... forms credentials passwordFormat must not be Clear in the root web.config or any site. PowerShell 5.1 with the WebAdministration module; run elevated.
How it is checked
Audit method: Shell command
Import-Module WebAdministration -ErrorAction Stop; $paths = @('MACHINE/WEBROOT') + @(Get-Website | ForEach-Object { "IIS:\Sites\$($_.Name)" }); $bad = @($paths | Where-Object { $c = Get-WebConfiguration -Filter 'system.web/authentication/forms/credentials' -PSPath $_; [string]$c.passwordFormat -eq 'Clear' }); if ($bad.Count -eq 0) { 'compliant' } else { 'noncompliant' }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST/<site>' -Filter system.web/authentication/forms/credentials -Name passwordFormat -Value SHA1 (and replace clear-text passwords with hashes)
Properties
- Operating systems
- Any
- Tags
- iisauthentication
- Reference
- CIS Microsoft IIS 10 Benchmark v1.2.1 - 2.7 Ensure 'passwordFormat' is not set to clear
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target iis