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

Le nouveau Microsoft LAPS est pris en charge nativement à partir de :

  • Windows 10 – Version 22H2 avec les mises à jour cumulatives d’avril 2023 (KB5025221 ou ultérieure)

  • Windows 11 – Toutes versions avec les mises à jour cumulatives d’avril 2023

  • Windows Server 2019 / 2022 / 2025 – Avec les mises à jour cumulatives d’avril 2023 ou plus récentes

Aucune installation client n’est désormais requise : Microsoft LAPS est intégré au système, y compris le module PowerShell.

Note

Les commandes suivantes doivent être exécutées sur la machine détenant le rôle FSMO Schema (utilisez samba-tool fsmo show pour l’identifier).

Attention

Il peut être pertinent d’effectuer une sauvegarde de votre AD avant toute modification du schéma. De plus, il est important de noter qu’il n’est pas possible de supprimer une extension de schéma dans Active Directory.

  • Créez un fichier LDIF d’extension de schéma laps-1.ldif. Vous devez remplacer le baseDN dc=mydomain,dc=lan par le DN de votre domaine :

    dn: CN=ms-LAPS-PasswordExpirationTime,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-PasswordExpirationTime
    adminDisplayName: msLAPS-PasswordExpirationTime
    adminDescription: Windows LAPS - time when the current password is scheduled to expire (UTC)
    attributeId: 1.2.840.113556.1.6.44.1.1
    attributeSyntax: 2.5.5.16
    omSyntax: 65
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 0
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    
    dn: CN=ms-LAPS-Password,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-Password
    adminDisplayName: msLAPS-Password
    adminDescription: Windows LAPS - current local admin password (JSON string)
    attributeId: 1.2.840.113556.1.6.44.1.2
    attributeSyntax: 2.5.5.5
    omSyntax: 19
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    
    dn: CN=ms-LAPS-EncryptedPassword,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-EncryptedPassword
    adminDisplayName: msLAPS-EncryptedPassword
    adminDescription: Windows LAPS - encrypted current local admin password
    attributeId: 1.2.840.113556.1.6.44.1.3
    attributeSyntax: 2.5.5.10
    omSyntax: 4
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    attributeSecurityGUID: f3531ec6-6330-4f8e-8d39-7a671fbac605
    
    dn: CN=ms-LAPS-EncryptedPasswordHistory,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-EncryptedPasswordHistory
    adminDisplayName: msLAPS-EncryptedPasswordHistory
    adminDescription: Windows LAPS - encrypted local admin password history
    attributeId: 1.2.840.113556.1.6.44.1.4
    attributeSyntax: 2.5.5.10
    omSyntax: 4
    isSingleValued: FALSE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    attributeSecurityGUID: f3531ec6-6330-4f8e-8d39-7a671fbac605
    
    dn: CN=ms-LAPS-EncryptedDSRMPassword,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-EncryptedDSRMPassword
    adminDisplayName: msLAPS-EncryptedDSRMPassword
    adminDescription: Windows LAPS - encrypted DSRM password
    attributeId: 1.2.840.113556.1.6.44.1.5
    attributeSyntax: 2.5.5.10
    omSyntax: 4
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    attributeSecurityGUID: f3531ec6-6330-4f8e-8d39-7a671fbac605
    
    dn: CN=ms-LAPS-EncryptedDSRMPasswordHistory,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-EncryptedDSRMPasswordHistory
    adminDisplayName: msLAPS-EncryptedDSRMPasswordHistory
    adminDescription: Windows LAPS - encrypted DSRM password history
    attributeId: 1.2.840.113556.1.6.44.1.6
    attributeSyntax: 2.5.5.10
    omSyntax: 4
    isSingleValued: FALSE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    attributeSecurityGUID: f3531ec6-6330-4f8e-8d39-7a671fbac605
    
    dn: CN=ms-LAPS-CurrentPasswordVersion,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: attributeSchema
    ldapDisplayName: msLAPS-CurrentPasswordVersion
    adminDisplayName: msLAPS-CurrentPasswordVersion
    adminDescription: Windows LAPS - GUID of most recent persisted password
    attributeId: 1.2.840.113556.1.6.44.1.7
    attributeSyntax: 2.5.5.10
    omSyntax: 4
    isSingleValued: TRUE
    systemOnly: FALSE
    searchFlags: 904
    isMemberOfPartialAttributeSet: FALSE
    showInAdvancedViewOnly: FALSE
    rangeLower: 16
    rangeUpper: 16
    attributeSecurityGUID: f3531ec6-6330-4f8e-8d39-7a671fbac605
    
    dn: CN=ms-LAPS-Encrypted-Password-Attributes,CN=Extended-Rights,CN=Configuration,DC=mydomain,DC=lan
    changetype: add
    objectClass: controlAccessRight
    cn: ms-LAPS-Encrypted-Password-Attributes
    displayName: ms-LAPS-Encrypted-Password-Attributes
    rightsGuid: f3531ec6-6330-4f8e-8d39-7a671fbac605
    validAccesses: 48
    description: Windows LAPS - extended right for encrypted password attributes
    
  • Créez un fichier laps-2.ldif :

    dn: CN=Computer,CN=Schema,CN=Configuration,DC=mydomain,DC=lan
    changetype: modify
    add: mayContain
    mayContain: msLAPS-PasswordExpirationTime
    mayContain: msLAPS-Password
    mayContain: msLAPS-EncryptedPassword
    mayContain: msLAPS-EncryptedPasswordHistory
    mayContain: msLAPS-EncryptedDSRMPassword
    mayContain: msLAPS-EncryptedDSRMPasswordHistory
    mayContain: msLAPS-CurrentPasswordVersion
    
  • Lancer l’intégration des deux fichiers ldif (cela se fait en deux étapes afin de 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
    
  • Redémarrez Samba-AD :

    systemctl restart samba
    

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

Note

Les commandes ci-dessous supposent que vous utilisez un système Windows qui prend déjà en charge le nouveau Microsoft LAPS. Aucune installation client supplémentaire n’est requise : LAPS est désormais directement intégré à Windows 10/11 et Windows Server 2019/2022/2025, et le module PowerShell est fourni avec l’OS.

  • Contrairement à LAPS Legacy, il n’y a plus rien à installer localement. Le service, les paramètres de stratégie de groupe et le module PowerShell LAPS sont intégrés nativement à partir des mises à jour d’avril 2023 (KB5025221 et ultérieures).

  • Pour confirmer que le module est disponible, exécutez simplement :

    Get-Command -Module LAPS
    Import-Module LAPS
    
  • Dans un PowerShell avec les droits Domain Admin, exécutez la commande suivante pour donner aux machines le droit de modifier leur mot de passe Administrateur :

    Set-LapsADComputerSelfPermission -Identity "ou=machines,dc=mydomain,dc=lan"
    
  • Ajoutez des droits de lecture aux groupes d’administrateurs afin qu’ils puissent consulter le mot de passe :

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

    Set-LapsADResetPasswordPermission -Identity "ou=machines,dc=mydomain,dc=lan" -AllowedPrincipals "mydomain\HelpDesk"
    

Indication

Pour afficher les droits sur une OU, vous pouvez utiliser la commande suivante :

Find-LapsADExtendedRights -Identity "ou=machines,dc=mydomain,dc=lan" | Format-Table

Configurer la GPO de déploiement LAPS

Note

Si vous utilisez le dépôt PolicyDefinitions sur le partage Sysvol de votre Active Directory, vous devrez peut-être copier les fichiers admx installés par le MSI : LAPS.admx et en-US\LAPS.adml.

  • Dans la console de gestion des GPO, créez une GPO LAPS (Configuration ordinateur -> Stratégies -> Modèles d’administration -> Système -> LAPS)

Attention

L’option Activer le chiffrement du mot de passe doit être mis sur Désactivé. Le chiffrement des mots de passe n’est pas pris en charge dans l’implémentation actuelle de Samba AD, et l’activer empêchera LAPS de fonctionner correctement.

  • Vous devez également vérifier que Configurer le répertoire de sauvegarde de mot de passe est définit sur Active Directory pour garantir le bon fonctionnement.

  • Configurez ensuite les Paramètres du mot de passe selon vos besoins.

  • Pour compléter la configuration, définissez Configurer la gestion automatique des comptes selon le compte que vous souhaitez faire gérer par LAPS :

    • Choisissez « Gérer le compte d’administration intégré » si vous souhaitez que LAPS gère le compte Administrateur local par défaut (celui avec le Well-Known RID 500).

    • Choisissez « Gérer un compte d’administrateur personalisé » si vous utilisez un autre compte administrateur local.

Valider le bon fonctionnement de LAPS

  • Sur le poste utilisateur situé dans l’OU où la GPO LAPS est appliquée, lancez une mise à jour des stratégies de sécurité avec gpupdate /force ;

  • Dans la console ADUC, activez les fonctionnalités avancées et vérifiez que les attributs msLAPS-Password et msLAPS-PasswordExpirationTime sont correctement renseignés sur l’objet ordinateur.

  • Ouvrez la console Active Directory Users and Computers, accédez aux propriétés de la machine, puis à l’onglet LAPS et vérifiez que le mot de passe peut être récupéré.