« Active Directory Securisation » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
 
(66 versions intermédiaires par le même utilisateur non affichées)
Ligne 93 : Ligne 93 :
=== Activer la corbeille Active Directory ===
=== Activer la corbeille Active Directory ===


{{Synthèse Score Sécurité|oradad=&mdash;|mo={{Feu vert}}|criticite=&mdash;|pingcastle=10|CVE=&mdash;|correctifs=[https://learn.microsoft.com/fr-fr/windows-server/identity/ad-ds/get-started/adac/advanced-ad-ds-management-using-active-directory-administrative-center--level-200- Recommandations Microsoft]<br />[https://attack.mitre.org/mitigations/M1047/ M1047]|compatibilite=Windows Server 2012 et ultérieure}}
{{Synthèse Score Sécurité|oradad=&mdash;|mo={{Feu vert}}|criticite={{Feu vert}}|pingcastle=10|CVE=&mdash;|correctifs=[https://learn.microsoft.com/fr-fr/windows-server/identity/ad-ds/get-started/adac/advanced-ad-ds-management-using-active-directory-administrative-center--level-200- Recommandations Microsoft]<br />[https://attack.mitre.org/mitigations/M1047/ M1047]|compatibilite=Windows Server 2012 et ultérieure}}


# Ouvrir le '''Centre d’administration Active Directory''' avec un compte de privilèges '''Administrateurs de l'Entreprise'''.
# Ouvrir le '''Centre d’administration Active Directory''' avec un compte de privilèges '''Administrateurs de l'Entreprise'''.
Ligne 149 : Ligne 149 :
=== Restriction des types de chiffrement autorisés pour Kerberos ===
=== Restriction des types de chiffrement autorisés pour Kerberos ===


{{Synthèse Score Sécurité|oradad={{Score ORADAD 2}} {{Score ORADAD 3}} {{Score ORADAD 4}}|pingcastle=&mdash;|compatibilite=Windows Server 2008 R2 et ultérieure<br />Windows 7 et ultérieure|CVE=&mdash;|correctifs=&mdash;}}
{{Synthèse Score Sécurité|oradad={{Score ORADAD 2}} {{Score ORADAD 3}} {{Score ORADAD 4}}|mo={{Feu orange}}|criticite={{Feu rouge}}||pingcastle=&mdash;|compatibilite=Windows Server 2008 R2 et ultérieure<br />Windows 7 et ultérieure|CVE=&mdash;|correctifs=&mdash;}}


==== Objet de la stratégie ====
==== Objet de la stratégie ====
Ligne 359 : Ligne 359 :
## Depuis le champs '''Données de valeur''', saisir '''1'''{{Exp|6}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LSA_RUNASPPL_SETTINGS.png]]
## Depuis le champs '''Données de valeur''', saisir '''1'''{{Exp|6}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LSA_RUNASPPL_SETTINGS.png]]
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.
# Pour forcer l'application de la stratégie sur le poste, exécuter le commande {{Commande|gpupdate /force}}
# Procéder au redémarrage du poste.


{{ Box Remarque | objet=Vous pouvez auditer cette stratégie en affectant la valeur <span style="color:green">8</span> au lieu de <span style="color:red">1</span>. Un évènement d'audit apparaîtra dans les journaux Windows sans pour autant bloquer l'application non signée. }}
{{ Box Remarque | objet=Vous pouvez auditer cette stratégie en affectant la valeur <span style="color:green">8</span> au lieu de <span style="color:red">1</span>. Un évènement d'audit apparaîtra dans les journaux Windows sans pour autant bloquer l'application non signée. }}
Ligne 394 : Ligne 396 :
{{ Box Attention | objet=Les événement '''3065''' et '''3066''' indiquent que la stratégie - si elle est mise en production - va impacter le bon fonctionnement de certains programmes. Il est nécessaire de se rapprocher des éditeurs des logiciels pour lesquels ces événements sont déclenchés. }}
{{ Box Attention | objet=Les événement '''3065''' et '''3066''' indiquent que la stratégie - si elle est mise en production - va impacter le bon fonctionnement de certains programmes. Il est nécessaire de se rapprocher des éditeurs des logiciels pour lesquels ces événements sont déclenchés. }}
==== Vérifier la stratégie ====
* Depuis la console '''Observateur d'événements''', dans le journal '''Journaux Windows''' / '''Système''', observer les événements '''WinInit''' suivants :
12 : LSASS.exe a démarré en tant que processus protégé avec le niveau : 4
[[Image:MMCEVENT_WININIT_12_LSA_ENABLED.png]]
==== Démonstration ====
Avant application de la stratégie, on va lire les identifiants en mémoire sur la machine à l'aide de '''Mimikatz'''.
* On exécute l'application avec un compte disposant des '''privilèges administrateur local''' du poste.
* On bascule en '''mode privilégié''' avec la commande : {{Commande|privilege::debug}}
* On interroge le '''processus LSA''' pour récupérer les '''identifiants en mémoire''' sur le poste avec la commande : {{Commande|sekurlsa::logonPasswords}}<br />[[Image:MIMIKATZ_SEKURLSA_LOGONPASSWORDS_ADMINISTRATEUR.png]]
* Grâce à la récupération du '''hash NTLM''', on peut s'octroyer l'exécution d'un Shell avec des droits '''Administrateur du domaine''' : {{Commande|sekurlsa::pth /user:Administrateur /domain:NCAD /ntlm:<hash_ntlm> /run:powershell.exe}}<br />[[Image:MIMIKATZ_SEKURLSA_PTH_ADMINISTRATOR.png]]
* Maintenant, après application de la protection du '''processus LSA''', il devient impossible d'extraire les identifiants stockés en mémoire :<br />[[Image:MIMIKATZ_SEKURLSA_LOGONPASSWORDS_ADMINISTRATEUR_LSA_PROTECT.png]]


== Restrictions des comptes standards ==
== Restrictions des comptes standards ==
Ligne 443 : Ligne 461 :


== Restrictions des comptes à privilèges ==
== Restrictions des comptes à privilèges ==
=== Définition ===


{{Citation|Les groupes privilégiés sont les groupes d'administration et les groupes opératifs ayant tous les droits et privilèges sur la forêt ou pouvant se les attribuer :
{{Citation|Les groupes privilégiés sont les groupes d'administration et les groupes opératifs ayant tous les droits et privilèges sur la forêt ou pouvant se les attribuer :
Ligne 457 : Ligne 477 :
*Les groupes '''opérateurs''' sont vides par défaut et ne devraient contenir aucun membre.|Source : ANSSI / ORADAD vulnérabilité VULN_DONT_EXPIRE_PRIV https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html}}
*Les groupes '''opérateurs''' sont vides par défaut et ne devraient contenir aucun membre.|Source : ANSSI / ORADAD vulnérabilité VULN_DONT_EXPIRE_PRIV https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html}}


Pour tout utilisateur membre de l’un de ces '''groupes privilégiés''', les paramètres suivants devront être positionnés directement sur le compte utilisateur :
* Activer l’indicateur '''[[:Active_Directory_Securisation#Désactiver_la_délégation|Le compte est sensible et ne peut pas être délégué]]'''.
* Activer l’indicateur '''Une carte à puce est nécessaire pour ouvrir une session interactive''', si vous disposez de ce type de technologie d'authentification dans votre structure.
De plus, ces comptes auront les restrictions d’accès suivantes pour limiter leur utilisation sur le parc :
* Interdire l’'''[[:Active_Directory_Securisation#Interdire_la_connexion_des_comptes_à_privilèges_sur_les_postes_clients_du_domaine|accès à cet ordinateur à partir du réseau]]'''.
* Interdire l’'''[[:Active_Directory_Securisation#Interdire_la_connexion_des_comptes_à_privilèges_sur_les_postes_clients_du_domaine|ouverture de session en tant que tâche]]'''.
* Interdire l’'''[[:Active_Directory_Securisation#Interdire_la_connexion_des_comptes_à_privilèges_sur_les_postes_clients_du_domaine|ouverture de session en tant que service]]'''.
* Interdire l’'''[[:Active_Directory_Securisation#Interdire_la_connexion_des_comptes_à_privilèges_sur_les_postes_clients_du_domaine|ouverture d’une session locale]]'''.
* Interdire l’'''[[:Active_Directory_Securisation#Interdire_la_connexion_des_comptes_à_privilèges_sur_les_postes_clients_du_domaine|ouverture de session par les services Terminal Server]]'''.
Pour veiller à ce que les comptes à privilèges ne puissent pas se connecter sur des machines non autorisées, il sera nécessaire d’activer la fonction suivante :
* [[Active_Directory_Securisation#Auditer_les_connexions_administrateur_du_domaine|Configurer l’audit des comptes administrateur]].
Il est aussi nécessaire d’exiger pour ce type de compte une connexion sécurisée utilisant des méthodes de chiffrement fortes ainsi qu’une limitation de la durée de vie du TGT. Pour cela, le compte doit appartenir au groupe de sécurité suivant :
* '''[[Active_Directory_Securisation#Protection_du_compte_avec_le_groupe_Protected_Users|Protected User]]'''.


=== Désactiver la délégation ===
=== Désactiver la délégation ===
Ligne 518 : Ligne 554 :
# Il est possible de '''lister''' l'ensemble des comptes du domaine où l''''appartenance au groupe''' est vérifiée avec la commande '''PowerShell''' :<br />{{Commande|Get-ADGroupMember -Identity "Administrateurs du schéma"}}
# Il est possible de '''lister''' l'ensemble des comptes du domaine où l''''appartenance au groupe''' est vérifiée avec la commande '''PowerShell''' :<br />{{Commande|Get-ADGroupMember -Identity "Administrateurs du schéma"}}
# Dans la mesure du possible, '''supprimer''' cette appartenance sur l'ensemble des comptes listés.
# Dans la mesure du possible, '''supprimer''' cette appartenance sur l'ensemble des comptes listés.
=== Interdire la connexion des comptes à privilèges sur les postes clients du domaine ===
==== Objet de la stratégie ====
Les comptes à privilèges ne sont pas censés se connecter sur des terminaux utilisateurs ou même des serveurs applicatifs. Idéalement, vous devez disposer d'équipements dédiés à la connexion de ce type de compte exclusivement.
Le déploiement de cette stratégie fait partit de la '''Recommandation à l’état de l’art n°R29''' du guide de l’ANSSI intitulé [https://cyber.gouv.fr/publications/recommandations-relatives-ladministration-securisee-des-si Recommandations relatives à l’administration sécurisée des systèmes d’information] en date du 11/05/2021.
==== Mise en place de la stratégie ====
{{ Box Information | objet=Cette stratégie sera configurée pour ne pas s'appliquer aux ordinateurs membres du groupe de sécurité GPO-NO-ADMINLOGONSURVEY. Ce groupe sera créé spécialement pour cette occasion. }}
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Centre d'administration Active Directory'''.
# Basculer sur la vue '''Arborescence''' en cliquant sur l’onglet '''liste'''.
# Depuis l'arborescence '''ncad (local)''' / '''NCAD.FR-ADM''' / '''Groupes''' / '''Permissions''', créer le groupe de sécurité '''GPO-NO-ADMINLOGONSURVEY'''.
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur l'objet '''NCAD.FR''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_AdminLogonSurvey''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Stratégies''' / '''Paramètres Windows''' / '''Paramètres de sécurité''' / '''Stratégies locales''' / '''Attribution des droits utilisateur'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_EDIT.png]]
# Accéder aux '''Propriétés''' de la stratégie '''Interdire l'accès à cet ordinateur à partir du réseau''' :
## Sélectionner l'option '''Définir ces paramètres de stratégie'''.
## Cliquer sur le bouton {{Bouton|Ajouter un utilisateur ou un groupe...}} puis rechercher et ajouter le groupe '''Admins du domaine'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_INTERDICTION_CONNEXION_ORDINATEUR_SETTINGS.png]]
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.
# Accéder aux '''Propriétés''' de la stratégie '''Interdire l'ouverture d'une session locale''' :
## Sélectionner l'option '''Définir ces paramètres de stratégie'''.
## Cliquer sur le bouton {{Bouton|Ajouter un utilisateur ou un groupe...}} puis rechercher et ajouter le groupe '''Admins du domaine'''.
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_INTERDICTION_SESSION_LOCALE_SETTINGS.png]]
# Accéder aux '''Propriétés''' de la stratégie '''Interdire l'ouverture de session en tant que service''' :
## Sélectionner l'option '''Définir ces paramètres de stratégie'''.
## Cliquer sur le bouton {{Bouton|Ajouter un utilisateur ou un groupe...}} puis rechercher et ajouter le groupe '''Admins du domaine'''.
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_INTERDICTION_EN_TANT_QUE_SESSION_SETTINGS.png]]
# Accéder aux '''Propriétés''' de la stratégie '''Interdire l'ouverture de session en tant que tâche''' :
## Sélectionner l'option '''Définir ces paramètres de stratégie'''.
## Cliquer sur le bouton {{Bouton|Ajouter un utilisateur ou un groupe...}} puis rechercher et ajouter le groupe '''Admins du domaine'''.
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_INTERDICTION_EN_TANT_QUE_TACHE_SETTINGS.png]]
# Accéder aux '''Propriétés''' de la stratégie '''Interdire l'ouverture de session par les services Bureau à distance''' :
## Sélectionner l'option '''Définir ces paramètres de stratégie'''.
## Cliquer sur le bouton {{Bouton|Ajouter un utilisateur ou un groupe...}} puis rechercher et ajouter le groupe '''Admins du domaine'''.
## Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_INTERDICTION_BUREAU_DISTANCE_SETTINGS.png]]
# Depuis la fenêtre des '''Propriétés''' de la GPO '''O_WINDOWS_AdminLogonSurvey'''{{Exp|1}}, cliquer sur l'onglet '''Délégation'''{{Exp|2}} puis sur le bouton {{Bouton|Ajouter}}{{Exp|3}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_DELEGATION.png]]
## Depuis la boîte de dialogue '''Ajouter un utilisateur ou un groupe''', sélectionner le groupe '''GPO-NO-ADMINLOGONSURVEY''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_DELEGATION_GROUP_ADD.png]]
# De retour sur fenêtre des '''Propriétés''' de la GPO '''O_WINDOWS_AdminLogonSurvey''', cliquer sur le bouton {{Bouton|Avancée...}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_DELEGATION_BNT_ADVANCED.png]]
## Depuis la boîte de dialogue '''Paramètres de sécurité pour O_WINDOWS_AdminLogonSurvey''', sélectionner le groupe '''GPO-NO-ADMINLOGONSURVEY'''{{Exp|1}} puis, depuis la section Autorisation pour''', cliquer sur l'option '''Refuser'''{{Exp|2}} pour l'autorisation '''Appliquer la stratégie de groupe'''{{Exp|2}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOGONSURVEY_DELEGATION_GROUP_PROPERTY.png]]
=== Suppression des comptes administrateurs locaux sur les postes clients du domaine ===
==== Objet de la stratégie ====
* Les '''droits d’administration locaux''' sur les machines sont octroyés par '''délégation de privilèges'''. En l'occurrence, pour bénéficier de droits d'administration sur les machines du domaine, l'utilisateur devra être membre du groupe '''LOG-AD-ADMINPC''' ''(créé spécialement pour l'occasion)''.
* Le '''mot de passe''' des comptes administrateurs locaux des postes sont régénérés de manière périodique par le service [[:Windows_LAPS|LAPS]].
* Tout autre compte administrateur local sur les machines joint au domaine est de ce fait rétrogradé en compte utilisateur sans privilèges.
==== Mise en place de la stratégie ====
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Centre d'administration Active Directory'''.
# Basculer sur la vue '''Arborescence''' en cliquant sur l’onglet '''liste'''.
# Depuis l'arborescence '''ncad (local)''' / '''NCAD.FR-ADM''' / '''Groupes''' / '''Permissions''', créer le groupe de sécurité '''LOG-AD-ADMINPC'''.
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur l'objet '''NCAD.FR''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_AdminLocReset''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOCRESET.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Préférences''' / '''Paramètres du Panneau de configuration''' / '''Utilisateurs et groupes locaux'''{{Exp|1}}, puis effectuer un clic droit '''Nouveau'''{{Exp|2}} / '''Groupe local'''{{Exp|3}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOCRESET_EDIT.png]]
# La boîte de dialogue '''Nouvelles propriétés de Groupe local''' s'affiche. Renseigner les paramètres suivants :
## Depuis le menu de sélection '''Action''', sélectionner la valeur '''Mettre à jour'''{{Exp|1}}.
## Depuis le menu de sélection '''Nom du groupe''', sélectionner la valeur '''Administrateurs (intégré)'''{{Exp|2}}.
## Activer les options '''Supprimer les utilisateurs''' et '''Supprimer les groupes'''{{Exp|3}}.
## Depuis la section '''Membres''', cliquer sur le bouton {{Bouton|Ajouter...}}{{Exp|4}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOCRESET_SETTINGS.png]]
### Depuis la boîte de dialogue '''Membre de groupe local''', dans le champ '''Nom''' saisir la valeur '''Administrateur''' puis depuis le menu de sélection '''Action''', choisir '''Ajouter à ce groupe'''. Cliquer sur le bouton {{Bouton|OK}} pour ajouter le groupe.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ADMINLOCRESET_MEMBERS_ADD.png]]
### Répéter cette opération pour les groupes '''Admins du domaine''' et '''LOG-AD-ADMINPC'''.
## De retour sur le boîte de dialogue '''Nouvelles propriétés de Groupe local''', cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.
=== Auditer les connexions administrateur du domaine ===
==== Stratégie de journalisation ====
Pour identifier des activités suspectes comme des tentatives d’utilisation de violation de compte à privilèges, il est nécessaire d’auditer et de vérifier l’utilisation qui est faites de ces comptes. 
==== Extraire la liste des connexions établies avec succès ====
* Le script '''PowerShell''' ci-dessous permet d’extraire la '''liste des authentifications''' effectuées depuis un compte membre du groupe '''Admins du domaine'''. La requêtes consulte le journal d’événement Windows en filtrant l’'''ID d’événement ''(4624)''''' ainsi que l’'''identifiant de l’utilisateur ''(SamAccountName)'''''.
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")
$Events=$null
foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
    Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
    $Events += Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4624)]]and Event[EventData[Data[@Name='TargetUserName']='$($ADMINACCOUNT.SamAccountName)']]" | Select-Object `
    @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
    @{Label='UserName';Expression={$_.Properties[5].Value}},
    @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
    @{Label='LogonType';Expression={$_.properties[8].value}},
    @{Label='IP Address';Expression={$_.properties[18].value}},
    @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
* Il est également possible de jouer le script sur des '''journaux d’événements archivés''' :
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")
$Events=$null
foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
    Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
    $Events += Get-WinEvent -FilterHashtable @{Path="C:\Windows\System32\winevt\Logs\Security.evtx";Id="4624";Data="$($ADMINACCOUNT.SamAccountName)"} | Select-Object `
        @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
        @{Label='UserName';Expression={$_.Properties[5].Value}},
        @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
        @{Label='LogonType';Expression={$_.properties[8].value}},
        @{Label='IP';Expression={$_.properties[18].value}},
        @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
* Ou encore de la jouer directement sur le '''journal d’événements Système''' depuis l’onglet XML en précisant le nom du <span style="color:orange">compte utilisateur</span> à rechercher :
<QueryList>
    <Query Id="0" Path="Security">
    <Select Path="Security">
        *[System[(EventID=4624)] and EventData[Data[@Name='TargetUserName']='<span style="color:orange">USERNAME</span>']]
    </Select>
    </Query>
</QueryList>
==== Extraire la liste des connexions en échec ====
* Le script '''PowerShell''' ci-dessous permet d’extraire la '''liste des authentifications''' effectuées depuis un compte membre du groupe '''Admins du domaine'''. La requêtes consulte le journal d’événement Windows en filtrant l’'''ID d’événement ''(4625)''''' ainsi que l’'''identifiant de l’utilisateur ''(SamAccountName)'''''.
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")
$Events=$null
foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
    Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
    $Events += Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4625)]]and Event[EventData[Data[@Name='TargetUserName']='$($ADMINACCOUNT.SamAccountName)']]" | Select-Object `
    @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
    @{Label='UserName';Expression={$_.Properties[5].Value}},
    @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
    @{Label='LogonType';Expression={$_.properties[8].value}},
    @{Label='IP Address';Expression={$_.properties[18].value}},
    @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
* Il est également possible de jouer le script sur des '''journaux d’événements archivés''' :
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")
$Events=$null
foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
    Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
    $Events += Get-WinEvent -FilterHashtable @{Path="C:\Windows\System32\winevt\Logs\Security.evtx";Id="4625";Data="$($ADMINACCOUNT.SamAccountName)"} | Select-Object `
        @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
        @{Label='UserName';Expression={$_.Properties[5].Value}},
        @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
        @{Label='LogonType';Expression={$_.properties[8].value}},
        @{Label='IP';Expression={$_.properties[18].value}},
        @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
* Ou encore de la jouer directement sur le '''journal d’événements Système''' depuis l’onglet XML en précisant le nom du <span style="color:orange">compte utilisateur</span> à rechercher :
<QueryList>
    <Query Id="0" Path="Security">
    <Select Path="Security">
        *[System[(EventID=4625)] and EventData[Data[@Name='TargetUserName']='<span style="color:orange">USERNAME</span>']]
    </Select>
    </Query>
</QueryList>


== Stratégie des mots de passe ==
== Stratégie des mots de passe ==
Ligne 523 : Ligne 731 :
=== Expiration des mots de passe ===
=== Expiration des mots de passe ===


{{Synthèse Score Sécurité|oradad={{Score ORADAD 1}} {{Score ORADAD 2}}|pingcastle=1|mo={{Feu orange}}|criticite={{Feu rouge}}|compatibilite=Windows Server 2008 et ultérieure|CVE=&mdash;|correctifs=&mdash;}}
{{Synthèse Score Sécurité|oradad={{Score ORADAD 1}} {{Score ORADAD 2}}|pingcastle=1 - 10|mo={{Feu orange}}|criticite={{Feu rouge}}|compatibilite=Windows Server 2008 et ultérieure|CVE=&mdash;|correctifs=&mdash;}}


==== Objet de la stratégie ====
==== Objet de la stratégie ====


ORADAD vérifie si les comptes à privilèges disposent d'un mot de passe qui n'expire jamais. Si c'est le cas, le critère d'analyse [https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_dont_expire_priv vuln_dont_expire_priv] remonte en anomalie avec un score de {{Score ORADAD 1}}.
'''ORADAD''' et '''PingCastle''' vérifient la politique de mot de passe pour les comptes à privilèges :
* Dans le cas où le compte dispose de l'option '''ce mot de passe n'expire jamais''', le critère d'analyse '''[https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_dont_expire_priv vuln_dont_expire_priv]''' remonte en anomalie avec un score de {{Score ORADAD 1}}. '''PingCastle''' attribut '''1 point''' pour ce critère.
* Si le mot de passe n'a pas été changé depuis plus de 3 ans, le critère d'analyse '''[https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_password_change_priv vuln_password_change_priv]''' remonte en anomalie avec un score de {{Score ORADAD 1}}. '''PingCastle''' attribut '''10 points''' pour ce critère.


Dans tous les cas, si plus de 10% des comptes de l'Active Directory disposent d'un mot de passe n'expirant jamais, alors le critère d'analyse [https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_dont_expire vuln_dont_expire] remonte dans ORADAD avec un score de {{Score ORADAD 2}}.
Dans tous les cas, si plus de 10% des comptes de l'Active Directory disposent d'un mot de passe n'expirant jamais, alors le critère d'analyse '''[https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_dont_expire vuln_dont_expire]''' remonte dans '''ORADAD''' avec un score de {{Score ORADAD 2}}.


==== Action corrective ====
==== Action corrective ====
Ligne 568 : Ligne 778 :
=== Forcer une longueur de mot de passe de 20 caractères pour les comptes gMSA ===
=== Forcer une longueur de mot de passe de 20 caractères pour les comptes gMSA ===


{{Synthèse Score Sécurité|oradad=|pingcastle=0|mo={{Feu vert}}|criticite={{Feu rouge}}|compatibilite=|CVE=|correctifs=}}
{{Synthèse Score Sécurité|oradad=|pingcastle=0|mo={{Feu vert}}|criticite={{Feu orange}}|compatibilite=Windows Server 2016 et ultérieure|CVE=&mdash;|correctifs=&mdash;}}


==== Objet de la stratégie ====
==== Objet de la stratégie ====
Ligne 593 : Ligne 803 :
{{ Box Remarque | objet=Lorsque vous créé un compte '''gMSA''', assurez-vous qu'il soit bien membre du groupe PWD-20C afin qu'il hérite de la stratégie de mot de passe adéquate. }}
{{ Box Remarque | objet=Lorsque vous créé un compte '''gMSA''', assurez-vous qu'il soit bien membre du groupe PWD-20C afin qu'il hérite de la stratégie de mot de passe adéquate. }}


== Gestion de la version de TLS supportée ==
=== Stockage de la valeur de hachage de niveau LAN Manager ===
 
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=15|mo={{Feu vert}}|CVE=&mdash;|criticite={{Feu rouge}}|compatibilite=&mdash;|correctifs=[https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/windows-security/prevent-windows-store-lm-hash-password Support Microsoft]<br />[https://attack.mitre.org/techniques/T1110/002/ T1110]<br />[https://book.hacktricks.xyz/windows-hardening/stealing-credentials/credentials-mimikatz Exploit HackTricks]}}


{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=0|compatibilite=&mdash;|CVE=&mdash;|correctifs=[https://support.microsoft.com/en-us/topic/kb5017811-manage-transport-layer-security-tls-1-0-and-1-1-after-default-behavior-change-on-september-20-2022-e95b1b47-9c7c-4d64-9baf-610604a64c3e KB5017811]}}
==== Objet de la stratégie ====


=== Objet de la stratégie ===
Ce paramètre de sécurité détermine si, lors de la prochaine modification de mot de passe, LAN Manager ne peut pas stocker de valeurs de hachage pour le nouveau mot de passe. Le hachage LAN Manager est relativement faible et vulnérable aux attaques, en comparaison du hachage Windows NT dont le niveau de chiffrement est plus puissant. Dans la mesure où le hachage LAN Manager est stocké sur l’ordinateur local dans la base de données de sécurité, la sécurité des mots de passe peut-être compromise en cas d’attaque de la base de données de sécurité.


{{Citation|TLS 1.0 est un protocole de sécurité qui a été défini pour la première fois en 1999 pour établir des canaux de chiffrement sur les réseaux informatiques. Microsoft prend en charge ce protocole depuis Windows XP/Server 2003. Même s'il n'est plus le protocole de sécurité par défaut des systèmes d'exploitation modernes, TLS 1.0 est toujours pris en charge à des fins de compatibilité descendante. Face à l'évolution de la réglementation et à l'apparition de nouvelles vulnérabilités de sécurité dans TLS 1.0, les entreprises sont appelées à désactiver complètement TLS 1.0.|Source: [https://learn.microsoft.com/fr-fr/security/engineering/solving-tls1-problem Documentation Microsoft]}}
{{ Box Information | objet='''LAN Manager''' ne stocke pas le hash des mots de passes ayant une longueur de '''15 caractères''' ou plus. }}


Depuis le 30 juin 2018, les protocoles '''SSL v2''', '''SSL v3''', '''TLS 1.0''' et '''TLS 1.1''' ont été classifiés comme étant obsolètes. Cette classification est notamment dû à leur vulnérabilité aux attaques de type '''BEAST''', '''CRIME''', '''POODLE''', '''RC4''', '''FREAK''' et '''Logjam'''.
==== Mise en place de la stratégie ====


{{ Box Information | objet=Pour des raisons de rétrocompatibilité, Microsoft ne désactive pas par défaut ce protocole. }}
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur la racine '''domaine Active Directory''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_LMHASH''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LMHASH.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Stratégies''' / '''Paramètres Windows''' / '''Paramètres de sécurité''' / '''Stratégies locales''' / '''Options de sécurité''' puis accéder aux propriétés de la stratégie '''Sécurité réseau : ne pas stocker de valeurs de hachage de niveau LAN Manager sur la prochaine modification de mot de passe'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LMHASH_EDIT.png]]
# Depuis la boîte de dialogue des '''Propriétés''', activer l'option '''Définir ce paramètre de stratégie''' puis sélectionner l'option '''Activé'''. Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les paramètres.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LMHASH_SETTINGS.png]]


=== Renouvellement automatique du mot de passe pour les comptes carte à puce ===


=== Mise en place de la stratégie ===
{{Synthèse Score Sécurité|oradad={{Score ORADAD 4}}|pingcastle=0|mo={{Feu vert}}|CVE=&mdash;|criticite={{Feu orange}}|compatibilite=&mdash;|correctifs=&mdash;}}


* La version de '''TLS''' prise en charge sur les serveurs Microsoft Windows se configure au niveau du '''FrameWork .NET''' depuis la '''base de registre''' Windows.
==== Objet de la stratégie ====


* La '''modification''' de ces paramètres peut avoir une '''incidence''' sur les équipements tiers dotés d’un '''connecteur LDAP'''.
Les mots de passe des comptes disposant exclusivement d’une authentification par carte à puce seront automatiquement renouvelés à leur échéance.


* Les '''version 1.0''' et '''1.1''' du protocole '''TLS'' étant obsolètes depuis le '''20 septembre 2022''', leur désactivation est requise par les principales instances de cyber sécurité ainsi que les outils d’audit ''(ORADAD, PingCastle, HealthChecker)''.
L’outil '''ORADAD''' la prise en charge de cette fonctionnalité par Active Directory. Si la fonction n’est pas déployée, une vulnérabilité de {{ Score ORADAD 4 }} apparaîtra dans le rapport final.


* Ces recommandations peuvent également être consultées dans le guide de [https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-tls Recommandations de sécurité relatives à TLS] rédigé par l’ANSSI en date de juillet 2017.
==== Mise en place de la stratégie ====


# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Editeur du Registre'''.
# Ouvrir le '''Centre d’administration Active Directory''' avec un compte de privilèges '''Adminis du domaine'''.
# Se rendre dans la ruche {{Clé de registre|HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols}}.
# Basculer sur la vue '''Arborescence''' en cliquant sur l’onglet '''liste'''.
# Les paramètres décrits ici concernent les protocoles '''TLS''' version '''1.0''' et '''1.1'''. Pour désactiver le protocole :
# Effectuer un clic droit sur la '''racine du domaine''' puis cliquer sur '''Propriétés'''.<br />[[Image:CAAD_PROPRIETES.png]]
## Positionner le paramètre '''DisabledByDefault''' sur la valeur '''1'''.
# Depuis la boîte de dialogue, cliquer sur '''Extensions'''{{Exp|1}} puis sur l'onglet '''Editeur d'attributs'''{{Exp|2}}. Cliquer sur la ligne '''mDS-ExpirePasswordsOnSmartCardOnlyAccounts'''{{Exp|3}} puis sur le bouton {{Bouton|Afficher}}<br />[[Image:CAAD_PROPRIETES_ATTRIBUTS_MSDS-EXPIREPASSWORDSONSMARTCARDONLYACCOUNTS.png]]
## Positionner le paramètre '''Enabled''' sur la valeur '''0'''.<br />[[Image:MMCREGEDIT_HKLM_SYSTEM_CurrentControlSet_Control_SecurityProviders_SCHANNEL_Protocols_TLS1.0_TLS1.1.png]]
# Depuis la boîte de dialogue '''Editeurs d'attributs booléens''', sélectionner la valeur '''Vrai''' puis cliquer sur le bouton {{Bouton|OK}}<br />[[Image:CAAD_PROPRIETES_ATTRIBUTS_MSDS-EXPIREPASSWORDSONSMARTCARDONLYACCOUNTS_EDIT.png]]
## Cette opération doit être réalisée dans les clés '''Client''' et '''Server'''.


== Exiger la signature des requêtes LDAP ==
== Exiger la signature des requêtes LDAP ==


{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=5|compatibilite=Windows 7 et ultérieure<br />Windows Server 2008 SP2 et ultérieure|CVE=[https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8563 CVE-2017-8563]|correctifs=[https://support.microsoft.com/fr-fr/topic/exigences-de-liaison-de-canal-ldap-et-de-signature-ldap-2020-2023-et-2024-pour-windows-kb4520412-ef185fb8-00f7-167d-744c-f299a66fc00a KB4520412]<br />[https://book.hacktricks.xyz/v/fr/network-services-pentesting/pentesting-ldap Pentest LDAP HackTrick]}}
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=5|mo={{Feu orange}}|criticite={{Feu rouge}}|compatibilite=Windows 7 et ultérieure<br />Windows Server 2008 SP2 et ultérieure|CVE=[https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8563 CVE-2017-8563 ''(CVS:8.1)'']|correctifs=[https://support.microsoft.com/fr-fr/topic/exigences-de-liaison-de-canal-ldap-et-de-signature-ldap-2020-2023-et-2024-pour-windows-kb4520412-ef185fb8-00f7-167d-744c-f299a66fc00a KB4520412]<br />[https://book.hacktricks.xyz/v/fr/network-services-pentesting/pentesting-ldap Pentest LDAP HackTrick]}}


=== Activer la journalisation des événements ===
=== Activer la journalisation des événements ===
Ligne 774 : Ligne 990 :
# Si la liaison chiffrée LDAPS est bien configurée en mode exigé, alors la connexion sera refusée :<br />[[Image:LDPCONSOLE_LIAISON_SIMPLE_ADMIN_FAILED_389.png]]
# Si la liaison chiffrée LDAPS est bien configurée en mode exigé, alors la connexion sera refusée :<br />[[Image:LDPCONSOLE_LIAISON_SIMPLE_ADMIN_FAILED_389.png]]
# Le cas échéan, la connexion sera acceptée :<br />[[Image:LDPCONSOLE_LIAISON_SIMPLE_ADMIN_SUCCESS_389.png]]
# Le cas échéan, la connexion sera acceptée :<br />[[Image:LDPCONSOLE_LIAISON_SIMPLE_ADMIN_SUCCESS_389.png]]
== Gestion des protocoles ==
=== Gestion de la version de TLS supportée ===
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=0|mo={{Feu orange}}|criticite={{Feu rouge}}|compatibilite=&mdash;|CVE=&mdash;|correctifs=[https://support.microsoft.com/en-us/topic/kb5017811-manage-transport-layer-security-tls-1-0-and-1-1-after-default-behavior-change-on-september-20-2022-e95b1b47-9c7c-4d64-9baf-610604a64c3e KB5017811]}}
==== Objet de la stratégie ====
{{Citation|TLS 1.0 est un protocole de sécurité qui a été défini pour la première fois en 1999 pour établir des canaux de chiffrement sur les réseaux informatiques. Microsoft prend en charge ce protocole depuis Windows XP/Server 2003. Même s'il n'est plus le protocole de sécurité par défaut des systèmes d'exploitation modernes, TLS 1.0 est toujours pris en charge à des fins de compatibilité descendante. Face à l'évolution de la réglementation et à l'apparition de nouvelles vulnérabilités de sécurité dans TLS 1.0, les entreprises sont appelées à désactiver complètement TLS 1.0.|Source: [https://learn.microsoft.com/fr-fr/security/engineering/solving-tls1-problem Documentation Microsoft]}}
Depuis le 30 juin 2018, les protocoles '''SSL v2''', '''SSL v3''', '''TLS 1.0''' et '''TLS 1.1''' ont été classifiés comme étant obsolètes. Cette classification est notamment dû à leur vulnérabilité aux attaques de type '''BEAST''', '''CRIME''', '''POODLE''', '''RC4''', '''FREAK''' et '''Logjam'''.
{{ Box Information | objet=Pour des raisons de rétrocompatibilité, Microsoft ne désactive pas par défaut ce protocole. }}
==== Mise en place de la stratégie ====
* La version de '''TLS''' prise en charge sur les serveurs Microsoft Windows se configure au niveau du '''FrameWork .NET''' depuis la '''base de registre''' Windows.
* La '''modification''' de ces paramètres peut avoir une '''incidence''' sur les équipements tiers dotés d’un '''connecteur LDAP'''.
* Les '''version 1.0''' et '''1.1''' du protocole '''TLS'' étant obsolètes depuis le '''20 septembre 2022''', leur désactivation est requise par les principales instances de cyber sécurité ainsi que les outils d’audit ''(ORADAD, PingCastle, HealthChecker)''.
* Ces recommandations peuvent également être consultées dans le guide de [https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-tls Recommandations de sécurité relatives à TLS] rédigé par l’ANSSI en date de juillet 2017.
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Editeur du Registre'''.
# Se rendre dans la ruche {{Clé de registre|HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols}}.
# Les paramètres décrits ici concernent les protocoles '''TLS''' version '''1.0''' et '''1.1'''. Pour désactiver le protocole :
## Positionner le paramètre '''DisabledByDefault''' sur la valeur '''1'''.
## Positionner le paramètre '''Enabled''' sur la valeur '''0'''.<br />[[Image:MMCREGEDIT_HKLM_SYSTEM_CurrentControlSet_Control_SecurityProviders_SCHANNEL_Protocols_TLS1.0_TLS1.1.png]]
## Cette opération doit être réalisée dans les clés '''Client''' et '''Server'''.
=== Désactivation de SMB v.1 ===
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=&mdash;|mo={{Feu vert}}|criticite={{Feu rouge}}|correctifs=|compatibilite=&mdash;|CVE=&mdash;}}
==== Objet de la stratégie ====
Anciennement appelé '''CIFS''' ''(Common Internet File System)'' sur les systèmes Windows NT 4, le protocole '''SMB''' ''(Server Message Block)'' est un protocole permettant le partage de ressources (fichiers et imprimantes) sur des réseaux locaux.
'''SMBv1''' a fait l’objet de plusieurs attaques de type '''rançongiciel'''. Ces attaques ont notamment été permises grâces à l’outil '''EternalBlue''' ''(développé par le NSA)'', qui a permis la propagation des attaques '''WannaCry''' en mai 2017 ou encore '''Petya''' en 2016.
La mise à jour '''Fall Creators''' de Microsoft désactive automatiquement le protocole sur les clients '''Windows 8''' et '''Windows 10'''.
==== Mise en place de la stratégie ====
* Ouvrir un terminal de commande '''PowerShell''' depuis la machine sur laquelle le protocole doit être désactivée.
* Pour '''vérifier l’état''' courant du protocole, exécuter la commande suivante :
{{ Box Console | objet=Get-WindowsOptionalFeature –Online –Featurename SMB1Protocol }}
* Pour '''désactiver SMBv1''' sur le serveur, exécuter la commande suivante :
{{ Box Console | objet=Disable-WindowsOptionalFeature –Online –Featurename SMB1Protocol }}
* Pour '''activer SMBv1''' sur le serveur, exécuter la commande suivante :
{{ Box Console | objet=Enable-WindowsOptionalFeature –Online –Featurename SMB1Protocol }}
=== Désactivation de LLMNR ===
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=0|mo={{Feu vert}}|criticite={{Feu rouge}}|correctifs=[https://attack.mitre.org/techniques/T1557/001/ T1557]|compatibilite=&mdash;|CVE=&mdash;}}
==== Objet de la stratégie ====
{{Citation|'''LLMNR''' est un protocole de résolution de nom de domaine. '''LLMNR''' a été conçu pour traduire le nom localement au cas où le '''protocole DNS''' par défaut n’est pas disponible.
Concernant '''Active Directory''', le DNS est obligatoire ce qui rend LLMNR inutile.<br />
Le protocole '''LLMNR''' peut intervenir en cas de faute de frappe d'une adresse réseau. Il peut aussi répondre plus rapidement que le '''protocole DNS''' classique pour rediriger les utilisateurs vers un partage, un serveur ou un site Web spécialement conçu.<br />
Étant approuvé, ce service déclenchera la procédure d’authentification unique qui peut être utilisée de manière abusive pour récupérer les informations d’identification de l’utilisateur.<br /><br />
'''LLMNR''' est activé par défaut sur tous les systèmes d’exploitation, sauf à partir de Windows 10 v1903 et Windows Server v1903 où il est désactivé.|Source : PingCastle}}
==== Mise en place de la stratégie ====
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur la '''racine du domaine''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_LLMNR''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LLMNR.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Stratégies''' / '''Modèle d'administration''' / '''Réseau''' / '''Client DNS'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LLMNR_EDIT.png]]
# Accéder aux propriétés de la stratégie '''Désactiver la résolution de noms multidiffusion''' puis sélectionner l'option '''Activé''' et cliquer sur le bouton {{Bouton|OK}} pour valider.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_LLMNR_SETTINGS.png]]
=== Désactivation de wDigest ===
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=0|mo=&mdash;|criticite={{Feu rouge}}|correctifs=[https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/the-importance-of-kb2871997-and-kb2928120-for-credential/ba-p/258478 KB2871997]|compatibilite=Windows 7 et ultérieure|CVE=&mdash;}}
==== Objet de la stratégie ====
==== Mise en place de la stratégie ====
==== Démonstration ====


== Stratégies d'énumération sur le domaine ==
== Stratégies d'énumération sur le domaine ==
=== Définition ===
L’énumération désigne la capacité à pouvoir collecter des données sur un environnement informatique dans le but d'identifier et exploiter des chemins de compromission sur un environnement ciblé. Par défaut, un environnement Active Directory permet l'énumération de l'annuaire LDAP aussi bien pour les utilisateurs anonymes qu’à l’aide d’un compte utilisateur standard.
{{ Box Remarque | objet=Si vous disposez d'applications connectées à votre domaine Active Directory, l'application des stratégies présentées dans ce chapitre peuvent empêcher le bon fonctionnement de vos applications. Pour gérer les autorisations d’énumération, se référer à la section [[Active_Directory_Securisation#Autoriser_l’énumération_pour_des_comptes_utilisateurs_spécifiques|Autoriser l’énumération pour des comptes utilisateurs spécifiques]] }}


=== Membres du groupe Accès compatible pré-Windows 2000 ===
=== Membres du groupe Accès compatible pré-Windows 2000 ===


{{Synthèse Score Sécurité|oradad={{Score ORADAD 2}} {{Score ORADAD 3}}|pingcastle=2|correctifs=|compatibilite=|CVE=}}
{{Synthèse Score Sécurité|oradad={{Score ORADAD 2}} {{Score ORADAD 3}}|pingcastle=2|mo={{Feu orange}}|criticite={{Feu rouge}}|correctifs=&mdash;|compatibilite=&mdash;|CVE=&mdash;}}


==== Objet de la stratégie ====
==== Objet de la stratégie ====
Ligne 839 : Ligne 1 152 :
### Cliquer sur le bouton {{Bouton|Suivant}} pour valider les paramètres.
### Cliquer sur le bouton {{Bouton|Suivant}} pour valider les paramètres.
## Une fois les paramètres enregistrés, vérifier la synthèse des droits appliqués puis cliquer sur le bouton {{Bouton|Terminer}} pour appliquer les paramètres.<br />[[Image:ASSISTANT_DELEGATION_CONTROLE_ENUMERATION_NCAD.FR_STEP6.png]]
## Une fois les paramètres enregistrés, vérifier la synthèse des droits appliqués puis cliquer sur le bouton {{Bouton|Terminer}} pour appliquer les paramètres.<br />[[Image:ASSISTANT_DELEGATION_CONTROLE_ENUMERATION_NCAD.FR_STEP6.png]]
=== Désactiver l'énumération anonyme ===
==== Objet de la stratégie ====
Par défaut, les '''Utilisateurs authentifiés''' peuvent collecter un certain nombre d’information sur l’ensemble des objets Active Directory peuplant la forêt. À titre d’exemple, la possibilité de lire l’attribut '''Member of''' peut permettre à un attaquant d’identifier les comptes à privilèges.
==== Mise en place de la stratégie ====
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur la '''racine du domaine''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_ENUM''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ENUM.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Stratégies''' / '''Paramètres Windows''' / '''Paramètres de sécurité''' / '''Stratégies locales''' / '''Options de sécurité'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ENUM_EDIT.png]]
# Accéder aux propriétés de la stratégie '''Accès réseau : ne pas autoriser l'énumération anonyme des comptes et partages SAM'''.
## Activer l'option '''Définir ce paramètre de stratégie'''.
## Sélectionner l'option '''Activé'''
## Cliquer sur le bouton {{Bouton|OK}} pour valider.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ENUM_INTERDIRE_ENUM_ANONYME_SAM_SETTINGS.png]]
# Accéder aux propriétés de la stratégie '''Accès réseau : ne pas autoriser l'énumération anonyme des comptes SAM'''.
## Activer l'option '''Définir ce paramètre de stratégie'''.
## Sélectionner l'option '''Activé'''
## Cliquer sur le bouton {{Bouton|OK}} pour valider.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ENUM_INTERDIRE_ENUM_ANONYME_SAM2_SETTINGS.png]]
# Accéder aux propriétés de la stratégie '''Accès réseau : Permet la traduction de noms/SID anonymes'''.
## Activer l'option '''Définir ce paramètre de stratégie'''.
## Sélectionner l'option '''Activé'''
## Cliquer sur le bouton {{Bouton|OK}} pour valider.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_ENUM_TRAD_SID_ANON_SETTINGS.png]]
=== Désactiver l'énumération des connexions sur les partages réseaux ===
==== Objet de la stratégie ====
{{Citation|Par défaut, les ordinateurs Windows permettent à tout utilisateur authentifié d'y énumérer les '''sessions réseau'''.<br />
Cela signifie qu'un attaquant pourrait énumérer les sessions réseau sur un '''partage de fichiers''' hébergeant des répertoires personnels ou un '''contrôleur de domaine''' pour voir qui est connecté à '''SYSVOL''' ''(pour appliquer la stratégie de groupe)'' et déterminer à quels postes de travail chaque utilisateur et compte administrateur est connecté.<br />
'''Bloodhound''' utilise largement cette fonctionnalité pour cartographier les informations d'identification sur le réseau.|Source : PingCastle}}
==== Mise en place de la stratégie ====
# Depuis une '''poste client''' intégré au domaine, télécharger la dernière version de l'utilitaire '''NetCease''' depuis le dépôt '''GitHub''' à l'adresse : https://github.com/p0w3rsh3ll/NetCease.
## Extraire le contenu de l'archive '''.zip''' puis ouvrir un terminal de commande '''PowerShell''' ''en tant que'' '''Administrateur''' et se positionner dans le répertoire courant du script.
## Autoriser l''''exécution de script''' depuis la session courante du prompt '''Powershell''' :{{Commande|Set-ExecutionPolicy Unrestricted}}
## Pour importer le module '''NetCease''', exécuter la commande '''PowerShell''' suivante :{{Commande|Import-Module .\NetCease.psd1 -Force -Verbose}}
## Pour appliquer le niveau de sécurité optimal exécuter la commande '''PowerShell''' suivante :{{Commande|Set-NetSessionEnumPermission}}
## Une fois la valeur de la propriété '''SrvsvcSessionInfo''' de la clé de registre {{Clé de registre|HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\DefaultSecurity}} mise à jours, fermer le terminal '''PowerShell'''.
# Ouvrir le '''Tableau de bord''' du '''Gestionnaire de serveur''' puis depuis le menu '''Outils''', cliquer sur '''Gestions des stratégies de groupe'''.
# Faire un clic droit sur la '''racine du domaine''' puis '''Créer un objet GPO dans ce domaine, et le lier ici...''' .
# Nommer la GPO '''O_WINDOWS_ENUM''' puis cliquer sur le bouton {{Bouton|OK}}.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_NETCEASE.png]]
# Modifier la GPO puis accéder à la stratégie '''Configuration ordinateur''' / '''Préférences''' / '''Paramètres Windows''' / '''Registre'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_NETCEASE_EDIT.png]]
# [[Image:MMCGPO_NEWOBJECT_O_WINDOWS_NETCEASE_ASSISTANT_REGISTRE.png]]
## [[Image:MMCGPO_NEWOBJECT_O_WINDOWS_NETCEASE_ASSISTANT_REGISTRE_SELECT_ORDINATEUR.png]]


== Journalisation des évènements ==
== Journalisation des évènements ==


{{Synthèse Score Sécurité|oradad=|pingcastle=10|compatibilite=|CVE=|correctifs=}}
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=10|mo={{Feu vert}}|criticite={{Feu vert}}|compatibilite=&mdash;|CVE=&mdash;|correctifs=&mdash;}}


=== Environnement Active Directory ===
=== Environnement Active Directory ===
Ligne 919 : Ligne 1 280 :
### Cocher l'option '''Consigner les événements de début/de fin des appels de blocs de script'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_PWSHAUDIT_JOURNALISATION_BLOCS_SCRIPTS_PS.png]]
### Cocher l'option '''Consigner les événements de début/de fin des appels de blocs de script'''.<br />[[Image:MMCGPO_NEWOBJECT_O_WINDOWS_PWSHAUDIT_JOURNALISATION_BLOCS_SCRIPTS_PS.png]]
### Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les modifications.
### Cliquer sur le bouton {{Bouton|OK}} pour enregistrer les modifications.
=== Evénements à surveiller ===
==== Activités suspectes ====
{| class="wikitable alternance centre"
|-
! Evénement
! Description
! Impact
|-
| 1102/517
| Le Journal des événements a été effacé
| Les attaquants peuvent effacer les journaux des événements Windows pour masquer leurs traces.
|-
| 4610/4611/4614/4622
| Modification de l’autorité locale de sécurité
| Les attaquants peuvent modifier LSA pour l’escalade/persistance.
|-
| 4648
| Connexion explicite aux informations d’identification
| En règle générale, lorsqu’un utilisateur connecté fournit des informations d’identification différentes pour accéder à une ressource. Nécessite un filtrage de « normal ».
|-
| 4661
| Un handle vers un objet a été demandé
| Accès SAM/DSA. Nécessite un filtrage de « normal ».
|-
| 4672
| Privilèges spéciaux attribués à la nouvelle ouverture de session
| Surveillez quand une personne disposant de droits d’administrateur se connecte. S’agit-il d’un compte qui devrait avoir des droits d’administrateur ou d’un utilisateur normal ?
|-
| 4723
| Tentative de changement de mot de passe de compte
| S’il ne s’agit pas d’un changement de pw approuvé/connu, vous devriez le savoir.
|-
| 4964
| Suivi personnalisé de la connexion à un groupe spécial
| Suivez les connexions des administrateurs et des utilisateurs d’intérêt.
|-
| 7045/4697
| Un nouveau service a été installé
| Les attaquants installent souvent un nouveau service pour la persistance.
|-
| 4698 et 4702
| Création/modification de tâches planifiées
| Les attaquants créent/modifient souvent des tâches planifiées pour la persistance.
Extraire tous les événements dans Microsoft-Windows-TaskScheduler/Operational
|-
| 4719/612
| La politique d’audit du système a été modifiée
| Les attaquants peuvent modifier la politique d’audit du système.
|-
| 4732
| Un membre a été ajouté à un groupe local (sécurisé activé)
| Les attaquants peuvent créer un nouveau compte local et l’ajouter au groupe Administrateurs local.
|-
| 4720
| Un compte utilisateur (local) a été créé
| Les attaquants peuvent créer un nouveau compte local pour la persistance.
|-
| 3065/3066
| Audit LSASS – vérifie l’intégrité du code
| Surveille les pilotes et les plugins LSA. Testez de manière approfondie avant de déployer !
|-
| 3033/3063
| Protection LSA : pilotes qui n’ont pas pu se charger
| Surveille les pilotes et les plugins LSA et bloque ceux qui ne sont pas correctement signés.
|-
| 4798
| L’appartenance d’un utilisateur à un groupe local a été énumérée.
| Activité de reconnaissance potentielle de l’appartenance à un groupe local. Filtrez l’activité normale.
|}
==== Types d'ouverture de session (événement #4624) ====
{| class="wikitable alternance centre"
|-
! Type ID
! Nom
! Description
! Crédits sur disque
! Crédits en mémoire
|-
| 0
| Système
| Généralement rare, mais peut alerter d’une activité malveillante
| Oui
| Oui
|-
| 2
| Interactif
| Connexion à la console (clavier local) qui inclut le serveur KVM ou l’ouverture de session au client virtuel. Aussi des RunAs standard.
| Non
| Oui
|-
| 3
| Réseau
| Accès aux partages de fichiers, aux imprimantes, à IIS (authentification intégrée, etc.), à la communication à  | distance PowerShell
| Non
| Non
|-
| 4
| Lot
| Tâches planifiées
| Oui
| Oui
|-
| 5
| Service
| Services
| Oui
| Oui
|-
| 7
| Ouvrir
| Déverrouiller le système
| Non
| Oui
|-
| 8
| Texte clair réseau
| Connexion réseau avec mot de passe en texte clair (authentification de base IIS). Si vous utilisez SSL/TLS, c’est  | probablement bien.
| Peut-être
| Oui
|-
| 9
| Nouvelles informations d’identification
| RunAs /NetOnly qui démarre un programme avec des informations d’identification différentes de celles de l’utilisateur connecté
| Non
| Oui
|-
| 10
| Interactif à distance
| RDP : Services Terminal, Assistance à distance, R.Desktop
| Peut-être
| Oui*
|-
| 11
| Interactif mis en cache
| Ouvrir une session avec des informations d’identification mises en cache (pas de contrôleur de domaine en ligne)
| Oui
| Oui
|}
https://adsecurity.org/?p=3299


== Windows LAPS ==
== Windows LAPS ==


{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=15|compatibilite=Windows Server 2019 et ultérieure<br />Windows 10 éd. PRO/EDU/Enterprise et ultérieure|CVE=&mdash;|correctifs=[https://support.microsoft.com/fr-fr/topic/11-avril-2023-kb5025229-build-du-syst%C3%A8me-d-exploitation-17763-4252-e8ead788-2cd3-4c9b-8c77-d677e2d8744f KB5025229]}}
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=15|mo={{Feu vert}}|criticite={{Feu vert}}|compatibilite=Windows Server 2019 et ultérieure<br />Windows 10 éd. PRO/EDU/Enterprise et ultérieure|CVE=&mdash;|correctifs=[https://support.microsoft.com/fr-fr/topic/11-avril-2023-kb5025229-build-du-syst%C3%A8me-d-exploitation-17763-4252-e8ead788-2cd3-4c9b-8c77-d677e2d8744f KB5025229]}}


{{ Box Information | objet=Pour de plus amples informations sur la mise en place de cette sécurité, veuillez-vous référer à l'article dédié [[Windows LAPS]]. }}
{{ Box Information | objet=Pour de plus amples informations sur la mise en place de cette sécurité, veuillez-vous référer à l'article dédié [[Windows LAPS]]. }}
Ligne 928 : Ligne 1 434 :
== Activer la protection étendue pour le rôle ADCS ==
== Activer la protection étendue pour le rôle ADCS ==


{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=10|CVE=&mdash;|correctifs=[https://support.microsoft.com/fr-fr/topic/kb5005413-att%C3%A9nuation-des-attaques-de-relais-ntlm-sur-les-services-de-certificats-active-directory-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429 KB5005413]<br />[https://attack.mitre.org/techniques/M1557/ T1557]|compatibilite=Windows Server 2008 et ultérieure}}
{{Synthèse Score Sécurité|oradad=&mdash;|pingcastle=10|mo={{Feu vert}}|criticite={{Feu rouge}}|CVE=&mdash;|correctifs=[https://support.microsoft.com/fr-fr/topic/kb5005413-att%C3%A9nuation-des-attaques-de-relais-ntlm-sur-les-services-de-certificats-active-directory-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429 KB5005413]<br />[https://attack.mitre.org/techniques/M1557/ T1557]|compatibilite=Windows Server 2008 et ultérieure}}


{{ Box Information | objet=Cette stratégie concerne les environnements '''Active Directory''' disposant d'un serveur hébergeant le rôle '''Services de Certificats Active Directory ''(AD CS)'''''. }}
{{ Box Information | objet=Cette stratégie concerne les environnements '''Active Directory''' disposant d'un serveur hébergeant le rôle '''Services de Certificats Active Directory ''(AD CS)'''''. }}

Dernière version du 13 août 2024 à 15:23

Rôles Active Directory

Installation du rôle ADCS | Gestion des certificats | Authentification par cartes à puce

Installation du rôle ADDS | Sécuriser son environnement Active Directory | Windows LAPS | gMSA


Archives : Contrôleur de domaine Windows Server 2003 | Intégration Client Ubuntu sur AD Windows Server 2003 | Windows Server 2008

Cet article est en cours de rédaction.

Outils d'évaluation

Les outils d'évaluation présentés sont exécutés sur un environnement Active Directory de test. Cet environnement est basé sur Windows Server 2019 Standard Edition avec les dernières mises à jour de sécurité (juillet 2024).

Auditer son environnement Active Directory permet d'identifier et de corriger des failles de sécurités. Si certaines failles de sécurités se corrigent à l'aide d'un patch ou d'une mise à jour, d'autres peuvent nécessiter de modifier la configuration standard de l'environnement Active Directory. Dans certains cas, cela peut avoir une incidence directe sur le bon fonctionnement de l'environnement Active Directory (clients et serveurs).

Il est vivement conseillé d'appliquer ces recommandations avec prudence. Cela peut affecter le bon fonctionnement de votre installation si ces modifications ne sont pas maîtrisées.
Dans le doute, et dans la mesure du possible, procédez toujours à l'audit de votre environnement avant de généraliser l'application d'une mesure de protection.
Pour certains points sensibles, vous trouverez une section audit qui vous permettra d'identifier les éléments de votre infrastructure qui ne sont pas compatible avec la mesure de sécurité étudiée.

Outils d'audit

PingCastle

PingCastle est un outil d'audit notant la vulnérabilité d'un environnement Active Directory en fonction du nombre de points collectés. Plus le score est élevé, plus l'infrastructure est vulnérable. Cet outil dispose d'une version gratuite.

  1. Récupérer la dernière version de PingCastle depuis le site de l'éditeur https://www.pingcastle.com/.
  2. Extraire le contenu de l'archive ZIP puis lancer l'exécution du fichier .
    PINGCASTLE EXECUTABLE.png
  3. Un terminal de commande s'affiche. Par défaut, la sélection courante est positionnée sur l'analyse de type healthcheck-Score the risk of a domain. Appuyer sur la touche Entrée pour poursuivre.
    PINGCASTLE HEALTHCHECK SELECT.png
  4. À l'étape Select a domain or server, le script détecte automatiquement le domaine. Le cas échéant, renseigner le domaine à auditer. Appuyer sur la touche Entrée pour poursuivre.
    PINGCASTLE DOMAIN SELECT.png
  5. Après quelques minutes d'analyse, le programme vous invitera à appuyer sur n'importe quelle touche pour quitter l'analyse.
    PINGCASTLE HEALTHCHECK FINISHED.png
  6. Un rapport au format html est généré dans le dossier d'extraction de PingCastle. Ouvrir ce rapport à l'aide d'un navigateur web.
    PINGCASTLE RAPPORT SAVED.png
  7. Au début du rapport, la section Indicator nous indique le score affecté à notre environnement Active Directory. Ensuite, ce score est détaillé autour de quatre thématiques :
    • Les objets, paramètres ou encore protocoles obsolètes.
    • Les problèmes de configuration au niveau des privilèges utilisateurs.
    • Le niveau de confiance entre les différentes composantes Active Directory (dans le cas des configurations avec plusieurs forêts).
    • Les anomalies ou dysfonctionnements de l'infrastructure Active Directory.
      PINGCASTLE RAPPORT INDICATORS.png
  8. Les quatre thématiques décrites à l'instant sont ensuite détaillées dans un tableau d'analyse des risques.
    PINGCASTLE RAPPORT RISK MODEL.png
  9. Le rapport détaille ensuite chacun des risque en reprenant chacune des vulnérabilité avec le niveau de criticité et une proposition de remédiation.

Il est vivement recommandé de traiter les points catégorisés INFO dans le rapport. Le traitement de ces points améliore de manière significative la sécurité de l'environnement.

ORADAD

ORADAD est un outil d'audit fournit et maintenu par l'ANSSI (Agence Nationale de la Sécurité des Systèmes d'Informations).

Cet outil vérifie si la configuration de l'environnement Active Directory, à savoir s'il respecte les bonnes pratiques. Une note entre 1 et 5 est attribuée en fonction du niveau de sécurité de l'environnement. Sachant qu'une note de 3 correspond à la configuration d'origine Active Directory, un score inférieure équivaut à une infrastructure vulnérable présentant des carences importances.

L'outil est disponible pour les opérateurs règlementés et les organismes de la sphère publique gratuitement.

Les points de contrôle effectués par ORADAD sont consultables depuis la page web dédiée sur le site du CERT-FR.

Outils de Pentest

Une utilisation inappropriée de ces outils engage votre responsabilité et peut être passible d'une amende et/ou d'une peine d'emprisonnement en cas d'atteinte au bon fonctionnement d'un système de traitement automatisé de données. Pour de plus amples informations, veuillez vous référez aux textes de lois sur Légifrance.

Mimikatz

Nmap

Sécuriser l'exécution du service spouler d'impression

Niveau ORADAD :
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE : CVE-2021-34527 (CVS:8.8)
Correctif(s) : KB5005010

Objet de la stratégie

Bien que le service spouleur d'impression semble inoffensif, tout utilisateur authentifié peut se connecter à distance au service du spouleur d’impression d’un contrôleur de domaine et demander une mise à jour sur les nouveaux travaux d’impression. En outre, les utilisateurs peuvent indiquer au contrôleur de domaine d’envoyer la notification au système avec une délégation non contrainte. Ces actions testent la connexion et exposent les informations d’identification du compte d’ordinateur du contrôleur de domaine (le spouleur d’impression appartient à SYSTEM).

— Source: Support Microsoft

Correction au niveau des Contrôleurs de Domaine

L'opération consiste à désactiver le service spouleur d'impression sur les contrôleurs de domaine.

Correction manuelle

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Services.
  2. Accéder aux Propriétés du service nommé Spouleur d'impression.
  3. La boîte de dialogue Propriétés de Spouleur d'impression s'ouvre :
    1. Cliquer sur le bouton Arrêter1 pour stopper le service.
    2. Depuis le menu de sélection Type de démarrage, sélectionner la valeur Désactivé2.
      MMCSERVICES SPOOLERIMPRESSION PROPRIETES DISABLE.png
    3. Cliquer sur le bouton OK pour enregistrer et appliquer les paramètres.

Correction via GPO

Correction au niveau des postes clients

L'opération consiste à demander une élévation du niveau de privilèges pour l'installation de pilotes d'impression sur la machine. L'utilisateur doit être membre du groupe Opérateurs d'impression pour pouvoir effectuer cette action.

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_PRINT_DRIVERS_INSTALL puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS PRINT DRIVERS INSTALL.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèles d'administration / Imprimantes1 puis accéder aux propriétés de la stratégie Restrictions Pointer et imprimer2.
    MMCGPO NEWOBJECT O WINDOWS PRINT DRIVERS INSTALL EDIT.png
  5. Depuis la boîte de dialogue des Propriétés :
    1. Sélectionner l'option Activer1.
    2. À la section Invites de sécurité, depuis le menu de sélection Lors de l'installation des pilotes pour une nouvelle connexion, sélectionner la valeur Afficher l'avertissement et l'invite d'élévation2.
    3. Depuis le menu de sélection Lors de la mise à jour des pilotes pour une connexion existante, sélectionner la valeur Afficher l'avertissement et l'invite d'élévation3.
      MMCGPO NEWOBJECT O WINDOWS PRINT DRIVERS INSTALL SETTINGS.png

Configuration de Active Directory

Activer la corbeille Active Directory

Niveau ORADAD :
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2012 et ultérieure
CVE :
Correctif(s) : Recommandations Microsoft
M1047
  1. Ouvrir le Centre d’administration Active Directory avec un compte de privilèges Administrateurs de l'Entreprise.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Effectuer un clic droit sur la racine du domaine puis cliquer sur Activer la corbeille....
    CAAD ACTIVER LA CORBEILLE OPTION.png
  4. Une boîte de dialogue de type avertissement s'affiche. Cliquer sur le bouton OK pour confirmer l'opération.
    CAAD ACTIVER LA CORBEILLE OPTION CONFIRM.png
  5. La fonctionnalité ne sera pas opérationnelle avant la duplication du paramètre sur l'ensemble des contrôleurs de domaine.
    CAAD ACTIVER LA CORBEILLE OPTION CONFIRM OK.png
  6. Lorsque la fonction est opérationnelle, un conteneur Deleted Objects doit apparaître dans l'arborescence du domaine.
    CAAD DELETED OBJECTS.png

Déclaration des sous réseaux

Niveau ORADAD :
Score PingCastle : 5 Pt(s)
Mise en oeuvre :

Criticité :
Compatibilité :
CVE :
Correctif(s) : M1015
  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Sites et services Active Directory.
    SITESSERVAD SUBNETS.png
  2. Faire un clic droit sur le dossier Subnets présent dans le dossier Site, puis cliquer sur Nouveau sous-réseau....
  3. Depuis la boîte de dialogue Nouvel objet - Sous-réseau, dans le champ Préfixe renseigner l'adresse réseau sur laquelle est déployée le contrôleur de domaine.
    • Renseigner également tout les autres sous-réseaux pour lesquels le domaine Active Directory fait autorité.
      SITESSERVAD SUBNETS NEW OBJECT.png
    • Cliquer sur le bouton OK pour enregistrer les paramètres.

Négociation des échanges entre les clients et Active Directory

Niveau d'authentification LAN Manager pour les clients

Niveau ORADAD :
Score PingCastle : 15 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2003 et ultérieure
Windows NT4 et ultérieure
CVE :
Correctif(s) : T1557
Support Microsoft

Objet de la stratégie

Ce paramètre de sécurité détermine quel est le protocole d’authentification de stimulation/réponse des ouvertures de session réseau utilisé. Ce choix a une incidence sur le niveau du protocole d’authentification qu’utilisent les clients, le niveau de sécurité de session que négocient les systèmes et le niveau d’authentification qu’acceptent les serveurs.

Auditer les connexion NTLMv.1

  • À l’aide du script PowerShell ci-dessous, il est possible d’extraire la liste des authentifications réalisées avec le protocole NTLMv.1 :

$Events = Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4624)]]and Event[EventData[Data[@Name='LmPackageName']='NTLM V1']]" | Select-Object `
@{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
@{Label='UserName';Expression={$_.Properties[5].Value}},
@{Label='WorkstationName';Expression={$_.Properties[11].Value}},
@{Label='LogonType';Expression={$_.properties[8].value}},
@{Label='IP Address';Expression={$_.properties[18].value}},
@{Label='ImpersonationLevel';Expression={$_.properties[20].value}}

$Events | Out-GridView

Si le script PowerShell retourne un résultat, il n'est pas recommandé d'appliquer cette stratégie de sécurité.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine domaine Active Directory puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_NTLMv2_ONLY puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS NTLMv2 ONLY.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité1 puis accéder aux propriétés de la stratégie Sécurité réseau : niveau d'authentification LAN Manager2.
    MMCGPO NEWOBJECT O WINDOWS NTLMv2 ONLY EDIT.png
  5. Depuis la boîte de dialogue des Propriétés, activer l'option Définir ce paramètre de stratégie1 puis sélectionner Envoyer uniquement une réponse NTLM version 2. Refuser LM et NTLM2. Cliquer sur le bouton OK pour enregistrer les paramètres.
    MMCGPO NEWOBJECT O WINDOWS NTLMv2 ONLY SETTINGS.png

Restriction des types de chiffrement autorisés pour Kerberos

Niveau ORADAD : 2 3 4
Score PingCastle : Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 R2 et ultérieure
Windows 7 et ultérieure
CVE :
Correctif(s) :

Objet de la stratégie

Ce paramètre de stratégie permet de définir les types de chiffrement que Kerberos est autorisé à utiliser. Ce paramètre peut avoir des répercussions en termes de compatibilité avec les ordinateurs clients ou les services et applications.

L’outil ORADAD audite les algorithmes de chiffrement pris en charge par Active Directory. En fonction des algorithmes pris en charge, les vulnérabilités suivantes peuvent remonter dans le rapport final :

  • Une vulnérabilité de 2 si les algorithmes DES-CBC-CRC ou DES-CBC-MD5 sont activés.
  • Une vulnérabilité de 3 si les algorithmes de chiffrement AES ne sont pas supportés.
  • Une vulnérabilité de 4 si l’algorithme RC4-HMAC est activé.

Mise en place de la stratégie

Adaptez la sélection des protocoles de chiffrement en fonction de la compatibilité de vos clients. Le cas échéant, ces derniers ne pourront plus s'authentifier sur Active Directory.

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur l'objet Domain Controllers puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_CIPHERS_AD puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS CIPHERS AD.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales1 puis accéder aux propriétés de la stratégie Sécurité réseau : Configurer les types de chiffrement autorisées pour Kerberos2.
    MMCGPO NEWOBJECT O WINDOWS CIPHERS AD EDIT.png
  5. Depuis la boîte de dialogue des Propriétés :
    1. Activer l'option Définir ces paramètres de stratégie1.
    2. Sélectionner les options de chiffrement AES256_HMAC_SHA12 et Futurs types de chiffrement2 depuis la liste de sélection.
      MMCGPO NEWOBJECT O WINDOWS CIPHERS AD TYPES DE CHIFFREMENT KERBEROS SETTINGS.png
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
  6. Sur le(s) contrôleur(s) de domaine, exécuter la commande :
    gpupdate /force
  7. Redémarrer le(s) contrôleur(s) de domaine pour appliquer la nouvelle stratégie.
Pour que les mots de passes des comptes utilisateurs respectent les nouvelles exigences, il sera nécessaire de les changer.

Auditer la stratégie

  • Les évènements TGS sont visibles depuis l’Observateur d’évènement à l’emplacement Journaux des applications et des services / Journaux Windows / Sécurité.
Événement Description Valeur
4769 Cet événement génère chaque fois que le Centre de distribution de clés reçoit une demande de ticket TGS (Ticket Granting Service) Kerberos.

Cet événement est généré uniquement sur les contrôleurs de domaine. Si le problème TGS échoue, l’événement Échec avec le champ Code d’échec n’est pas égal à « 0x0 ».

En fonction de la suite de chiffrement utilisée pour l’émission du TGS, la valeur du champ Ticket Encryption Type sera affectée comme ceci :
  • 0x1 : DES-CBC-CRC Obsolète
  • 0x3 : DES-CBC-MD5 Obsolète
  • 0x11 : AES128-CTS-HMAC-SHA1-96 Acceptable
  • 0x12 : AES256-CTS-HMAC-SHA1-96 Recommandé
  • 0x17 : RC4-HMAC Windows Vista / Server 2008
  • 0x18 : RC4-HMAC-EXP Windows Vista / Server 2008
  • 0xffffff : Echec de l’audit
  • Pour vérifier les clients se connectant avec le chiffrement RC4 sur le contrôleur de domaine, exécuter la commande suivante sur les contrôleurs de domaine :

$Events = Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4769)]]and Event[EventData[Data[@Name='TicketEncryptionType']='0x17']]or Event[EventData[Data[@Name='TicketEncryptionType']='0x18']]" |
Select-Object `
@{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
@{Label='UserName';Expression={$_.Properties[0].Value}},
@{Label='IPAddress';Expression={$_.Properties[6].Value}},
@{Label="ServiceName";Expression={$_.properties[2].value}},
@{Label="EncryptionType";Expression={$_.properties[5].value}}

$Events | Out-Gridview

  • Pour vérifier les clients se connectant avec le chiffrement DES sur le contrôleur de domaine, exécuter la commande suivante sur les contrôleurs de domaine :

$Events = Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4769)]]and Event[EventData[Data[@Name='TicketEncryptionType']='0x1']]or Event[EventData[Data[@Name='TicketEncryptionType']='0x3']]" |
Select-Object `
@{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
@{Label='UserName';Expression={$_.Properties[0].Value}},
@{Label='IPAddress';Expression={$_.Properties[6].Value}},
@{Label="ServiceName";Expression={$_.properties[2].value}},
@{Label="EncryptionType";Expression={$_.properties[5].value}}

$Events | Out-Gridview

Renforcement des chemins d’accès UNC

Niveau ORADAD :
Score PingCastle : 5 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Vista et ultérieure
Windows Server 2008 et ultérieure
CVE :
Correctif(s) : MS15-011

Les équipements tierces configurés avec un connecteur LDAP peuvent rencontrer des problèmes de fonctionnement après ces opérations.

Objet de la stratégie

Ce paramètre de stratégie permet de configurer un accès sécurisé aux chemins UNC.
Si vous activez cette stratégie, Windows n'autorisera l'accès aux chemins UNC spécifiés qu'après avoir rempli les exigences de sécurité supplémentaires.

— Source : Aide Microsoft

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine domaine Active Directory puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_HARDENEDPATH puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS HARDENEDPATH.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèles d’administration / Réseau / Fournisseur réseau, puis accéder aux propriétés de la stratégie Chemins d'accès UNC renforcés.
    MMCGPO NEWOBJECT O WINDOWS HARDENEDPATH EDIT.png
  5. Depuis la boîte de dialogue des Propriétés, sélectionner l'option Activé1, puis cliquer sur le bouton Afficher...2 présent dans la section Options.
    MMCGPO NEWOBJECT O WINDOWS HARDENEDPATH SETTINGS.png
    1. Dans la boite de dialogue Afficher le contenu, renseigner un première ligne avec :
      • Dans le champ Nom de la valeur, saisir \\*\NETLOGON.
      • Dans le champ Valeur, saisir RequireMutualAuthentication=1,RequireIntegrity=1.
    2. Puis, ajouter une seconde ligne avec les éléments suivants :
      • Dans le champ Nom de la valeur, saisir \\*\SYSVOL.
      • Dans le champ Valeur, saisir RequireMutualAuthentication=1,RequireIntegrity=1.
        MMCGPO NEWOBJECT O WINDOWS HARDENEDPATH SETTINGS SHOW.png
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
  6. De retour sur la boîte de dialogue Propriétés, cliquer sur le bouton OK pour enregistrer la GPO.
Un redémarrage des postes clients pourra être requis pour la bonne application des paramètres.

Blindage Kerberos

Niveau ORADAD : 1 2
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2012 et ultérieure
Windows 8 et ultérieure
CVE :
Correctif(s) :

Le blindage Kerberos sécurise la transaction avec les informations du compte d’ordinateur. Sa mise en œuvre est opérée sur plusieurs niveaux :

La préauthentification permet de s'assurer que l'utilisateur connaît un de ses secrets d'authentification lors d'une demande de TGT (ticket Kerberos obtenu auprès d'un contrôleur de domaine). Sans préauthentification il est possible d'obtenir un ticket chiffré avec un des secrets associés au compte correspondant. Il est ensuite possible de lancer une attaque afin de retrouver le mot de passe de l'utilisateur, ce qui peut être facilité s'il n'est pas assez robuste. La propriété DONT_REQUIRE_PREAUTH doit être supprimée pour ces comptes et le mot de passe doit être changé. Par défaut, tous les comptes utilisateur imposent la préauthentification car la propriété DONT_REQUIRE_PREAUTH n'est pas positionnée. Cette propriété ne doit jamais être positionnée pour les comptes privilégiés du domaine. En cas d'incompatibilité avec une application, celle-ci doit faire l'objet d'une évolution applicative.

— Source : ANSSI / ORADAD vulnérabilité vuln_kerberos_properties_preauth_priv https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html

Application par GPO au niveau des clients

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine du domaine puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_KEBEROSARMORING puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèle d'administration / Paramètres de sécurité / Système / Kerberos.
    MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING EDIT.png
  5. Accéder aux propriétés de la stratégie Prise en charge du client Kerberos pour les revendications, l'authentification composée et le blindage Kerberos puis sélectionner l'option Activé et cliquer sur le bouton OK pour valider.
    MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING REVENDICATION AUTHENTIFICATION BLINDAGE SETTINGS.png

Application au niveau des contrôleurs de domaine (DC)

Deux modes de fonctionnement sont possibles :

  • Hybride : pour les parcs hétérogènes composés de systèmes d’exploitation supportant l’option et d’autres ne la supportant pas, on peut définir ce paramètre à Activé.
  • Forcé : pour autoriser uniquement les requêtes Kerberos blindés sur le réseau on peut définir ce paramètre sur Rejeter les demandes d’authentification non blindées.

Si votre parc est équipé de machines vétustes de type Windows 7 et Windows Serveur 2008, privilégiez un fonctionnement « hybride ».

Ce paramètre est susceptible de bloquer toutes authentifications sur Active Directory. Veuillez agir avec prudence.

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur Domain Controllers puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_KEBEROSARMORING_AD puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING AD.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèle d'administration / Système / KDC.
    MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING AD EDIT.png
  5. Accéder aux propriétés de la stratégie Prise en charge du contrôleur de domaine Kerberos pour les revendications, l'authentification composée et le blindage Kerberos :
    1. Sélectionner l'option Activé.
    2. Depuis le menu de sélection Options de revendications, d'authentification composée pour le contrôle d'accès dynamique et de blindage Kerberos, sélectionner Rejeter les demandes d'authentification non blindées.
      MMCGPO NEWOBJECT O WINDOWS KEBEROSARMORING AD REVENDICATION AUTHENTIFICATION BLINDAGE SETTINGS.png
    3. Cliquer sur le bouton OK pour valider.
Vous pouvez positionner la valeur de cette stratégie à Pris en charge. Ainsi, les clients le supportant utiliseront le blindage Kerberos sans pour autant bloquer les clients compatibles.

Paramétrage du silos d'authentification avec blindage Kerberos

Pour des raisons de sécurité et de préservation des comptes sensibles, il est nécessaire de forcer le blindage Kerberos. Pour cette raison, le blindage est paramétré au niveau d’une stratégie d’authentification qui contiendra les ordinateurs pour lesquels le blindage sera requis.

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Accéder à l'arborescence Authentification / Authentication Policies1 puis - depuis le menu Tâches - cliquer sur Nouveau2 / Stratégie d'authentification3.
    CAAD AUTHENTIFICATION POLICY FORCE-AUTH-KERBEROSARMORING NEW.png
  4. La fenêtre Créer Stratégie d'authentification s'ouvre. Depuis la section Général :
    1. Dans le champ Nom complet, saisir Force-Auth-KerberosArmoring1.
    2. Sélectionner l'option Appliquer les restrictions de stratégie2.
      CAAD AUTHENTIFICATION POLICY FORCE-AUTH-KERBEROSARMORING GENERAL SETTINGS.png
  5. Depuis la section Authentification de l'utilisateur :
    1. Cocher l'option Spécifiez la durée de vue du ticket TGT pour les comptes utilisateur1.
    2. Dans le champ Durée de vie du ticket TGT en minutes, saisir la valeur 1201.
    3. Dans la zone Cliquez sur Modifier pour définir les conditions, cliquer sur le bouton Modifier...2.
      CAAD AUTHENTIFICATION POLICY FORCE-AUTH-KERBEROSARMORING AUTHENTIFICATION UTILISATEUR SETTINGS.png
      1. Depuis la boîte de dialogue Modifier les conditions de contrôle d'accès, sélectionner le critère AuthenticationSilo1 puis comme valeur saisir Silo-Auth-Admin-Restrictions2. Cliquer sur le bouton OK pour enregistrer la condition.
        CAAD AUTHENTIFICATION POLICY FORCE-AUTH-KERBEROSARMORING AUTHENTIFICATION UTILISATEUR CONDITIONS ADD.png
    4. De retour sur la fenêtre Créer Stratégie d'authentification, cliquer sur le bouton OK pour enregistrer les paramètres.
  6. Accéder à l'arborescence Authentification / Authentication Policy Silos1 puis - depuis le menu Tâches - cliquer sur Nouveau2 / Silo de stratégie d'authentification3.
    CAAD AUTHENTIFICATION POLICY SILOS SILO-AUTH-ADMIN-RESTRICTIONS NEW.png
  7. La fenêtre Créer Silo de stratégie d'authentification s'ouvre. Depuis la section Général :
    1. Dans le champ Nom complet, saisir Silo-Auth-Admin-Restrictions1.
    2. Sélectionner l'option Appliquer les stratégies du silo2.
  8. Depuis la section Stratégie d'authentification :
    1. Sélectionner l'option Utilisez une seule stratégie pour tous les principaux qui appartiennent à ce silo de stratégies d'authentification3.
  9. Cliquer sur le bouton OK pour enregistrer les paramètres.
    CAAD AUTHENTIFICATION POLICY SILOS SILO-AUTH-ADMIN-RESTRICTIONS SETTINGS.png

Affectation du silo de stratégie d'authentification

Cette stratégie s'applique aussi bien aux comptes utilisateurs qu'aux comptes machines.

Dans notre exemple, le silo de stratégie d'authentification sera définit pour :

  • Le compte utilisateur Administrateur (compte utilisateur Administrateur du domaine).
  • Le compte ordinateur AD01SRV (Serveur Active Directory).
  • Le compte ordinateur ORD080 (Ordinateur du domaine dédié aux administrateur IT).
  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Depuis l'arborescence ncad (local) / Users, accéder aux Propriétés du compte Administrateur.
  4. Depuis la section Silo de stratégies d'authentification, activer la fonction Affecter un silo de stratégies d'authentification puis, depuis la liste déroulante, sélectionner la stratégie Silo-Auth-Admin-Restrictions. Cliquer sur le bouton OK pour enregistrer les paramètres.
    CAAD ACCOUNT PROPERTY SILO AUTHENTIFICATION.png
  5. Répéter cette opération pour les comptes ordinateur ORD080 et AD01SRV.
  6. On peut aussi observer la liste des comptes pour lesquels le silo de stratégies d'authentification est positionné en accédant aux propriétés du silo et en observant le listing dans la section Comptes autorisés.
    CAAD AUTHENTIFICATION POLICY SILOS SILO-AUTH-ADMIN-RESTRICTIONS COMPTES AUTORISES SETTINGS.png

Authentification

Protection LSA renforcée

Niveau ORADAD :
Score PingCastle : Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2012 R2 et ultérieure
Windows 8.1 et ultérieure
CVE :
Correctif(s) : Présentation de la fonctionnalité
Documentation Microsoft
Exploit HackTricks

Objet de la stratégie

L’autorité LSA, qui comprend le processus LSASS (Local Security Authority Server Service), valide les utilisateurs pour les connexions locales et à distance, et applique les stratégies de sécurité locales. À compter de Windows 8.1 et ultérieur, une protection renforcée pour l’autorité LSA est fournie pour empêcher une lecture de la mémoire et une injection de code par des processus non protégés. Cette fonctionnalité renforce la sécurité des informations d’identification stockées et gérées par l’autorité LSA.

— Source: Documentation Microsoft

Les applications tierces non signées utilisant l'autorité LSA pour l'authentification Active Directory ne fonctionneront plus après cette mesure.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_LSA puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS LSA.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Préférences / Paramètres Windows / Registre1 puis faire un clic droit sur l'item et Nouveau2 / Elément de registre3.
    MMCGPO NEWOBJECT O WINDOWS LSA EDIT.png
  5. Depuis la boîte de dialogue des Nouvelles propriétés de Registre :
    1. Depuis le menu de sélection Action, sélectionner la valeur Remplacer1.
    2. Depuis le menu de sélection Ruche, sélectionner la valeur HKEY_LOCAL_MACHINE2.
    3. Depuis le champs Chemin d'accès de la clé , saisir SYSTEM\CurrentControlSet\Control\Lsa3.
    4. Depuis le champs Nom de la valeur, saisir RunAsPPL4.
    5. Depuis le menu de sélection Type de valeur, sélectionner la valeur REG_DWORD5.
    6. Depuis le champs Données de valeur, saisir 16.
      MMCGPO NEWOBJECT O WINDOWS LSA RUNASPPL SETTINGS.png
    7. Cliquer sur le bouton OK pour enregistrer les paramètres.
  6. Pour forcer l'application de la stratégie sur le poste, exécuter le commande
    gpupdate /force
  7. Procéder au redémarrage du poste.
Vous pouvez auditer cette stratégie en affectant la valeur 8 au lieu de 1. Un évènement d'audit apparaîtra dans les journaux Windows sans pour autant bloquer l'application non signée.

Auditer la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Editeur du Registre.
  2. Se rendre dans la ruche HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LSASS.exe. Si cette clé n’existe pas, la créer.
  3. Créer / Modifier la clé de type DWORD nommée AuditLevel.
  4. Renseigner comme valeur décimal 8 puis cliquer sur le bouton OK.
    MMCREGEDIT HKLM SOFTWARE MICROSOFT WINDOWSNT CURRENTVERSION IMAGE FILE EXECUTION OPTIONS LSASS.png
  5. Les évènements LSASS.exe sont visibles depuis l’Observateur d’évènement à l’emplacement Journaux des applications et des services / Microsoft / Windows / CodeIntegrity / Opérationnel.
Evènements Description
3065 Signale qu’une vérification de l’intégrité du code a déterminé qu’un processus, généralement LSASS.exe, a tenté de charger un pilote qui ne répondait pas aux conditions requises en matière de sécurité pour les sections partagées. Toutefois, en raison de la stratégie système actuellement définie, le chargement de l’image a été autorisé.
3066 Signale qu’une vérification de l’intégrité du code a déterminé qu’un processus, généralement LSASS.exe, a tenté de charger un pilote qui ne répondait pas aux conditions requises en matière de niveau de signature Microsoft. Toutefois, en raison de la stratégie système actuellement définie, le chargement de l’image a été autorisé.
3033 Signale qu’une vérification de l’intégrité du code a déterminé qu’un processus, généralement LSASS.exe, a tenté de charger un pilote qui ne répondait pas aux conditions requises en matière de niveau de signature Microsoft.
3063 Signale qu’une vérification de l’intégrité du code a déterminé qu’un processus, généralement LSASS.exe, a tenté de charger un pilote qui ne répondait pas aux conditions requises en matière de sécurité pour les sections partagées.
  • Pour vérifier les s’il y a des processus d’authentification ne parvenant pas à communiquer correctement avec l’autorité LSA, exécuter le code PowerShell ci-dessous sur les contrôleurs de domaine :

$Events = Get-WinEvent -Logname Microsoft-Windows-CodeIntegrity/operational -FilterXPath "Event[System[(EventID=3065)]] or Event[System[(EventID=3066)]] or Event[System[(EventID=3063)]] or Event[System[(EventID=3033)]]" $Events | Out-Gridview

Les événement 3065 et 3066 indiquent que la stratégie - si elle est mise en production - va impacter le bon fonctionnement de certains programmes. Il est nécessaire de se rapprocher des éditeurs des logiciels pour lesquels ces événements sont déclenchés.

Vérifier la stratégie

  • Depuis la console Observateur d'événements, dans le journal Journaux Windows / Système, observer les événements WinInit suivants :
12 : LSASS.exe a démarré en tant que processus protégé avec le niveau : 4

MMCEVENT WININIT 12 LSA ENABLED.png

Démonstration

Avant application de la stratégie, on va lire les identifiants en mémoire sur la machine à l'aide de Mimikatz.

  • On exécute l'application avec un compte disposant des privilèges administrateur local du poste.
  • On bascule en mode privilégié avec la commande :
    privilege::debug
  • On interroge le processus LSA pour récupérer les identifiants en mémoire sur le poste avec la commande :
    sekurlsa::logonPasswords

    MIMIKATZ SEKURLSA LOGONPASSWORDS ADMINISTRATEUR.png
  • Grâce à la récupération du hash NTLM, on peut s'octroyer l'exécution d'un Shell avec des droits Administrateur du domaine :
    sekurlsa::pth /user:Administrateur /domain:NCAD /ntlm:<hash_ntlm> /run:powershell.exe

    MIMIKATZ SEKURLSA PTH ADMINISTRATOR.png
  • Maintenant, après application de la protection du processus LSA, il devient impossible d'extraire les identifiants stockés en mémoire :
    MIMIKATZ SEKURLSA LOGONPASSWORDS ADMINISTRATEUR LSA PROTECT.png

Restrictions des comptes standards

Attribut dsHeuristics

Niveau ORADAD : 31
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 SP2 et ultérieure
CVE : CVE-2021-42291 (CVS:8.8)
Correctif(s) : KB5008383

Définition de l’attribut

Le comportement d'un Active Directory peut être contrôlé via l'attribut DsHeuristics de CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration.
Un paramètre stocké dans son attribut et dont la valeur est LDAPAddAutZVerifications et LDAPOwnerModify peut être défini pour modifier l'atténuation de la CVE-2021-42291.
La KB5008383 a introduit des modifications au descripteur de sécurité par défaut des conteneurs informatiques pour ajouter un audit et limiter la création d'ordinateurs sans être administrateur. En effet, il est recommandé de ne laisser personne créer de comptes informatiques car ceux-ci peuvent être utilisés pour abuser de Kerberos ou pour effectuer des attaques par relais.
Les atténuations dans CVE-2021-42291 consistent en 3 choix à définir sur 2 paramètres. Ils sont nommés LDAPAddAutZVerifications et LDAPOwnerModify et constituent respectivement le 28ème et le 29ème caractère de cette chaîne. Pour les valeurs attendues :

  • Avec la valeur 0 (la valeur par défaut), il active un mécanisme d'audit supplémentaire.
  • Avec la valeur 1 (recommandé), il applique de nouvelles autorisations de sécurité, notamment pour requérir une action de l'administrateur du domaine lorsque des actions inhabituelles sont effectuées.
  • Avec la valeur 2 (non recommandé), cela désactive le mécanisme d'audit qui a été ajouté par défaut et n'active pas les nouvelles autorisations de sécurité.

— Source : PingCastle

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Modification ADSI.
  2. Basculer sur le contexte d’attribution Configuration, si cela n’est pas déjà fait :
    1. Effectuer un clic droit sur l’objet Contexte d'attribution de noms par défaut [AD1SRV.ncad.fr] puis cliquer sur Paramètres….
      DSH ADSI SETTINGS.png
    2. Depuis la boîte de dialogue, dans la section Sélectionner un contexte d’attribution de noms connu, choisir Configuration puis cliquer sur le bouton OK.
      DSH ADSI SETTINGS CONNEXION.png
  3. Développer l’arborescence LDAP CN=Windows NT,CN=Services,CN=Configuration,DC=domaine,DC=tld puis accéder aux Propriétés de l'objet CN=Directory Service.
    DSH ADSI CONFIGURATION DIRECTORY SERVICE.png
  4. Depuis la boîte de dialogue des Propriétés sélectionner l'attribut dsHeuristics puis cliquer sur le bouton Modifier.
    DSH ADSI CONFIGURATION DIRECTORY SERVICE PROPERTIES.png
    • Saisir la valeur 00000000010000000002000000011 puis cliquer sur le bouton OK.
      DSH ADSI CONFIGURATION DIRECTORY SERVICE EDIT dsHeuristics.png
  5. De retour sur la boîte de dialogue des Propriétés, cliquer sur le bouton OK pour sauvegarder les paramètres.
    DSH ADSI CONFIGURATION DIRECTORY SERVICE PROPERTIES AFTER.png

Interdire aux utilisateur de pouvoir ajouter des ordinateurs au domaine

Niveau ORADAD : 4
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 et ultérieure
CVE : CVE-2021-42287 (CVS:7.5)
Correctif(s) : KB5008380

Objet de la stratégie

Par défaut les utilisateurs authentifiés peuvent joindre 10 machines au domaine. Cette valeur est contrôlée par l'attribut ms-DS-MachineAccountQuota de la racine du domaine.
Les comptes machine ajoutés ont alors pour propriétaire le compte utilisé, lui offrant un contrôle total dessus. La vulnérabilité CVE-2021-42287 utilisait des machines jointes pour réaliser une élévation de privilèges.

— Source : ANSSI / ORADAD vulnérabilité vuln_user_accounts_machineaccountquota https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Modification ADSI.
  2. Effectuer un clic droit sur l'objet Modification ADSI puis cliquer sur Connexion....
    1. Depuis la boîte de dialogue Paramètres de connexion, conserver les paramètres par défaut puis cliquer sur le bouton OK.
      MAQ ADSI SETTINGS CONNEXION.png
  3. Effectuer un clic droit sur l'objet racine du domaine (DC=ncad,DC=fr), puis cliquer sur Propriétés.
  4. Depuis la boîte de dialogue des Propriétés sélectionner l'attribut ms-DS-MachineAccountQuota, puis cliquer sur le bouton Modifier.
    MAQ ADSI ROOT ATTRIBUTS.png
    • Saisir la valeur 0, puis cliquer sur le bouton OK.
      MAQ ADSI ROOT ATTRIBUT EDIT ms-DS-MachineAccountQuota.png
  5. De retour sur la boîte de dialogue des Propriétés, cliquer sur le bouton OK pour sauvegarder les paramètres.
    MAQ ADSI ROOT ATTRIBUTS AFTER.png
  6. Redémarrer le(s) contrôleur(s) de domaine pour appliquer la nouvelle stratégie.

Restrictions des comptes à privilèges

Définition

Les groupes privilégiés sont les groupes d'administration et les groupes opératifs ayant tous les droits et privilèges sur la forêt ou pouvant se les attribuer :

  • Administrateurs.
  • Contrôleurs de domaine.
  • Administrateurs du schéma.
  • Administrateurs de l'entreprise.
  • Administrateurs du domaine : ces administrateurs ont les privilèges de lire la base des secrets de tous les comptes et donc d'extraire les secrets de l'ensemble des comptes privilégiés ;
  • Administrateurs de clés et Administrateurs de clés de l'entreprise: ces administrateurs peuvent fixer des valeurs arbitraires aux attributs relatifs à Windows Hello for Business, pour tous les utilisateurs sauf ceux protégés par le mécanisme d'adminSDHolder. Si l'authentification basée sur les certificats a été activée, ils peuvent générer un certificat sous leur contrôle, l'assigner à un compte privilégié (par exemple, un contrôleur de domaine), et s'authentifier en tant que lui.
  • Opérateurs de compte : ces opérateurs peuvent administrer tous les comptes d'utilisateurs, machines et groupes; à l'exception des comptes protégés par l'adminSDHolder ;
  • Opérateurs de serveur : ces opérateurs peuvent administrer les contrôleurs de domaine, et donc récupérer les secrets de tous les comptes privilégiés ;
  • Opérateurs de sauvegarde : ces opérateurs peuvent sauvegarder un contrôleur de domaine et donc extraire les secrets de tous les comptes privilégiés depuis cette sauvegarde ;
  • Opérateurs d'impression : ces opérateurs peuvent charger des pilotes d'impression sur les contrôleurs de domaine et donc charger un pilote malveillant pour par exemple extraire les secrets de tous les comptes privilégiés.
  • Les groupes opérateurs sont vides par défaut et ne devraient contenir aucun membre.

— Source : ANSSI / ORADAD vulnérabilité VULN_DONT_EXPIRE_PRIV https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html

Pour tout utilisateur membre de l’un de ces groupes privilégiés, les paramètres suivants devront être positionnés directement sur le compte utilisateur :

De plus, ces comptes auront les restrictions d’accès suivantes pour limiter leur utilisation sur le parc :

Pour veiller à ce que les comptes à privilèges ne puissent pas se connecter sur des machines non autorisées, il sera nécessaire d’activer la fonction suivante :

Il est aussi nécessaire d’exiger pour ce type de compte une connexion sécurisée utilisant des méthodes de chiffrement fortes ainsi qu’une limitation de la durée de vie du TGT. Pour cela, le compte doit appartenir au groupe de sécurité suivant :

Désactiver la délégation

Niveau ORADAD : 3
Score PingCastle : 20 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Antérieure à Windows Server 2012 R2
CVE :
Correctif(s) : M1015

Définition du paramètre

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Accéder aux propriétés des comptes utilisateurs membre d'au moins un groupe privilégié.
  3. Pour chacun des comptes listés, activer l'option Le compte est sensible et ne peut pas être délégué.
    CAAD ACCOUNT PROPERTY OPTION DELEGATED.png

Protection du compte avec le groupe Protected Users

Niveau ORADAD : 3
Score PingCastle : 20 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2012 R2 et ultérieure
CVE :
Correctif(s) :

Définition du paramètre

L'ensemble des comptes privilégiés doivent être ajoutés au groupe Protected users afin de :

  • Forcer l'authentification en Kerberos.
  • Réduire la durée de vie des tickets Kerberos.
  • Forcer l'utilisation d'algorithmes de chiffrement forts (AES).
  • Interdire la mise en cache du mot de passe sur les postes de travail.
  • Interdire toute forme de délégation.

— Source : ANSSI / ORADAD vuln_protected_users https://www.cert.ssi.gouv.fr/uploads/ad_checklist.html#vuln_protected_users

Les membres du groupe Utilisateurs protégés qui se sont authentifiés sur des appareils Windows 8.1 et des hôtes Windows Server 2012 R2 ne peuvent plus utiliser :

  1. La délégation d'informations d'identification par défaut (CredSSP) : les informations d'identification en texte brut ne sont pas mises en cache même si la stratégie Autoriser la délégation d'informations d'identification par défaut est activée.
  2. Windows Digest : les informations d'identification en texte brut ne sont pas mises en cache même si elles sont activées.
  3. NTLM : NTOWF n'est pas mis en cache.
  4. Les clés à long terme Kerberos : le ticket TGT (Ticket-Granting Ticket) Kerberos s'obtient à l'ouverture de session et ne peut pas être à nouveau obtenu automatiquement.
  5. L'authentification hors ligne : le vérificateur d'ouverture de session en cache n'est pas créé.
  6. Effectuer l'authentifications NTLM.
  7. Utiliser les suites de chiffrement DES (Data Encryption Standard) ou RC4 dans la pré-authentification Kerberos.
  8. Être délégués en utilisant la délégation non contrainte ou contrainte.
  9. Renouveler les tickets TGT utilisateur au-delà de la durée de vie initiale de 4 heures.

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Accéder aux propriétés des comptes utilisateurs membre d'au moins un groupe privilégié.
  3. Pour chacun des comptes listés, les ajouter comme membre du groupe Protected Users.
    CAAD ACCOUNT PROPERTY MEMBEROF PROTECTED USERS.png

Suppression de l'appartenance au groupe Administrateurs du schéma

Niveau ORADAD :
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) : Recommandations Microsoft

Définition du paramètre

Seuls les membres du groupe Administrateurs du schéma peuvent modifier le schéma. Des comptes doivent donc uniquement être ajoutés à ce groupe lorsqu’une modification au schéma est requise, et ils doivent être supprimés après cette opération. Cette approche permet d’empêcher un attaquant de compromettre le compte Administrateurs du schéma, et d’ainsi éviter de graves conséquences.

Action corrective

Par défaut, le compte Administrateur est membre du groupe Administrateurs du schéma.

  1. Ouvrir le Centre d’administration Active Directory avec un compte de privilèges Administrateurs du domaine.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Accéder aux Propriétés du compte Administrateur situé dans l'OU Users.
  4. Depuis la section Membre de, supprimer l'appartenance de l'utilisateur au groupe Administrateurs du Schéma.
    CAAD ACCOUNT PROPERTY MEMBEROF ADMIN DU SCHEMA.png
  5. Il est possible de lister l'ensemble des comptes du domaine où l'appartenance au groupe est vérifiée avec la commande PowerShell :
    Get-ADGroupMember -Identity "Administrateurs du schéma"
  6. Dans la mesure du possible, supprimer cette appartenance sur l'ensemble des comptes listés.

Interdire la connexion des comptes à privilèges sur les postes clients du domaine

Objet de la stratégie

Les comptes à privilèges ne sont pas censés se connecter sur des terminaux utilisateurs ou même des serveurs applicatifs. Idéalement, vous devez disposer d'équipements dédiés à la connexion de ce type de compte exclusivement.

Le déploiement de cette stratégie fait partit de la Recommandation à l’état de l’art n°R29 du guide de l’ANSSI intitulé Recommandations relatives à l’administration sécurisée des systèmes d’information en date du 11/05/2021.

Mise en place de la stratégie

Cette stratégie sera configurée pour ne pas s'appliquer aux ordinateurs membres du groupe de sécurité GPO-NO-ADMINLOGONSURVEY. Ce groupe sera créé spécialement pour cette occasion.

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Depuis l'arborescence ncad (local) / NCAD.FR-ADM / Groupes / Permissions, créer le groupe de sécurité GPO-NO-ADMINLOGONSURVEY.
  4. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  5. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  6. Nommer la GPO O_WINDOWS_AdminLogonSurvey puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY.png
  7. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Attribution des droits utilisateur.
    MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY EDIT.png
  8. Accéder aux Propriétés de la stratégie Interdire l'accès à cet ordinateur à partir du réseau :
    1. Sélectionner l'option Définir ces paramètres de stratégie.
    2. Cliquer sur le bouton Ajouter un utilisateur ou un groupe... puis rechercher et ajouter le groupe Admins du domaine.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY INTERDICTION CONNEXION ORDINATEUR SETTINGS.png
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
  9. Accéder aux Propriétés de la stratégie Interdire l'ouverture d'une session locale :
    1. Sélectionner l'option Définir ces paramètres de stratégie.
    2. Cliquer sur le bouton Ajouter un utilisateur ou un groupe... puis rechercher et ajouter le groupe Admins du domaine.
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY INTERDICTION SESSION LOCALE SETTINGS.png
  10. Accéder aux Propriétés de la stratégie Interdire l'ouverture de session en tant que service :
    1. Sélectionner l'option Définir ces paramètres de stratégie.
    2. Cliquer sur le bouton Ajouter un utilisateur ou un groupe... puis rechercher et ajouter le groupe Admins du domaine.
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY INTERDICTION EN TANT QUE SESSION SETTINGS.png
  11. Accéder aux Propriétés de la stratégie Interdire l'ouverture de session en tant que tâche :
    1. Sélectionner l'option Définir ces paramètres de stratégie.
    2. Cliquer sur le bouton Ajouter un utilisateur ou un groupe... puis rechercher et ajouter le groupe Admins du domaine.
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY INTERDICTION EN TANT QUE TACHE SETTINGS.png
  12. Accéder aux Propriétés de la stratégie Interdire l'ouverture de session par les services Bureau à distance :
    1. Sélectionner l'option Définir ces paramètres de stratégie.
    2. Cliquer sur le bouton Ajouter un utilisateur ou un groupe... puis rechercher et ajouter le groupe Admins du domaine.
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY INTERDICTION BUREAU DISTANCE SETTINGS.png
  13. Depuis la fenêtre des Propriétés de la GPO O_WINDOWS_AdminLogonSurvey1, cliquer sur l'onglet Délégation2 puis sur le bouton Ajouter3.
    MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY DELEGATION.png
    1. Depuis la boîte de dialogue Ajouter un utilisateur ou un groupe, sélectionner le groupe GPO-NO-ADMINLOGONSURVEY puis cliquer sur le bouton OK.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY DELEGATION GROUP ADD.png
  14. De retour sur fenêtre des Propriétés de la GPO O_WINDOWS_AdminLogonSurvey, cliquer sur le bouton Avancée....
    MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY DELEGATION BNT ADVANCED.png
    1. Depuis la boîte de dialogue Paramètres de sécurité pour O_WINDOWS_AdminLogonSurvey, sélectionner le groupe GPO-NO-ADMINLOGONSURVEY1 puis, depuis la section Autorisation pour, cliquer sur l'option Refuser2 pour l'autorisation Appliquer la stratégie de groupe2.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOGONSURVEY DELEGATION GROUP PROPERTY.png

Suppression des comptes administrateurs locaux sur les postes clients du domaine

Objet de la stratégie

  • Les droits d’administration locaux sur les machines sont octroyés par délégation de privilèges. En l'occurrence, pour bénéficier de droits d'administration sur les machines du domaine, l'utilisateur devra être membre du groupe LOG-AD-ADMINPC (créé spécialement pour l'occasion).
  • Le mot de passe des comptes administrateurs locaux des postes sont régénérés de manière périodique par le service LAPS.
  • Tout autre compte administrateur local sur les machines joint au domaine est de ce fait rétrogradé en compte utilisateur sans privilèges.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Depuis l'arborescence ncad (local) / NCAD.FR-ADM / Groupes / Permissions, créer le groupe de sécurité LOG-AD-ADMINPC.
  4. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  5. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  6. Nommer la GPO O_WINDOWS_AdminLocReset puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS ADMINLOCRESET.png
  7. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Préférences / Paramètres du Panneau de configuration / Utilisateurs et groupes locaux1, puis effectuer un clic droit Nouveau2 / Groupe local3.
    MMCGPO NEWOBJECT O WINDOWS ADMINLOCRESET EDIT.png
  8. La boîte de dialogue Nouvelles propriétés de Groupe local s'affiche. Renseigner les paramètres suivants :
    1. Depuis le menu de sélection Action, sélectionner la valeur Mettre à jour1.
    2. Depuis le menu de sélection Nom du groupe, sélectionner la valeur Administrateurs (intégré)2.
    3. Activer les options Supprimer les utilisateurs et Supprimer les groupes3.
    4. Depuis la section Membres, cliquer sur le bouton Ajouter...4.
      MMCGPO NEWOBJECT O WINDOWS ADMINLOCRESET SETTINGS.png
      1. Depuis la boîte de dialogue Membre de groupe local, dans le champ Nom saisir la valeur Administrateur puis depuis le menu de sélection Action, choisir Ajouter à ce groupe. Cliquer sur le bouton OK pour ajouter le groupe.
        MMCGPO NEWOBJECT O WINDOWS ADMINLOCRESET MEMBERS ADD.png
      2. Répéter cette opération pour les groupes Admins du domaine et LOG-AD-ADMINPC.
    5. De retour sur le boîte de dialogue Nouvelles propriétés de Groupe local, cliquer sur le bouton OK pour enregistrer les paramètres.

Auditer les connexions administrateur du domaine

Stratégie de journalisation

Pour identifier des activités suspectes comme des tentatives d’utilisation de violation de compte à privilèges, il est nécessaire d’auditer et de vérifier l’utilisation qui est faites de ces comptes.

Extraire la liste des connexions établies avec succès

  • Le script PowerShell ci-dessous permet d’extraire la liste des authentifications effectuées depuis un compte membre du groupe Admins du domaine. La requêtes consulte le journal d’événement Windows en filtrant l’ID d’événement (4624) ainsi que l’identifiant de l’utilisateur (SamAccountName).
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")

$Events=$null

foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
   Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
   $Events += Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4624)]]and Event[EventData[Data[@Name='TargetUserName']='$($ADMINACCOUNT.SamAccountName)']]" | Select-Object `
   @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
   @{Label='UserName';Expression={$_.Properties[5].Value}},
   @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
   @{Label='LogonType';Expression={$_.properties[8].value}},
   @{Label='IP Address';Expression={$_.properties[18].value}},
   @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
  • Il est également possible de jouer le script sur des journaux d’événements archivés :
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")

$Events=$null

foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
   Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
   $Events += Get-WinEvent -FilterHashtable @{Path="C:\Windows\System32\winevt\Logs\Security.evtx";Id="4624";Data="$($ADMINACCOUNT.SamAccountName)"} | Select-Object `
       @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
       @{Label='UserName';Expression={$_.Properties[5].Value}},
       @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
       @{Label='LogonType';Expression={$_.properties[8].value}},
       @{Label='IP';Expression={$_.properties[18].value}},
       @{Label='ImpersonationLevel';Expression={$_.properties[20].value}} 
}
$Events | Out-GridView
  • Ou encore de la jouer directement sur le journal d’événements Système depuis l’onglet XML en précisant le nom du compte utilisateur à rechercher :
<QueryList>
   <Query Id="0" Path="Security">
   <Select Path="Security">
       *[System[(EventID=4624)] and EventData[Data[@Name='TargetUserName']='USERNAME']] 
   </Select>
   </Query>
</QueryList>

Extraire la liste des connexions en échec

  • Le script PowerShell ci-dessous permet d’extraire la liste des authentifications effectuées depuis un compte membre du groupe Admins du domaine. La requêtes consulte le journal d’événement Windows en filtrant l’ID d’événement (4625) ainsi que l’identifiant de l’utilisateur (SamAccountName).
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")

$Events=$null

foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
   Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
   $Events += Get-WinEvent -Logname security -FilterXPath "Event[System[(EventID=4625)]]and Event[EventData[Data[@Name='TargetUserName']='$($ADMINACCOUNT.SamAccountName)']]" | Select-Object `
   @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
   @{Label='UserName';Expression={$_.Properties[5].Value}},
   @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
   @{Label='LogonType';Expression={$_.properties[8].value}},
   @{Label='IP Address';Expression={$_.properties[18].value}},
   @{Label='ImpersonationLevel';Expression={$_.properties[20].value}}
}
$Events | Out-GridView
  • Il est également possible de jouer le script sur des journaux d’événements archivés :
$LIST_ADMINACCOUNT=(Get-ADGroupMember -Identity "Admins du domaine")

$Events=$null

foreach ($ADMINACCOUNT in $LIST_ADMINACCOUNT) {
   Write-Host Vérification des connexions pour $($ADMINACCOUNT.SamAccountName)
   $Events += Get-WinEvent -FilterHashtable @{Path="C:\Windows\System32\winevt\Logs\Security.evtx";Id="4625";Data="$($ADMINACCOUNT.SamAccountName)"} | Select-Object `
       @{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
       @{Label='UserName';Expression={$_.Properties[5].Value}},
       @{Label='WorkstationName';Expression={$_.Properties[11].Value}},
       @{Label='LogonType';Expression={$_.properties[8].value}},
       @{Label='IP';Expression={$_.properties[18].value}},
       @{Label='ImpersonationLevel';Expression={$_.properties[20].value}} 
}
$Events | Out-GridView
  • Ou encore de la jouer directement sur le journal d’événements Système depuis l’onglet XML en précisant le nom du compte utilisateur à rechercher :
<QueryList>
   <Query Id="0" Path="Security">
   <Select Path="Security">
       *[System[(EventID=4625)] and EventData[Data[@Name='TargetUserName']='USERNAME']] 
   </Select>
   </Query>
</QueryList>

Stratégie des mots de passe

Expiration des mots de passe

Niveau ORADAD : 1 2
Score PingCastle : 1 - 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 et ultérieure
CVE :
Correctif(s) :

Objet de la stratégie

ORADAD et PingCastle vérifient la politique de mot de passe pour les comptes à privilèges :

  • Dans le cas où le compte dispose de l'option ce mot de passe n'expire jamais, le critère d'analyse vuln_dont_expire_priv remonte en anomalie avec un score de 1. PingCastle attribut 1 point pour ce critère.
  • Si le mot de passe n'a pas été changé depuis plus de 3 ans, le critère d'analyse vuln_password_change_priv remonte en anomalie avec un score de 1. PingCastle attribut 10 points pour ce critère.

Dans tous les cas, si plus de 10% des comptes de l'Active Directory disposent d'un mot de passe n'expirant jamais, alors le critère d'analyse vuln_dont_expire remonte dans ORADAD avec un score de 2.

Action corrective

Par défaut, cette option est active sur le compte Administrateur du domaine.

  • Ouvrir le Centre d’administration Active Directory avec un compte de privilèges Administrateurs du domaine.
  • Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  • Accéder aux Propriétés du compte Administrateur situé dans l'OU Users.
  • Décocher l'option Le mot de passe n'expire jamais présente dans la section Compte puis cliquer sur le bouton OK.
    CAAD ACCOUNT PROPERTY OPTION PASSWD NEVER EXPIRE.png
  • Il est possible de lister l'ensemble des comptes du domaine où l'option est active en exécutant la commande PowerShell suivante :

Get-ADUser -Filter * -Properties Enabled, PasswordLastSet, Displayname, mail, passwordneverexpires `
| Where-Object {$_.Enabled -like "True" -and $_.passwordNeverExpires -eq $true} `
| Sort-Object -Property PasswordLastSet `
| Select -Property UserPrincipalname, DisplayName, mail, PasswordLastSet `
| Out-GridView

  • Dans la mesure du possible, désactiver l'option sur l'ensemble des comptes listés.

Complexité des mots de passe

Niveau ORADAD : 2
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 et ultérieure
CVE :
Correctif(s) :

Objet de la stratégie

Il est recommandé d'adopter une politique de complexité des mots de passes sur l'ensemble du domaine avec pour critères :

  • La longueur minimale du mot de passe doit être de 8 caractères.
  • Il doit contenir au moins un chiffre.
  • Il doit contenir au moins un caractère minuscule.
  • Il doit contenir au moins un caractère majuscule.
  • Il doit contenir au moins un caractère spéciale.

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Modifier la GPO Default Domain Policy, puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies de comptes / Stratégie de mot de passe1 puis accéder aux propriétés de la stratégie Longueur minimale du mot de passe2.
    MMCGPO DEFAULTDOMAINPOLICY MINLENGHTPASSWD.png
  3. Depuis la boîte de dialogue des Propriétés, activer l'option Définir ce paramètre de stratégie, puis dans le champ Le mot de passe doit faire au minimum renseigner 12. Cliquer sur le bouton OK pour enregistrer les paramètres.
    MMCGPO DEFAULTDOMAINPOLICY MINLENGTHPAWWD EDIT.png

Forcer une longueur de mot de passe de 20 caractères pour les comptes gMSA

Niveau ORADAD :
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2016 et ultérieure
CVE :
Correctif(s) :

Objet de la stratégie

Les mots de passe des comptes de service sont automatiquement renouvelés par la machine utilisant le compte. La longueur du mot de passe est – par défaut – calquée sur les paramètres globaux du domaine.

Or, si pour un compte utilisateur il peut être toléré d’avoir une longueur de mot de passe inférieure à 15 caractères, pour un compte de service il est recommandé d’avoir une longueur minimale de 20 caractères.

Cette stratégie de sécurité est vérifiée par l’outil d’audit PingCastle. Cependant, elle n’apparaît qu’à titre d’information dans le rapport final et n’est pas jugée critique.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Centre d'administration Active Directory.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Depuis l'arborescence ncad (local) / NCAD.FR-ADM / Groupes / Mots de passe, créer le groupe de sécurité PWD-20C.
  4. Accéder à l'arborescence ncad (local) / System / Password Settings1 puis - depuis le menu Tâches - cliquer sur Nouveau2 / Paramètres de mot de passe3.
    CAAD PASSWORD SETTINGS GMSA NEW.png
  5. La boîte de dialogue Créer Paramètres de mot de passe s'affiche :
    1. Dans le champ Nom, renseigner un nom pour la politique de mot de passe configurée.
    2. Activer l'option Appliquer la longueur minimale du mot de passe puis renseigner comme valeur 24.
    3. Activer l'option Le mot de passe doit respecter des exigences de complexité.
    4. Activer l'option Appliquer l'âge maximal de mot de passe puis renseigner comme valeur 30.
    5. Depuis la section S'applique directement à, cliquer sur le bouton Ajouter... puis rechercher le groupe de sécurité nommé PWD-20C.
      CAAD PASSWORD SETTINGS GMSA EDIT.png
Lorsque vous créé un compte gMSA, assurez-vous qu'il soit bien membre du groupe PWD-20C afin qu'il hérite de la stratégie de mot de passe adéquate.

Stockage de la valeur de hachage de niveau LAN Manager

Niveau ORADAD :
Score PingCastle : 15 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) : Support Microsoft
T1110
Exploit HackTricks

Objet de la stratégie

Ce paramètre de sécurité détermine si, lors de la prochaine modification de mot de passe, LAN Manager ne peut pas stocker de valeurs de hachage pour le nouveau mot de passe. Le hachage LAN Manager est relativement faible et vulnérable aux attaques, en comparaison du hachage Windows NT dont le niveau de chiffrement est plus puissant. Dans la mesure où le hachage LAN Manager est stocké sur l’ordinateur local dans la base de données de sécurité, la sécurité des mots de passe peut-être compromise en cas d’attaque de la base de données de sécurité.

LAN Manager ne stocke pas le hash des mots de passes ayant une longueur de 15 caractères ou plus.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine domaine Active Directory puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_LMHASH puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS LMHASH.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité puis accéder aux propriétés de la stratégie Sécurité réseau : ne pas stocker de valeurs de hachage de niveau LAN Manager sur la prochaine modification de mot de passe.
    MMCGPO NEWOBJECT O WINDOWS LMHASH EDIT.png
  5. Depuis la boîte de dialogue des Propriétés, activer l'option Définir ce paramètre de stratégie puis sélectionner l'option Activé. Cliquer sur le bouton OK pour enregistrer les paramètres.
    MMCGPO NEWOBJECT O WINDOWS LMHASH SETTINGS.png

Renouvellement automatique du mot de passe pour les comptes carte à puce

Niveau ORADAD : 4
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) :

Objet de la stratégie

Les mots de passe des comptes disposant exclusivement d’une authentification par carte à puce seront automatiquement renouvelés à leur échéance.

L’outil ORADAD la prise en charge de cette fonctionnalité par Active Directory. Si la fonction n’est pas déployée, une vulnérabilité de 4 apparaîtra dans le rapport final.

Mise en place de la stratégie

  1. Ouvrir le Centre d’administration Active Directory avec un compte de privilèges Adminis du domaine.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Effectuer un clic droit sur la racine du domaine puis cliquer sur Propriétés.
    CAAD PROPRIETES.png
  4. Depuis la boîte de dialogue, cliquer sur Extensions1 puis sur l'onglet Editeur d'attributs2. Cliquer sur la ligne mDS-ExpirePasswordsOnSmartCardOnlyAccounts3 puis sur le bouton Afficher
    CAAD PROPRIETES ATTRIBUTS MSDS-EXPIREPASSWORDSONSMARTCARDONLYACCOUNTS.png
  5. Depuis la boîte de dialogue Editeurs d'attributs booléens, sélectionner la valeur Vrai puis cliquer sur le bouton OK
    CAAD PROPRIETES ATTRIBUTS MSDS-EXPIREPASSWORDSONSMARTCARDONLYACCOUNTS EDIT.png

Exiger la signature des requêtes LDAP

Niveau ORADAD :
Score PingCastle : 5 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows 7 et ultérieure
Windows Server 2008 SP2 et ultérieure
CVE : CVE-2017-8563 (CVS:8.1)
Correctif(s) : KB4520412
Pentest LDAP HackTrick

Activer la journalisation des événements

Objet de la stratégie

L’application des règles énoncées dans cette section peuvent être auditées en activant la journalisation des événements de diagnostic Active Directory et LDS.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Editeur du Registre.
  2. Se rendre dans la ruche HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics.
  3. Modifier la clé de type DWORD nommée 16 LDAP Interface Events et affecter la valeur en fonction du niveau de journalisation souhaité :
    • 0 (Aucun) : seuls les événements critiques et les événements d’erreur sont enregistrés à ce niveau. Il s’agit du paramètre par défaut pour toutes les entrées. Il ne doit être modifié que si un problème que vous souhaitez examiner se produit.
    • 1 (Minimal) : les événements de haut niveau sont enregistrés dans le journal des événements à ce paramètre. Les événements peuvent inclure un message pour chaque tâche principale effectuée par le service. Utilisez ce paramètre pour démarrer une investigation lorsque vous ne connaissez pas l’emplacement du problème.
    • 2 (De base)
    • 3 (Étendu) : ce niveau enregistre des informations plus détaillées que les niveaux inférieurs, comme les étapes effectuées pour effectuer une tâche. Utilisez ce paramètre lorsque vous avez limité le problème à un service ou à un groupe de catégories.
    • 4 (Détaillé)
    • 5 (Interne) : ce niveau journalise tous les événements, y compris les chaînes de débogage et les modifications de configuration. Un journal complet du service est enregistré. Utilisez ce paramètre lorsque vous avez suivi le problème vers une catégorie particulière d’un petit ensemble de catégories.
  4. Dans notre cas, nous affectons la valeur 2 au paramètre 16 LDAP Interface Events.

Accéder aux journaux

Les journaux d’évènements sont accessibles depuis une console Observateur d’évènement depuis la racine Journaux des applications et des services / Directory Service.

Signature LDAP par les clients

Objet de la stratégie

Le trafic réseau non signé est vulnérable aux attaques de l’intercepteur dans lequel un intrus capture les paquets entre l’ordinateur client et le serveur, les modifie, puis les transfère au serveur. Pour un serveur LDAP, cette sensibilité signifie qu’un attaquant peut amener un serveur à prendre des décisions basées sur des données fausses ou modifiées à partir des requêtes LDAP.

Auditer les connexions LDAP

  • Depuis la console Observateur d'événements, dans le journal Journaux des applications et des services / Directory Service sur serveur Active Directory, observer les événements suivants :
Evènement Description Déclencheur
2886 La sécurité de ces contrôleurs de domaine peut être considérablement améliorée en configurant le serveur pour appliquer la validation de la signature LDAP. Déclenchée toutes les 24 heures, au démarrage ou au début du service si la stratégie de groupe est définie sur Aucun.
  • Niveau de journalisation minimal : 0 ou plus
2887 La sécurité de ces contrôleurs de domaine peut être améliorée en les configurant pour rejeter les demandes de liaison LDAP simples et d’autres demandes de liaison qui n’incluent pas de signature LDAP. Déclenchée toutes les 24 heures lorsque stratégie de groupe est défini sur Aucun et qu’au moins une liaison non protégée a été effectuée.
  • Niveau de journalisation minimal : 0 ou plus
2888 La sécurité de ces contrôleurs de domaine peut être améliorée en les configurant pour rejeter les demandes de liaison LDAP simples et d’autres demandes de liaison qui n’incluent pas de signature LDAP. Déclenchée toutes les 24 heures lorsque stratégie de groupe est défini sur Exiger la signature et qu’au moins une liaison non protégée a été rejetée.
  • Niveau de journalisation minimal : 0 ou plus
2889 La sécurité de ces contrôleurs de domaine peut être améliorée en les configurant pour rejeter les demandes de liaison LDAP simples et d’autres demandes de liaison qui n’incluent pas de signature LDAP. Déclenchée lorsqu’un client n’utilise pas la signature pour les liaisons sur les sessions sur le port 389.
  • Niveau de journalisation minimal : 2 ou supérieur
  • Exemple de script PowerShell pour vérifier la présence des événements #2889 sur les serveurs Active Directory :

$Events = Get-WinEvent -Logname "Directory Service" -FilterXPath "Event[System[(EventID=2889)]]" ¦ Select-Object `
@{Label='Time';Expression={$_.TimeCreated.ToString('g')}},
@{Label='UserName';Expression={$_.Properties[1].Value}},
@{Label='RemoteHost';Expression={$_.Properties[0].Value}},
@{Label='LogonType';Expression={$_.properties[2].value}}

$Events ¦ Out-GridView

Les événement 2886 et 2887 indiquent que la stratégie - si elle est mise en production - va impacter le bon fonctionnement de certains clients nécessitant une authentification Active Directory (ordinateurs, serveurs, photocopieurs, pare-feu, ...). Vérifier la configuration des équipements listés et plus précisément si il est possible de les configurer en authentification chiffrée LDAPS.

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine du domaine Active Directory puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_LDAPSIGN puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité, puis accéder aux propriétés de la stratégie Sécurité réseau : conditions requises pour la signature de client LDAP.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN EDIT.png
  5. Depuis la boîte de dialogue des Propriétés, cocher l'option Définir ce paramètre de stratégie1 et sélectionner la valeur Exiger la signature depuis le menu de sélection. Cliquer sur le bouton OK pour valider les paramètres.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN SETTINGS.png
    • Un message d'avertissement s'affichera pour indiquer ce paramètre peut empêcher le bon fonctionnement des clients non compatibles. Cliquer sur le bouton Oui.
      MMCGPO NEWOBJECT O WINDOWS LDAPSIGN WARNING.png

Signature LDAP par les serveurs LDAP

Les clients s’appuyant sur le connecteur LDAP TCP/389 ne fonctionneront plus après application de cette stratégie.

Objet de la stratégie

Le trafic réseau non signé est vulnérable aux attaques de l’intercepteur dans lequel un intrus capture les paquets entre l’ordinateur client et le serveur, les modifie, puis les transfère au serveur. Pour un serveur LDAP, cette sensibilité signifie qu’un attaquant peut amener un serveur à prendre des décisions basées sur des données fausses ou modifiées à partir des requêtes LDAP.

Auditer les connexions LDAP

  • Depuis la console Observateur d'événements, dans le journal Journaux des applications et des services / Directory Service sur serveur Active Directory, observer les événements suivants :
Evènement Description Déclencheur
3039 Le client suivant a effectué une liaison LDAP sur SSL/TLS et a échoué la validation du jeton de liaison de canal LDAP. Déclenchée dans l’une des circonstances suivantes :

Lorsqu’un client tente d’établir une liaison avec un jeton de liaison de canal (CBT) mal mis en forme, si la stratégie de groupe CBT est défini sur Quand pris en charge ou Toujours. Lorsqu’un client capable de liaison de canal n’envoie pas de cbt si la stratégie de groupe CBT est défini sur Quand pris en charge. Un client est capable de liaison de canal si la fonctionnalité EPA est installée ou disponible dans le système d’exploitation et n’est pas désactivée via le paramètre de Registre SuppressExtendedProtection. Pour en savoir plus, consultez KB5021989. Lorsqu’un client n’envoie pas de cbt si la stratégie de groupe CBT est défini sur Toujours.

  • Niveau de journalisation minimal : 2
3040 Au cours de la période précédente de 24 heures, nombre de liaisons LDAPs non protégées ont été effectuées. Déclenchée toutes les 24 heures lorsque la stratégie de groupe CBT est définie sur Jamais et qu’au moins une liaison non protégée a été effectuée.
  • Niveau de journalisation minimal : 0
3041 La sécurité de ce serveur d’annuaire peut être considérablement améliorée en configurant le serveur pour appliquer la validation des jetons de liaison de canal LDAP. Déclenchée toutes les 24 heures, au démarrage ou au début du service si la stratégie de groupe CBT est défini sur Jamais.
  • Niveau de journalisation minimal : 0

Action corrective

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur Domain Controllers puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_LDAPSIGN_AD puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN AD.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité, puis accéder aux propriétés de la stratégie Contrôleur de domaine : conditions requises pour la signature de serveur LDAP.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN AD EDIT.png
    • Depuis la boîte de dialogue des Propriétés, cocher l'option Définir ce paramètre de stratégie et sélectionner la valeur Exiger la signature depuis le menu de sélection. Cliquer sur le bouton OK pour valider les paramètres.
      MMCGPO NEWOBJECT O WINDOWS LDAPSIGN AD SETTINGS.png
    • Un message d'avertissement s'affichera pour indiquer ce paramètre peut empêcher le bon fonctionnement des clients non compatibles. Cliquer sur le bouton Oui.
      MMCGPO NEWOBJECT O WINDOWS LDAPSIGN WARNING.png
  5. Toujours depuis cette même GPO, accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité, puis accéder aux propriétés de la stratégie Contrôleur de domaine : configuration requise pour le jeton de liaison du canal du serveur LDAP.
    MMCGPO NEWOBJECT O WINDOWS LDAPSIGN AD JETON EDIT.png
    • Depuis la boîte de dialogue des Propriétés, cocher l'option Définir ce paramètre de stratégie et sélectionner la valeur Toujours depuis le menu de sélection. Cliquer sur le bouton OK pour valider les paramètres.
      MMCGPO NEWOBJECT O WINDOWS LDAPSIGN AD JETON SETTINGS.png
    • Un message d'avertissement s'affichera pour indiquer que ce paramètre peut empêcher le bon fonctionnement des clients non compatibles. Cliquer sur le bouton Oui.
      MMCGPO NEWOBJECT O WINDOWS LDAPSIGN WARNING.png

Vérification de la stratégie

Pour vérifier si la stratégie fonctionne :

  1. Ouvrir une console LDP.
  2. Depuis le menu Connexion cliquer sur Se connecter.
    LDPCONSOLE OPEN.png
  3. La boîte de dialogue Connexion s'affiche :
    1. Dans le champ Serveur, renseigner l'adresse IP locale du Contrôleur de domaine.
      LDPCONSOLE CONNEXION 389.png
    2. Cliquer sur le bouton OK pour valider.
  4. Une fois la connexion au Contrôleur de domaine effectuée, depuis le menu Connexion cliquer sur Lier....
    LDPCONSOLE CONNECTED 389.png
  5. La boîte de dialogue Liaison s'affiche :
    1. Dans le champ Utilisateur, renseigner un identifiant Active Directory.
    2. Dans le champ Mot de passe, renseigner le mot de passe associé.
    3. Dans la section Type de liaison, choisir l'option Liaison simple.
      LDPCONSOLE LIAISON SIMPLE ADMIN 389.png
    4. Cliquer sur le bouton OK pour lancer la liaison.
  6. Si la liaison chiffrée LDAPS est bien configurée en mode exigé, alors la connexion sera refusée :
    LDPCONSOLE LIAISON SIMPLE ADMIN FAILED 389.png
  7. Le cas échéan, la connexion sera acceptée :
    LDPCONSOLE LIAISON SIMPLE ADMIN SUCCESS 389.png

Gestion des protocoles

Gestion de la version de TLS supportée

Niveau ORADAD :
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) : KB5017811

Objet de la stratégie

TLS 1.0 est un protocole de sécurité qui a été défini pour la première fois en 1999 pour établir des canaux de chiffrement sur les réseaux informatiques. Microsoft prend en charge ce protocole depuis Windows XP/Server 2003. Même s'il n'est plus le protocole de sécurité par défaut des systèmes d'exploitation modernes, TLS 1.0 est toujours pris en charge à des fins de compatibilité descendante. Face à l'évolution de la réglementation et à l'apparition de nouvelles vulnérabilités de sécurité dans TLS 1.0, les entreprises sont appelées à désactiver complètement TLS 1.0.

— Source: Documentation Microsoft

Depuis le 30 juin 2018, les protocoles SSL v2, SSL v3, TLS 1.0 et TLS 1.1 ont été classifiés comme étant obsolètes. Cette classification est notamment dû à leur vulnérabilité aux attaques de type BEAST, CRIME, POODLE, RC4, FREAK et Logjam.

Pour des raisons de rétrocompatibilité, Microsoft ne désactive pas par défaut ce protocole.


Mise en place de la stratégie

  • La version de TLS prise en charge sur les serveurs Microsoft Windows se configure au niveau du FrameWork .NET depuis la base de registre Windows.
  • La modification de ces paramètres peut avoir une incidence sur les équipements tiers dotés d’un connecteur LDAP.
  • Les version 1.0' et 1.1 du protocole TLS étant obsolètes depuis le 20 septembre 2022, leur désactivation est requise par les principales instances de cyber sécurité ainsi que les outils d’audit (ORADAD, PingCastle, HealthChecker).
  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Editeur du Registre.
  2. Se rendre dans la ruche HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
  3. Les paramètres décrits ici concernent les protocoles TLS version 1.0 et 1.1. Pour désactiver le protocole :
    1. Positionner le paramètre DisabledByDefault sur la valeur 1.
    2. Positionner le paramètre Enabled sur la valeur 0.
      MMCREGEDIT HKLM SYSTEM CurrentControlSet Control SecurityProviders SCHANNEL Protocols TLS1.0 TLS1.1.png
    3. Cette opération doit être réalisée dans les clés Client et Server.

Désactivation de SMB v.1

Niveau ORADAD :
Score PingCastle : Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) :

Objet de la stratégie

Anciennement appelé CIFS (Common Internet File System) sur les systèmes Windows NT 4, le protocole SMB (Server Message Block) est un protocole permettant le partage de ressources (fichiers et imprimantes) sur des réseaux locaux.

SMBv1 a fait l’objet de plusieurs attaques de type rançongiciel. Ces attaques ont notamment été permises grâces à l’outil EternalBlue (développé par le NSA), qui a permis la propagation des attaques WannaCry en mai 2017 ou encore Petya en 2016.

La mise à jour Fall Creators de Microsoft désactive automatiquement le protocole sur les clients Windows 8 et Windows 10.

Mise en place de la stratégie

  • Ouvrir un terminal de commande PowerShell depuis la machine sur laquelle le protocole doit être désactivée.
  • Pour vérifier l’état courant du protocole, exécuter la commande suivante :

Get-WindowsOptionalFeature –Online –Featurename SMB1Protocol

  • Pour désactiver SMBv1 sur le serveur, exécuter la commande suivante :

Disable-WindowsOptionalFeature –Online –Featurename SMB1Protocol

  • Pour activer SMBv1 sur le serveur, exécuter la commande suivante :

Enable-WindowsOptionalFeature –Online –Featurename SMB1Protocol

Désactivation de LLMNR

Niveau ORADAD :
Score PingCastle : 0 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) : T1557

Objet de la stratégie

LLMNR est un protocole de résolution de nom de domaine. LLMNR a été conçu pour traduire le nom localement au cas où le protocole DNS par défaut n’est pas disponible. Concernant Active Directory, le DNS est obligatoire ce qui rend LLMNR inutile.
Le protocole LLMNR peut intervenir en cas de faute de frappe d'une adresse réseau. Il peut aussi répondre plus rapidement que le protocole DNS classique pour rediriger les utilisateurs vers un partage, un serveur ou un site Web spécialement conçu.
Étant approuvé, ce service déclenchera la procédure d’authentification unique qui peut être utilisée de manière abusive pour récupérer les informations d’identification de l’utilisateur.

LLMNR est activé par défaut sur tous les systèmes d’exploitation, sauf à partir de Windows 10 v1903 et Windows Server v1903 où il est désactivé.

— Source : PingCastle

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine du domaine puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_LLMNR puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS LLMNR.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèle d'administration / Réseau / Client DNS.
    MMCGPO NEWOBJECT O WINDOWS LLMNR EDIT.png
  5. Accéder aux propriétés de la stratégie Désactiver la résolution de noms multidiffusion puis sélectionner l'option Activé et cliquer sur le bouton OK pour valider.
    MMCGPO NEWOBJECT O WINDOWS LLMNR SETTINGS.png

Désactivation de wDigest

Niveau ORADAD :
Score PingCastle : 0 Pt(s)
Mise en oeuvre :
Criticité :

Compatibilité : Windows 7 et ultérieure
CVE :
Correctif(s) : KB2871997

Objet de la stratégie

Mise en place de la stratégie

Démonstration

Stratégies d'énumération sur le domaine

Définition

L’énumération désigne la capacité à pouvoir collecter des données sur un environnement informatique dans le but d'identifier et exploiter des chemins de compromission sur un environnement ciblé. Par défaut, un environnement Active Directory permet l'énumération de l'annuaire LDAP aussi bien pour les utilisateurs anonymes qu’à l’aide d’un compte utilisateur standard.

Si vous disposez d'applications connectées à votre domaine Active Directory, l'application des stratégies présentées dans ce chapitre peuvent empêcher le bon fonctionnement de vos applications. Pour gérer les autorisations d’énumération, se référer à la section Autoriser l’énumération pour des comptes utilisateurs spécifiques

Membres du groupe Accès compatible pré-Windows 2000

Niveau ORADAD : 2 3
Score PingCastle : 2 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) :

Objet de la stratégie

Le groupe d'accès compatible pré-Windows 2000 accorde l'accès à certains appels RPC.
Par défaut, le groupe utilisateurs « Utilisateurs authentifiés » est positionné dans ce groupe d’accès, ce qui permet aux utilisateurs d'effectuer une recherche de groupe à l'aide des protocoles existants.
Si ce groupe contient des « Utilisateurs authentifiés », cela augmente l'impact sur la vulnérabilité d'exploitation sur les protocoles existants tels que le spouleur d'imprimante.
En effet, dans l'attaque PrintNightmare, il permet de contourner les correctifs sur les contrôleurs de domaine car la propriété Elevated Token est activée lors de l'établissement d'une session sur le DC.
La suppression du groupe peut avoir des effets secondaires et, par conséquent, ceci est signalé ici comme une mesure de durcissement spéciale.

— Source : PingCastle

Pour les requêtes, la liste de contrôle d’accès par défaut permet à Tous les utilisateurs et Membres authentifiés du groupe Accès compatible pré-Windows 2000 de lire et d’énumérer des informations. Les fonctions répertoriées suivantes sont affectées :

  • NetGroupEnum, NetGroupGetInfo, NetGroupGetUsers
  • NetLocalGroupEnum, NetLocalGroupGetInfo, NetLocalGroupGetMembers
  • NetQueryDisplayInformation
  • NetSessionGetInfo (niveaux 1 et 2 uniquement)
  • NetShareEnum (niveaux 2 et 502 uniquement)
  • NetUserEnum, NetUserGetGroups, NetUserGetInfo, NetUserGetLocalGroups, NetUserModalsGet
  • NetWkstaGetInfo, NetWkstaUserEnum

L’accès anonyme aux informations de groupe nécessite que l’utilisateur Anonyme soit explicitement ajouté au groupe Accès compatible pré-Windows 2000. Cela est dû au fait que les jetons anonymes n’incluent pas le SID du groupe Tout le monde.

Si identifiant de sécurité Anonyme (S-1-5-7) est présent dans ce groupe de sécurité, ORADAD remontera dans son rapport ce critère d'analyse avec un score d'évaluation de 2. Pour tout autre objet autre que Utilisateurs authentifiés présent dans ce groupe, ORADAD remontera dans son rapport ce critère d'analyse avec un score d'évaluation de 3.

Action corrective

Suppression de tous les objets membres du groupe de sécurité Accès compatible pré-Windows 2000.

  1. Ouvrir le Centre d’administration Active Directory avec un compte de privilèges Administrateurs du domaine.
  2. Basculer sur la vue Arborescence en cliquant sur l’onglet liste.
  3. Accéder aux Propriétés du groupe de sécurité Accès compatible pré-Windows 2000 situé dans l'OU Builtin.
  4. Depuis la section Membres, supprimer tous les objets listés.
    CAAD ACCOUNT PROPERTY MEMBER ACCES COMPATIBLE PRE-WINDOWS 2000.png

Pour les comptes nécessitant un droit d'énumération spécifique sur la forêt Active Directory, se reporter à la section Autoriser l’énumération pour des comptes utilisateurs spécifiques.

Autoriser l’énumération pour des comptes utilisateurs spécifiques

Objet de la stratégie

Il est possible que certaines applications liées à l’annuaire Active Directory (pour de l’authentification SSO par exemple) nécessitent des privilèges d’énumération spécifiques. Ces applications peuvent nécessiter une autorisation de lecture de l’attribut Member of sur les comptes utilisateurs, par exemple.

Nous allons définir un groupe de sécurité spécifique qui sera autorisé à énumérer les objets Active Directory contenus dans l'OU NCAD.FR.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Utilisateurs et ordinateurs Active Directory.
  2. Depuis l'arborescence ncad (local) / NCAD.FR-ADM / Groupes / Permissions, créer le groupe de sécurité LOG-AD-ENUM.
  3. Effectuer un clic droit sur l'OU NCAD.FR puis cliquer sur Délégation de contrôle....
    MMCUSERCOMPUTER OU-NCAD.FR DELEGATION DE CONTROLE.png
  4. La fenêtre Assistant Délégation de contrôle s'affiche avec l'écran de Bienvenue !. Cliquer sur le bouton Suivant pour commencer.
    ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP1.png
    1. À l'étape Utilisateurs ou groupes, sélectionner le groupe de sécurité autorisé à énumérer les objets Active Directory en cliquant sur le bouton Ajouter....
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP2.png
    2. Depuis la boîte de dialogue, sélectionner le nom du groupe. Dans notre cas, il s'agit du groupe LOG-AD-ENUM.
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP21.png
    3. De retour à l'écran Utilisateurs ou groupe, après avoir sélectionné le groupe adéquate, cliquer sur le bouton Suivant.
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP22.png
    4. À l'étape Tâches à déléguer, sélectionner l'option Créer une tâche personnalisée à déléguer.
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP3.png
    5. À l'étape Type d'objet Active Directory, sélectionner l'option De ce dossier et des objets qui s'y trouvent. Déléguer aussi la création de nouveaux objets dans ce dossier.
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP4.png
    6. À l'étape Autorisations :
      1. Dans la section Afficher les autorisations, cocher l'option Générales.
      2. Dans la section Autorisations, cocher l'option Lire.
        ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP5.png
      3. Cliquer sur le bouton Suivant pour valider les paramètres.
    7. Une fois les paramètres enregistrés, vérifier la synthèse des droits appliqués puis cliquer sur le bouton Terminer pour appliquer les paramètres.
      ASSISTANT DELEGATION CONTROLE ENUMERATION NCAD.FR STEP6.png

Désactiver l'énumération anonyme

Objet de la stratégie

Par défaut, les Utilisateurs authentifiés peuvent collecter un certain nombre d’information sur l’ensemble des objets Active Directory peuplant la forêt. À titre d’exemple, la possibilité de lire l’attribut Member of peut permettre à un attaquant d’identifier les comptes à privilèges.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur la racine du domaine puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_ENUM puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS ENUM.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité.
    MMCGPO NEWOBJECT O WINDOWS ENUM EDIT.png
  5. Accéder aux propriétés de la stratégie Accès réseau : ne pas autoriser l'énumération anonyme des comptes et partages SAM.
    1. Activer l'option Définir ce paramètre de stratégie.
    2. Sélectionner l'option Activé
    3. Cliquer sur le bouton OK pour valider.
      MMCGPO NEWOBJECT O WINDOWS ENUM INTERDIRE ENUM ANONYME SAM SETTINGS.png
  6. Accéder aux propriétés de la stratégie Accès réseau : ne pas autoriser l'énumération anonyme des comptes SAM.
    1. Activer l'option Définir ce paramètre de stratégie.
    2. Sélectionner l'option Activé
    3. Cliquer sur le bouton OK pour valider.
      MMCGPO NEWOBJECT O WINDOWS ENUM INTERDIRE ENUM ANONYME SAM2 SETTINGS.png
  7. Accéder aux propriétés de la stratégie Accès réseau : Permet la traduction de noms/SID anonymes.
    1. Activer l'option Définir ce paramètre de stratégie.
    2. Sélectionner l'option Activé
    3. Cliquer sur le bouton OK pour valider.
      MMCGPO NEWOBJECT O WINDOWS ENUM TRAD SID ANON SETTINGS.png

Désactiver l'énumération des connexions sur les partages réseaux

Objet de la stratégie

Par défaut, les ordinateurs Windows permettent à tout utilisateur authentifié d'y énumérer les sessions réseau.
Cela signifie qu'un attaquant pourrait énumérer les sessions réseau sur un partage de fichiers hébergeant des répertoires personnels ou un contrôleur de domaine pour voir qui est connecté à SYSVOL (pour appliquer la stratégie de groupe) et déterminer à quels postes de travail chaque utilisateur et compte administrateur est connecté.
Bloodhound utilise largement cette fonctionnalité pour cartographier les informations d'identification sur le réseau.

— Source : PingCastle

Mise en place de la stratégie

  1. Depuis une poste client intégré au domaine, télécharger la dernière version de l'utilitaire NetCease depuis le dépôt GitHub à l'adresse : https://github.com/p0w3rsh3ll/NetCease.
    1. Extraire le contenu de l'archive .zip puis ouvrir un terminal de commande PowerShell en tant que Administrateur et se positionner dans le répertoire courant du script.
    2. Autoriser l'exécution de script depuis la session courante du prompt Powershell :
      Set-ExecutionPolicy Unrestricted
    3. Pour importer le module NetCease, exécuter la commande PowerShell suivante :
      Import-Module .\NetCease.psd1 -Force -Verbose
    4. Pour appliquer le niveau de sécurité optimal exécuter la commande PowerShell suivante :
      Set-NetSessionEnumPermission
    5. Une fois la valeur de la propriété SrvsvcSessionInfo de la clé de registre HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\DefaultSecurity mise à jours, fermer le terminal PowerShell.
  2. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  3. Faire un clic droit sur la racine du domaine puis Créer un objet GPO dans ce domaine, et le lier ici... .
  4. Nommer la GPO O_WINDOWS_ENUM puis cliquer sur le bouton OK.
    Fichier:MMCGPO NEWOBJECT O WINDOWS NETCEASE.png
  5. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Préférences / Paramètres Windows / Registre.
    Fichier:MMCGPO NEWOBJECT O WINDOWS NETCEASE EDIT.png
  6. Fichier:MMCGPO NEWOBJECT O WINDOWS NETCEASE ASSISTANT REGISTRE.png
    1. Fichier:MMCGPO NEWOBJECT O WINDOWS NETCEASE ASSISTANT REGISTRE SELECT ORDINATEUR.png

Journalisation des évènements

Niveau ORADAD :
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité :
CVE :
Correctif(s) :

Environnement Active Directory

Objet de la stratégie

La journalisation des événements est essentielle pour pouvoir investiguer sur le systèmes selon différentes situations :

  • Lorsque vous déployez de nouvelles fonctionnalités.
  • Lorsque vous souhaitez vous assurer qu'un paramètre est correctement propagé sur l'environnement.
  • Lorsque vous souhaitez avoir des détails sur un dysfonctionnement.
  • Lorsque vous souhaitez détecter des comportements suspects.
  • Ou encore, en cas d'attaque, pour tenter d'identifier les chemins de compromission sur l'environnement.

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_AUDIT puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS AUDIT.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Stratégie d'audit :
    MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer l'accès au service d'annuaire puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT ACCES SERVICE ANNUAIRE SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer l'accès aux objets puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT ACCES OBJETS SETTINGS.png
    3. Accéder aux Propriétés de la stratégie Auditer l'utilisation des privilèges puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT UTILISATION DES PRIVILEGES SETTINGS.png
    4. Accéder aux Propriétés de la stratégie Auditer la gestion des comptes puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT GESTION DES COMPTES SETTINGS.png
    5. Accéder aux Propriétés de la stratégie Auditer le suivi des processus puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT SUIVI DES PROCESSUS SETTINGS.png
    6. Accéder aux Propriétés de la stratégie Auditer les événements de connexion puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT EVENEMENTS DE CONNEXION SETTINGS.png
    7. Accéder aux Propriétés de la stratégie Auditer les événements de connexion aux comptes puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT EVENEMENTS DE CONNEXION AUX COMPTES SETTINGS.png
    8. Accéder aux Propriétés de la stratégie Auditer les événements système puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT EVENEMENTS SYSTEME SETTINGS.png
    9. Accéder aux Propriétés de la stratégie Auditer les modifications de stratégie puis cocher les options Définir ces paramètres de stratégie, ainsi que Réussite et Echec. Cliquer sur le bouton OK pour enregistrer.MMCGPO NEWOBJECT O WINDOWS AUDIT STRATEGIE DAUDIT MODIFICATION DE STRATEGIE SETTINGS.png
  5. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies locales / Options de sécurité puis accéder aux propriétés de la stratégie Audit : force les paramètres de sous-catégorie de stratégie d'audit.
    MMCGPO NEWOBJECT O WINDOWS AUDIT OPTIONS DE SECURITE EDIT.png
    1. Depuis la boîte de dialogue des Propriétés, activer l'option Définir ce paramètre de stratégie puis sélectionner l'option Activé. Cliquer sur le bouton OK pour enregistrer les paramètres.
      MMCGPO NEWOBJECT O WINDOWS AUDIT OPTIONS DE SECURITE PARAMETRES DE SOUS CATEGORIE SETTINGS.png
  6. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Connexion de compte :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE CONNEXION COMPTE EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer la validation des informations d'identification puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE CONNEXION COMPTE VALIDATION INFO IDENTIFICATION SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer le service d'authentification Kerberos puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE CONNEXION COMPTE AUTHENTIFICATION KERBEROS SETTINGS.png
    3. Accéder aux Propriétés de la stratégie Auditer les opérations de ticket du service Kerberos puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE CONNEXION COMPTE OPERATION TICKET SERVICE KERBEROS SETTINGS.png
  7. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Gestion du compte :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE GESTION DU COMPTE EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer la gestion des comptes d'ordinateur puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE GESTION DU COMPTE ORDINATEUR SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer la gestion des groupes de sécurité puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE GESTION DU COMPTE GROUPES DE SECURITE SETTINGS.png
    3. Accéder aux Propriétés de la stratégie Auditer d'autres événements de gestion des comptes puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE GESTION DU COMPTE AUTRES EVENEMENTS SETTINGS.png
    4. Accéder aux Propriétés de la stratégie Auditer la gestion des comptes utilisateur puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE GESTION DU COMPTE UTILISATEURS SETTINGS.png
  8. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Ouvrir/fermer la session :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE OUVRIR FERMER SESSION EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer le vérouillage du compte puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE OUVRIR FERMER SESSION VERROUILLAGE SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer la fermeture de session puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE OUVRIR FERMER SESSION FERMETURE SETTINGS.png
    3. Accéder aux Propriétés de la stratégie Auditer l'ouverture de session puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE OUVRIR FERMER SESSION OUVERTURE SETTINGS.png
    4. Accéder aux Propriétés de la stratégie Auditer l'ouverture de session spéciale puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE OUVRIR FERMER SESSION OUVERTURE SPECIALE SETTINGS.png
  9. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Système :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SYSTEME EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer le pilote IPSEC puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SYSTEME PILOTE IPSEC SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer la modification de l'état de la sécurité puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SYSTEME MODIFICATION ETAT SECURITE SETTINGS.png
    3. Accéder aux Propriétés de la stratégie Auditer l'extension du système de sécurité puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SYSTEME EXTENSION SYSTEME SECURITE SETTINGS.png
  10. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Utilisation de privilège :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE UTILISATION PRIVILEGES EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer l'utilisation de privilèges sensibles puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE UTILISATION PRIVILEGES SENSIBLES SETTINGS.png
  11. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / CHangement de stratégie :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE CHANGEMENT STRATEGIE EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer la modification de stratégie d'authentification puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE CHANGEMENT STRATEGIE MODIFICATION AUTHENTIFICATION SETTINGS.png
  12. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Accès DS :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE ACCES DS EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer l'accès au service d'annuaire puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE ACCES DS ACCES ANNUAIRE SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer les modifications du service d'annuaire puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE ACCES DS MODIFICATIONS ANNUAIRE SETTINGS.png
  13. Accéder à la stratégie Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Configuration avancée de la stratégie / Suivi détaillé :
    MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE EDIT.png
    1. Accéder aux Propriétés de la stratégie Auditer l'activité DPAPI puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE ACTIVITE DPAPI SETTINGS.png
    2. Accéder aux Propriétés de la stratégie Auditer la création du processus puis cocher les options Configurer les événements d'audit suivants, ainsi que Succès et Echec. Cliquer sur le bouton OK pour enregistrer.
      MMCGPO NEWOBJECT O WINDOWS AUDIT AVANCEE SUIVI DETAILLE CEATION PROCESSUS SETTINGS.png

Environnement PowerShell

Objet de la stratégie

Mise en place de la stratégie

  1. Ouvrir le Tableau de bord du Gestionnaire de serveur puis depuis le menu Outils, cliquer sur Gestions des stratégies de groupe.
  2. Faire un clic droit sur l'objet NCAD.FR puis Créer un objet GPO dans ce domaine, et le lier ici... .
  3. Nommer la GPO O_WINDOWS_PWSHAUDIT puis cliquer sur le bouton OK.
    MMCGPO NEWOBJECT O WINDOWS PWSHAUDIT.png
  4. Modifier la GPO puis accéder à la stratégie Configuration ordinateur / Stratégies / Modèles d'administration / Composants Windows / Windows PowerShell :
    MMCGPO NEWOBJECT O WINDOWS PWSHAUDIT EDIT.png
    1. Accéder aux Propriétés de la stratégie Activer l'enregistrement des modules :
      1. Sélectionner l'option Activé1 puis cliquer sue le bouton Afficher...2.
        MMCGPO NEWOBJECT O WINDOWS PWSHAUDIT ENREGISTREMENT MODULES SETTINGS.png
      2. Depuis la boîte de dialogue Afficher le contenu, ajouter les modules Microsoft.PowerShell.* et Microsoft.WSMan.Management et cliquer sur le bouton OK pour valider.
        MMCGPO NEWOBJECT O WINDOWS PWSHAUDIT ENREGISTREMENT MODULES SHOW.png
      3. De retour sur la fenêtre des Propriétés, cliquer sur le bouton OK pour enregistrer.
    2. Accéder aux Propriétés de la stratégie Activer la journalisation des blocs de scripts PowerShell :
      1. Sélectionner l'option Activé.
      2. Cocher l'option Consigner les événements de début/de fin des appels de blocs de script.
        MMCGPO NEWOBJECT O WINDOWS PWSHAUDIT JOURNALISATION BLOCS SCRIPTS PS.png
      3. Cliquer sur le bouton OK pour enregistrer les modifications.

Evénements à surveiller

Activités suspectes

Evénement Description Impact
1102/517 Le Journal des événements a été effacé Les attaquants peuvent effacer les journaux des événements Windows pour masquer leurs traces.
4610/4611/4614/4622 Modification de l’autorité locale de sécurité Les attaquants peuvent modifier LSA pour l’escalade/persistance.
4648 Connexion explicite aux informations d’identification En règle générale, lorsqu’un utilisateur connecté fournit des informations d’identification différentes pour accéder à une ressource. Nécessite un filtrage de « normal ».
4661 Un handle vers un objet a été demandé Accès SAM/DSA. Nécessite un filtrage de « normal ».
4672 Privilèges spéciaux attribués à la nouvelle ouverture de session Surveillez quand une personne disposant de droits d’administrateur se connecte. S’agit-il d’un compte qui devrait avoir des droits d’administrateur ou d’un utilisateur normal ?
4723 Tentative de changement de mot de passe de compte S’il ne s’agit pas d’un changement de pw approuvé/connu, vous devriez le savoir.
4964 Suivi personnalisé de la connexion à un groupe spécial Suivez les connexions des administrateurs et des utilisateurs d’intérêt.
7045/4697 Un nouveau service a été installé Les attaquants installent souvent un nouveau service pour la persistance.
4698 et 4702 Création/modification de tâches planifiées Les attaquants créent/modifient souvent des tâches planifiées pour la persistance.

Extraire tous les événements dans Microsoft-Windows-TaskScheduler/Operational

4719/612 La politique d’audit du système a été modifiée Les attaquants peuvent modifier la politique d’audit du système.
4732 Un membre a été ajouté à un groupe local (sécurisé activé) Les attaquants peuvent créer un nouveau compte local et l’ajouter au groupe Administrateurs local.
4720 Un compte utilisateur (local) a été créé Les attaquants peuvent créer un nouveau compte local pour la persistance.
3065/3066 Audit LSASS – vérifie l’intégrité du code Surveille les pilotes et les plugins LSA. Testez de manière approfondie avant de déployer !
3033/3063 Protection LSA : pilotes qui n’ont pas pu se charger Surveille les pilotes et les plugins LSA et bloque ceux qui ne sont pas correctement signés.
4798 L’appartenance d’un utilisateur à un groupe local a été énumérée. Activité de reconnaissance potentielle de l’appartenance à un groupe local. Filtrez l’activité normale.

Types d'ouverture de session (événement #4624)

Type ID Nom Description Crédits sur disque Crédits en mémoire
0 Système Généralement rare, mais peut alerter d’une activité malveillante Oui Oui
2 Interactif Connexion à la console (clavier local) qui inclut le serveur KVM ou l’ouverture de session au client virtuel. Aussi des RunAs standard. Non Oui
3 Réseau distance PowerShell Non Non
4 Lot Tâches planifiées Oui Oui
5 Service Services Oui Oui
7 Ouvrir Déverrouiller le système Non Oui
8 Texte clair réseau probablement bien. Peut-être Oui
9 Nouvelles informations d’identification RunAs /NetOnly qui démarre un programme avec des informations d’identification différentes de celles de l’utilisateur connecté Non Oui
10 Interactif à distance RDP : Services Terminal, Assistance à distance, R.Desktop Peut-être Oui*
11 Interactif mis en cache Ouvrir une session avec des informations d’identification mises en cache (pas de contrôleur de domaine en ligne) Oui Oui

https://adsecurity.org/?p=3299

Windows LAPS

Niveau ORADAD :
Score PingCastle : 15 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2019 et ultérieure
Windows 10 éd. PRO/EDU/Enterprise et ultérieure
CVE :
Correctif(s) : KB5025229

Pour de plus amples informations sur la mise en place de cette sécurité, veuillez-vous référer à l'article dédié Windows LAPS.

Activer la protection étendue pour le rôle ADCS

Niveau ORADAD :
Score PingCastle : 10 Pt(s)
Mise en oeuvre :

Criticité :

Compatibilité : Windows Server 2008 et ultérieure
CVE :
Correctif(s) : KB5005413
T1557

Cette stratégie concerne les environnements Active Directory disposant d'un serveur hébergeant le rôle Services de Certificats Active Directory (AD CS).

Objet de la stratégie

Une faille de sécurité récemment découverte dans le système d'exploitation Windows peut être exploitée pour forcer des serveurs Windows distants, y compris des contrôleurs de domaine, à s'authentifier auprès d'une destination considérée comme malveillante, permettant ainsi à un attaquant de mener une attaque par relais NTLM et in fine de prendre le contrôle complet d'un domaine Windows. La vulnérabilité, baptisée "PetitPotam", a été découvert par un chercheur, qui a partagé les détails techniques et les preuves de concept (PoC) la semaine dernière, notant que la faille fonctionne en forçant "les hôtes Windows à s'authentifier auprès d'autres machines via la fonction MS-EFSRPC EfsRpcOpenFileRaw".

— Source: CERT-FR Bulletin CERTFR-2021-ACT-032 du 26 juillet 2021

Mise en place de la stratégie

Pour de plus amples informations sur la mise en place de cette sécurité, veuillez-vous référer à l'article dédié Activer la protection étendue et désactiver le protocole http pour les Services de certificats Active Directory.

Pour aller plus loin