Skip to main content

QNAP

Objectif : Configurer votre NAS QNAP pour qu’il utilise Authentik comme annuaire LDAP afin d’authentifier les utilisateurs centralement via LDAP. Cette intégration ne repose pas sur OpenID/SAML, mais utilise l’authentification LDAP fournie par Authentik.


Pré-requis

Avant de commencer :

  • Vous avez un NAS QNAP fonctionnel, accessible sur votre réseau.

  • Vous êtes administrateur de votre instance Authentik et de votre NAS QNAP.

  • Vous disposez d’un provider LDAP configuré dans Authentik.

  • L’instance Authentik et le NAS peuvent communiquer en TLS/LDAPS.

  • Vous connaissez votre Base DN, ainsi que le nom de domaine et les chemins LDAP nécessaires à la configuration.


1) Préparation dans Authentik

A) Créer un provider LDAP

  1. Dans Authentik, créez un LDAP Provider si ce n’est pas déjà fait.

    • Renseignez le Base DN (ldap.baseDN, ex. dc=authentik,dc=local).

    • Activez LDAP over TLS/SSL (LDAPS) pour un transport sécurisé.

    • Notez le nom de domaine associé (ldap.domain) — généralement dérivé du Base DN.

    • Configurez les filtres d’utilisateur et les paramètres pour la recherche.

B) Créer un compte de service

  1. Créez dans Authentik un compte de service LDAP (utilisé par QNAP pour se lier à l’annuaire).

    • Ce compte doit appartenir à un groupe qui a la visibilité sur tous les utilisateurs.

    • Notez : le mot de passe du compte ne doit pas dépasser 66 caractères (limite connue côté QNAP).


2) Déployer un LDAP Outpost

QNAP ne peut pas interroger directement Authentik sans un Outpost LDAP.

  1. Dans Authentik, configurez un Outpost pour LDAP.

    • Déployez-le sur une machine accessible par le NAS (même réseau).

    • Assurez-vous que le port LDAPS (généralement 636) est exposé et accessible.


3) Configuration côté QNAP NAS

La configuration se fait en deux étapes : via l’interface web puis en modifiant la configuration LDAP via SSH.


A) Interface Web QNAP

  1. Connectez-vous à votre QNAP avec un compte administrateur.

  2. Allez dans Panneau de configuration → Contrôle des privilèges → Domaine/LDAP.

  3. Choisissez l’option LDAP (parfois LDAP avec SSL ou LDAPS).

  4. Configurez les champs principaux :

    • Serveur LDAP : l’adresse ou IP de votre LDAP Outpost déployé.

    • Base DN : le ldap.baseDN configuré dans Authentik.

    • Nom d’utilisateur bind : cn=<serviceAccount>,ou=users,<BaseDN>.

    • Mot de passe bind : le mot de passe du compte service créé.

    • Activez SSL/TLS si disponible.

  5. Appliquez et vérifiez que la configuration est enregistrée.


B) Ajustements avancés via SSH

Par défaut, les fichiers de configuration générés par l’interface web ne sont pas suffisants pour fonctionner avec Authentik.

  1. Connectez-vous à votre NAS en SSH.

  2. Arrêtez le service LDAP :



    /sbin/setcfg LDAP Enable FALSE
    /etc/init.d/ldap.sh stop

  3. Éditez le fichier /etc/config/nss_ldap.conf pour qu’il ressemble à ceci :



    host                        ${ldap.domain}
    base                        ${ldap.baseDN}
    uri                         ldaps://${ldap.domain}/
    ssl                         on
    rootbinddn                  cn=${qnap.serviceAccount},ou=users,${ldap.baseDN}
    nss_schema                  rfc2307bis
    nss_map_objectclass         posixAccount    user
    nss_map_objectclass         shadowAccount   user
    nss_map_objectclass         posixGroup      group
    nss_map_attribute           uid             cn
    nss_map_attribute           gecos           displayName
    nss_map_attribute           uniqueMember    member
    nss_base_passwd             ou=users,${ldap.baseDN}?one
    nss_base_shadow             ou=users,${ldap.baseDN}?one
    nss_base_group              ou=groups,${ldap.baseDN}?one
    tls_checkpeer               no
    referrals                   no
    bind_policy                 soft
    timelimit                   120
    tls_ciphers                 EECDH+AES256:RSA+AES256:!MD5
    nss_initgroups_ignoreusers  admin,akadmin

    Remplacez les variables ${ldap.domain}, ${ldap.baseDN}, ${qnap.serviceAccount} par vos valeurs réelles.

  4. Redémarrez le service LDAP :

    /sbin/setcfg LDAP Enable TRUE
    /etc/init.d/ldap.sh start

  5. Testez la connexion LDAP :



    getent passwd
    getent group
    Les commandes doivent lister à la fois les utilisateurs locaux et les utilisateurs Authentik.

4) Vérification

Pour vérifier que tout fonctionne :

  • Essayez de vous connecter au QNAP NAS avec un utilisateur Authentik.

  • Vérifiez que les utilisateurs et groupes remontent correctement.

  • Vérifiez que les paramètres de sécurité (SSL/TLS) sont bien actifs.


Conseils et points d’attention

✔️ Longueur du mot de passe service : QNAP impose une longueur maximale de mot de passe bind LDAP (~≤ 66 caractères).
✔️ Outpost nécessaire : pour que le NAS puisse communiquer avec Authentik en LDAP, vous devez déployer un LDAP Outpost accessible par le NAS.
✔️ Configuration SSL/TLS : utilisez LDAPS (port 636) pour chiffrer les échanges LDAP entre QNAP et Authentik.