Microsoft IIS
TMA-IIS-4.3
Ensure 'MaxQueryString request filter' is configured
Descrição
The MaxQueryString Request Filter describes the upper limit on the length of the query string that the configured IIS server will allow for websites or applications. It is recommended that values always be established to limit the amount of data that can be accepted in the query string. requestLimits maxQueryString must be 2048 or lower at server level and for every site (default 2048). PowerShell 5.1 with the WebAdministration module; run elevated.
Como é verificado
Método de auditoria: Comando shell
Import-Module WebAdministration -ErrorAction Stop; $paths = @('MACHINE/WEBROOT/APPHOST') + @(Get-Website | ForEach-Object { "IIS:\Sites\$($_.Name)" }); $bad = @($paths | Where-Object { $c = Get-WebConfiguration -Filter 'system.webServer/security/requestFiltering/requestLimits' -PSPath $_; [long]$c.maxQueryString -gt 2048 }); if ($bad.Count -eq 0) { 'compliant' } else { 'noncompliant' }- Saída esperada
compliant
Como é corrigido
Método de correção: Orientação ou patch de infraestrutura
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter system.webServer/security/requestFiltering/requestLimits -Name maxQueryString -Value 2048
Propriedades
- Sistemas operacionais
- Qualquer
- Tags
- iisrequest-filtering
- Referência
- CIS Microsoft IIS 10 Benchmark v1.2.1 - 4.3 Ensure 'MaxQueryString request filter' is configured
Verificar este host
Execute isto em uma máquina que você tenha permissão para auditar. A varredura é somente leitura.
tmaegis scan --target iis --level 2