Configurer LAPS pour Samba-AD

LAPS est une solution de gestion des mots de passe pour les machines Windows membres d’un domaine Active Directory.

Note

Les commandes suivantes sont lancées sur la machine qui détient le rôle FSMO Schema (utiliser samba-tool fsmo show pour trouver la bonne machine).

Attention

Il peut être intéressant de faire une sauvegarde de votre AD avant de faire des modifications de schéma. De plus il est important de souligner que la suppression d’une extension de schéma n’est pas possible avec Active Directory.

  • Créer un fichier LDIF d’extension de schéma laps-1.ldif. Il faut remplacer le baseDN dc=mydomain,dc=lan avec le DN de votre domaine :

    dn: CN=ms-MCS-AdmPwd,CN=Schema,cn=configuration,dc=mydomain,dc=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: ms-MCS-AdmPwd
    adminDisplayName: ms-MCS-AdmPwd
    adminDescription: Stores password of local Administrator account on workstation
    attributeId: 1.2.840.113556.1.8000.2554.50051.45980.28112.18903.35903.6685103.1224907.2.1
    attributeSyntax: 2.5.5.5
    omSyntax: 19
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 648
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    
    dn: CN=ms-MCS-AdmPwdExpirationTime,CN=Schema,cn=configuration,dc=mydomain,dc=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: ms-MCS-AdmPwdExpirationTime
    adminDisplayName: ms-MCS-AdmPwdExpirationTime
    adminDescription: Stores timestamp of last password change
    attributeId: 1.2.840.113556.1.8000.2554.50051.45980.28112.18903.35903.6685103.1224907.2.2
    attributeSyntax: 2.5.5.16
    omSyntax: 65
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 0
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    
  • Créer un fichier laps-2.ldif :

    dn: CN=computer,CN=Schema,cn=configuration,dc=mydomain,dc=lan
    changetype: Modify
    add: mayContain
    mayContain: ms-MCS-AdmPwd
    mayContain: ms-MCS-AdmPwdExpirationTime
    
  • Lancer l’intégration des deux fichiers ldif (on le fait en deux étapes pour forcer un commit après la création des attributs) :

    ldbadd -H /var/lib/samba/private/sam.ldb --option="dsdb:schema update allowed"=true laps-1.ldif
    ldbmodify -H /var/lib/samba/private/sam.ldb --option="dsdb:schema update allowed"=true laps-2.ldif
    
  • Relancer Samba-AD :

    systemctl restart samba
    

Changer les droits d’administration pour un fonctionnement correct de LAPS

Avertissement

Les lignes de commandes ci-après supposent que l’on est dans une fenêtre Powershell avec le module Powershell LAPS activé (voir ci-dessous).

  • Installer le client LAPS en local sur la machine puis charger le module Powershell LAPS dans une nouvelle fenêtre powershell. Une version powershell 4 ou supérieure est nécessaire (on peut utiliser le paquet WAPT https://store.wapt.fr/store/tis-powershell5) :

    Import-module AdmPwd.PS
    
  • Dans un Powershell dans une session avec les droits Domain Admin, lancer la commande suivante pour rajouter aux machines le droits de modifier leur mot de passe Administrateur :

    Set-AdmPwdComputerSelfPermission -OrgUnit:"ou=machines,dc=mydomain,dc=lan"
    
  • Rajouter les droits de lecture aux groupes des Administrateurs pour leur permettre de visualiser le mot de passe :

    Set-AdmPwdReadPasswordPermission -OrgUnit:"ou=machines,dc=mydomain,dc=lan" -AllowedPrincipals:"mydomain\HelpDesk"
    
  • Rajouter des droits aux groupes des Administrateurs pour réinitialiser l’expiration du mot de passe et ainsi forcer un premier changement du mot de passe sur le poste utilisateur :

    Set-AdmPwdResetPasswordPermission -OrgUnit:"ou=machines,dc=mydomain,dc=lan" -AllowedPrincipals:"mydomain\HelpDesk"
    

Indication

Pour visualiser les droits sur une UO, vous pouvez utiliser la commande suivante :

Find-AdmPwdExtendedrights -OrgUnit:"ou=machines,dc=mydomain,dc=lan" | Format-Table

Configurer la GPO de déploiement de LAPS

Note

Si vous utilisez le magasin PolicyDefinitions Admx sur votre partage Sysvol ActiveDirectory, vous devrez peut-être copier les fichiers admx qui seront installés par le programme d’installation MSI : AdmPwd.admx et en-USAdmPwd.adml.

  • Dans la console de gestion de GPO, créer une GPO LAPS (Configuration de l’ordinateur -> Modèle d’administration -> LAPS) ;

  • Configurer la complexité de mot de passe et le compte qui va être géré par LAPS (s’il est différent de la valeur par défaut qui est l’Administrateur Local avec le Well-Known RID -500), et n’oubliez pas d’activé le paramètre « Enable local admin password management »;

Valider que le LAPS fonctionne correctement

  • Sur le poste utilisateur qui est dans l”UO sur laquelle est appliquée la GPO LAPS, lancer une mise à jour des stratégies de sécurité avec gpupdate /force ;

  • Dans la console ADUC, activer les fonctionnalités avancées et vérifier que sur l’entrée machine les attributs ms-MCS-AdmPwd et ms-MCS-AdmPwdExpirationTime sont bien renseignés ;

  • Lancer l’interface LAPS Admin avec un utilisateur Administrateur, et vérifier que l’on peut bien récupérer la valeur du mot de passe ;

Installer LAPS sur les postes clients

Sur les postes client il est nécessaire d’installer l’extension GPO qui permet de mettre à jour le mot de passe administrateur régulièrement. Un MSI est fourni par Microsoft pour cela. Par défaut le MSI n’installe que l’extension GPO, on peut donc lancer une installation silencieuse. Il y a bien sûr un paquet WAPT pour installer LAPS.

Pour le poste de travail de l’administrateur, vous devez installer la Gui LAPS et l’extension Powershell AdmPwd.ps. Pour cela, vous devez faire une installation complète du client LAPS. Il existe un paquet WAPT pour cela aussi.