--- serveur_openldap_paquets: - slapd - ldap-utils - python3-ldap # requis par community.general.ldap_entry sur la cible serveur_openldap_service: "slapd" # Identite de l'annuaire. serveur_openldap_domaine: "{{ domaine_interne }}" serveur_openldap_organisation: "{{ organisation | default('Organisation') }}" # Base DN derivee du domaine interne (ex. acme.local -> dc=acme,dc=local). serveur_openldap_base_dn: "dc={{ serveur_openldap_domaine.split('.') | join(',dc=') }}" serveur_openldap_admin_dn: "cn=admin,{{ serveur_openldap_base_dn }}" # Secret OBLIGATOIRE (Ansible Vault). serveur_openldap_admin_password: "{{ vault_openldap_admin | default('') }}" # rempli depuis la voute (vault_openldap_admin) # Unites organisationnelles de base. serveur_openldap_ou: - people - groups # --- TLS (LDAPS + STARTTLS) via le certificat d'hote step_ca --- # Requiert l'integration client_pki sur le noeud (fournit le cert + le renouvellement). serveur_openldap_tls_actif: true # Certificat SOURCE depose par client_pki (root:root 600, illisible par openldap). serveur_openldap_tls_source_cert: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.crt" serveur_openldap_tls_source_cle: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.key" serveur_openldap_tls_source_ca: "/etc/step/certs/root_ca.crt" # Emplacement PONT, lisible par openldap ; resynchronise a chaque renouvellement. serveur_openldap_tls_dir: "/etc/ldap/tls" # Services slapd exposes (ldaps ajoute pour le TLS ; ldapi pour l'admin local). serveur_openldap_services: "ldap:/// ldaps:/// ldapi:///" # --- Politique de mot de passe (overlay ppolicy) ------------------------------ # Sans cet overlay, `pwdReset` n'existe pas dans le schema : le changement force a # la premiere ouverture est impossible, et rien ne contraint la qualite ni ne # verrouille apres des echecs repetes. Mesure le 2026-08-07 : seul `back_mdb` # etait charge. Voir docs/autorisation.md §3. # # Depuis OpenLDAP 2.5, le schema ppolicy est INTEGRE au module : aucun fichier # `.ldif` a charger, contrairement a 2.4. serveur_openldap_ppolicy_actif: true # `pwdMustChange` est ce qui donne son effet a `pwdReset` : sans lui, marquer une # entree n'oblige a rien. Les deux vont ensemble. serveur_openldap_ppolicy: pwdMustChange: "TRUE" # Qualite : 1 = verifier si possible, accepter sinon. `pwdMinLength` n'est # applique QUE si `pwdCheckQuality` > 0. pwdCheckQuality: "1" pwdMinLength: "12" # Verrouillage apres echecs repetes. `pwdLockoutDuration` en secondes. pwdLockout: "TRUE" pwdMaxFailure: "5" pwdFailureCountInterval: "900" pwdLockoutDuration: "900" # Historique : interdit de reprendre un mot de passe recent. pwdInHistory: "3" # L'utilisateur peut changer son propre mot de passe — indispensable, puisque # `pwdMustChange` l'y oblige. pwdAllowUserChange: "TRUE" # Reglages de l'OVERLAY lui-meme (pas de la politique). `HashCleartext` hache un # mot de passe recu en clair au lieu de le stocker tel quel : filet de securite si # un client oublie de hacher. # `UseLockout` laisse volontairement a FALSE : dire « ce compte est verrouille » # renseigne un attaquant sur l'existence du compte. L'utilisateur legitime voit # « identifiants invalides » et attend la duree de verrouillage. serveur_openldap_ppolicy_hash_cleartext: true serveur_openldap_ppolicy_use_lockout: false