Dans le cadre de la sécurisation des environnements WEB, un scan peut être joué sur des plages IP afin de détecter les risques potentiels.
Les serveurs WEB par défaut permettent la vision des headers techniques (auto description des moteurs) comme suivant:
Ainsi, n’importe quel hacker potentiel reçoit des informations importantes permettant par exemple de cibler directement la méthode à utiliser.
D’ailleurs pour valider la vision de ces entêtes, il suffit de faire F12 avec votre IE et regarder les response headers.
Il est donc souvent demandé de supprimer ces entêtes au niveau des serveurs afin de réduire le niveau de risques de votre site Web.
Dans le cas des fermes SharePoint, ce travail peut être assez lourd (du fait d’un grand nombre de Web Applications), un script PowerShell peut aider à effectuer ces changements.
Je me suis basé sur les messages suivant afin de trouver comment faire ces modifications:
- Remove Unwanted HTTP Response Headers
- Remove IIS version and X-Powered by ASP.NET version from HTTP response header of IIS
Import-Module WebAdministration
# ========================================
#Remove IIS Header X-AspNet-Version
Set-WebConfigurationProperty "/system.web/httpRuntime" -PSPath MACHINE/WEBROOT -name enableVersionHeader -value "False"# ========================================
#Remove IIS Header X-Powered-By#Global Remove
Remove-WebConfigurationProperty -PSPath MACHINE/WEBROOT/APPHOST -Filter system.webServer/httpProtocol/customHeaders -Name . -AtElement @{name='X-Powered-By'}#Web Application Remove
$WebSites = get-website
foreach($MySite in $WebSites)
{
$MySite.Name
$MyPath = "MACHINE/WEBROOT/APPHOST/" +$MySite.Name
$MyPath
Remove-WebConfigurationProperty -PSPath $MyPath -Filter system.webServer/httpProtocol/customHeaders -Name . -AtElement @{name='X-Powered-By'}
}# ========================================
#Remove IIS Header Server#Global via REGEDIT - Not working with IIS 7 and more
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\" -Name "DisableServerHeader" -Value 1 -PropertyType "DWORD"
Une fois ce script exécuté en mode adminitrateur, il faut relancer IIS (via IISRESET par exemple).
En revanche, l’entête “Server” est plus complexe à supprimer, car il est interne au moteur et la seule solution est de faire un filtrage des appels via URLRewrite ou un tool comme URLScan.
Romelard Fabrice [MBA Risk Management]
Commentaires
Enregistrer un commentaire