Hardening

Cette page vise à rassembler les remédiations aux principales problématiques de sécurité qui touchent les systèmes Windows, localement ou dans des contextes de domaines Active Directory.

Désactiver les protocoles multidiffusion

Il existe trois principaux protocoles multidiffusion qu’il convient de désactiver dans un soucis de sécurisation de son réseau d’entreprise : LLMNR, NBT-NS et mDNS. Ces mécanismes de résolution de nom sont présents par défaut et sont utilisés dans le cas où les serveurs DNS ne répondent pas.

Désactiver LLMNR

Désactivation par GPO

  1. Ouvrir l’outil de gestion des stratégies de groupe et créer une nouvelle stratégie
  2. Se rendre dans Computer Configuration > Policies > Administrative Template > Network > DNS Client
  3. Passer la règle “Turn off multicast name resolution” sur Enabled

Désactivation par clé de registre

Dans le cas où il n’est pas possible de passer par une GPO, il faut alors créer la clé de registre suivante sur les masters de déploiement.

New-Item "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT" -Name DNSClient -Force

New-ItemProperty "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMultiCast" -Value 0 -Property DWORD -Force

Désactiver NBT-NS

Désactivation par clé de registre

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\tcpip_*' -Name NetbiosOptions -Value 2 -Verbose

Désactivation par GPO

Il est possible de pousser la commande ci-dessus par GPO et ainsi appliquer la configuration sur tous les postes du domaine Active Directory :

  1. Ouvrir l’outil de gestion des stratégies de groupe et créer une nouvelle stratégie
  2. Se rendre dans Configuration ordinateur > Stratégies > Paramètres Windows > Scripts (démarrage/arrêt)
  3. Cliquer sur Démarrage, puis sélectionner l’onglet Scripts Powershell
  4. Clique sur Ajouter puis Parcourir pour récupérer le fichier Powershell contenant la commande du dessus.

Désactiver mDNS

Désactivation par clé de registre

New-ItemProperty -Path "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name "EnableMDNS" -Value 0 -PropertyType DWORD -Force

Activer la signature SMB

  1. Ouvrir l’outil de gestion des stratégies de groupe et créer une nouvelle stratégie
  2. Se rendre dans Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
  3. Passer la règle “Microsoft network server: Digitally sign communication (always)” sur Enabled

Désactiver IPv6

Si le protocole IPv6 n’est pas activement utilisé au sein du réseau, il est recommandé de le désactiver sur les postes clients.

Désactivation par GPO

  1. Ouvrir l’outil de gestion des stratégies de groupe et créer une nouvelle stratégie
  2. Se rendre dans Computer Configuration > Policies > Administrative Template > Network > IPv6 Configuration
  3. Passer la règle “IPv6 Configuration Policy” sur Disabled ou choisir parmi les nombreuses options proposées

Désactivation par clé de registre

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name DisabledComponents -Type DWORD -Value 255 -Force

En revanche, Windows mets en garde quant à la désactivation complète d’IPv6. La valeur 32 pour cette clé de registre rend IPv4 prioritaire sur IPv6.

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name DisabledComponents -Type DWORD -Value 32 -Force

Positionner le ms-DS-MachineAccountQuota à 0

Dans la configuration par défaut d’un environnement Active Directory, chaque utilisateur peut intégrer 10 objets “Ordinateur” au domaine.

Ce quota est défini dans l’attribut ms-DS-MachineAccountQuota et est la source de plusieurs vulnérabilités, il convient alors de modifier ce paramètre.

Set-ADDomain -Identity "DC=$DOMAIN,DC=$TLD" -Replace @{"ms-DS-MachineAccountQuota"="0"}

Désactiver les “Null Session

Désactivation par GPO

  1. Ouvrir l’outil de gestion des stratégies de groupe
  2. Editer la stratégie présente dans Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > SecurityOptions
  3. Passer la règle “Network access: Restrict Anonymous access to Named Pipes and Shares” sur Enabled
  4. Passer la règle “Network access: Do not allow anonymous enumeration of SAM accounts” sur Enabled
  5. Passer la règle “Network access: Do not allow anonymous enumeration of SAM accounts and shares” sur Enabled
  6. Passer la règle “Network access: Shares that can be accessed anonymously” sur Enabled
  7. Passer la règle “Network access: Let Everyone permissions apply to anonymous users” sur Disabled
  8. Passer la règle “Network access: Allow anonymous SID/Name translation” sur Disabled
  9. Passer la règle “Restrict Null Sessions in the Registry” sur Disabled

Désactiver SMBv1