Microsoft IIS
TMA-IIS-3.10
Ensure global .NET trust level is configured
Description
An application's trust level determines the permissions that are granted by the ASP.NET code access security (CAS) policy. CAS defines two trust categories: full trust and partial trust. An application that has full trust permissions may access all resource types on a server and perform privileged operations, while applications that run with partial trust have varying levels of operating permissions and access to ... The global .NET trust level (root web.config) must be Medium (Low and Minimal are stricter and also accepted); the default Full fails. PowerShell 5.1 with the WebAdministration module; run elevated.
How it is checked
Audit method: Shell command
Import-Module WebAdministration -ErrorAction Stop; $c = Get-WebConfiguration -Filter 'system.web/trust' -PSPath 'MACHINE/WEBROOT'; if ([string]$c.level -in @('Medium', 'Low', 'Minimal')) { 'compliant' } else { 'noncompliant' }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT' -Filter system.web/trust -Name level -Value Medium
Properties
- Operating systems
- Any
- Tags
- iisaspnet
- Reference
- CIS Microsoft IIS 10 Benchmark v1.2.1 - 3.10 Ensure global .NET trust level is configured
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target iis