HL-PRC-019 — Bitwarden — isolation des identifiants par sous-domaines NPM

HOMELAB
Infrastructure auto-hébergée

PROCÉDURE TECHNIQUE

Isolation des identifiants et détection d’URI sous Bitwarden

Configuration du ciblage strict par nom d’hôte pour les services web auto-hébergés publiés derrière Nginx Proxy Manager.

Référence
HL-PRC-019
Version
1.0
Date d’édition
02/11/2026
Auteur
Administrateur système et réseaux
Classification
Interne
Statut
Validé

Sommaire

Isolation des identifiants et détection d’URI sous Bitwarden — HL-PRC-019

1 Objet

Cette procédure formalise la configuration avancée du moteur de détection de correspondances d’URI au sein du gestionnaire de mots de passe Bitwarden (et son implémentation serveur Vaultwarden) pour l’ensemble des interfaces d’administration et services applicatifs auto-hébergés du DozyLab. L’intervention vise à cloisonner la proposition et le remplissage automatique des identifiants par sous-domaine pleinement qualifié (FQDN), réduisant le risque d’injection croisée de secrets entre applications indépendantes.

La difficulté principale réside dans le comportement par défaut de l’extension Bitwarden, calibré sur la règle « Domaine de base » (Base Domain). Lorsque plusieurs services web distincts (tels que Hermes GUI, Zabbix Web UI et Technitium DNS) sont publiés via le même proxy inverse Nginx Proxy Manager (NPM) et partagent un domaine parent commun (par exemple dozylab.lan) ou une même adresse IP frontale, Bitwarden ignore les préfixes de sous-domaine et présente indistinctement la totalité des comptes enregistrés sur chaque formulaire d’authentification. Le passage méthodique à la règle « Hôte » (Host), complété par l’assainissement des URI enregistrées et le réglage de l’ergonomie d’affichage, résout cette anomalie opérationnelle.

2 Périmètre et prérequis

Périmètre

Couvert : paramétrage de la politique globale de correspondance d’URI dans l’extension pour navigateur web Bitwarden ; ajustement unitaire des fiches de coffre-fort pour les services web auto-hébergés (Hermes GUI, Zabbix Web UI, Technitium DNS, Apache Guacamole, Proxmox VE, PBS) ; paramétrage des règles de déclenchement du menu contextuel sur les champs de formulaire ; traitement des cas d’applications cohabitant sur un même hôte par sous-répertoires via la règle « Commence par ».

Hors périmètre : déploiement de l’instance serveur Vaultwarden (couvert par HL-PRC-005) ; création et gestion des certificats SSL/TLS ou configuration des hôtes virtuels sous Nginx Proxy Manager (couverts par HL-PRC-011 et HL-PRC-012) ; administration des zones DNS faisant autorité sur le serveur Technitium DNS (couvert par HL-PRC-004).

Prérequis

• Poste d’administration : navigateur web moderne (Chromium, Firefox ou Edge) disposant de l’extension officielle Bitwarden installée et connectée au coffre.

• Infrastructure réseau : serveur mandataire inverse Nginx Proxy Manager opérationnel assurant le routage des sous-domaines vers les conteneurs ou machines cibles.

• Résolution de noms : serveur Technitium DNS fonctionnel résolvant chaque FQDN de service vers l’adresse IP virtuelle du proxy inverse.

• Désactivation native : gestionnaire de mots de passe intégré au navigateur web préalablement désactivé pour éviter toute superposition d’interfaces graphiques.

Note Environnement validé sur le banc d’essai : Extension Bitwarden version 2024.10+ sous Google Chrome et Mozilla Firefox (Windows 11) ; proxy inverse Nginx Proxy Manager v2.12.x ; résolveur Technitium DNS v13.x ; applications réelles validées : Hermes GUI (hermes.dozylab.lan), Zabbix Web UI (zabbix.dozylab.lan), Technitium DNS (dns.dozylab.lan). Interventions et tests de non-régression validés le 02/11/2026.

3 Rôles et responsabilités

RôleResponsabilité
Administrateur système et réseauxDéfinition des conventions de nommage des sous-domaines, standardisation des règles de sécurité de l’extension et contrôle d’intégrité des accès.
Détenteur des secretsSaisie rigoureuse des URI cibles lors de la création d’un élément dans le coffre et sélection de la granularité de détection appropriée.
Exploitant d’infrastructureUtilisation des raccourcis de remplissage, vérification systématique de l’URL avant validation et signalement des détections multiples anormales.

Note Organisation Homelab individuel : Au sein de l’infrastructure DozyLab, l’ensemble de ces prérogatives est exercé par l’administrateur unique.

4 Procédure de configuration et d’isolation des identifiants

Paramètres de la procédure

ParamètreDescriptionValeur de référenceContrainte
GLOBAL_MATCH_RULERègle par défaut de correspondance d’URIHostPrise en compte sous-domaine et port
DOMAIN_BASEDomaine de base interne du homelabdozylab.lanRésolution DNS privée Technitium
HERMES_FQDNFQDN du serveur d’agents Hermeshermes.dozylab.lanCertificat SSL valide NPM
ZABBIX_FQDNFQDN de l’interface de supervisionzabbix.dozylab.lanCertificat SSL valide NPM
DNS_FQDNFQDN de la console DNS Technitiumdns.dozylab.lanCertificat SSL valide NPM
AUTOFILL_BEHAVIORComportement du menu contextuel intégréWhen field is selectedÉvite l’ouverture intrusive
AUTOFILL_SHORTCUTRaccourci clavier de remplissage rapideCtrl + Maj + LStandard multiplateforme Bitwarden

Attention Substitution des paramètres : Les commandes, interfaces et chemins décrits dans les étapes suivantes doivent être adaptés selon le nom de domaine racine et les sous-domaines réels configurés sur votre infrastructure.

Inventaire des modes de détection d’URI Bitwarden

Mode de détectionComportement d’évaluationCas d’usage et impact Homelab
Domaine de base (Base Domain)Extrait le domaine de second niveau (SLD) et le TLD. Ignore les sous-domaines, ports et chemins.Inadapté en Homelab avec Reverse Proxy : regroupe tous les services sous dozylab.lan.
Hôte (Host)Vérifie l’égalité stricte du nom d’hôte (sous-domaine inclus) et du port éventuel. Ignore le chemin.Recommandé : isole hermes.dozylab.lan de zabbix.dozylab.lan et traite les ports distincts.
Commence par (Starts with)Vérifie que l’URL active commence exactement par la chaîne enregistrée.Requis lorsque plusieurs services partagent un même hôte via des sous-répertoires (/app1, /app2).
ExactVérifie la concordance absolue caractère par caractère (protocole, hôte, port, chemin complet).Utilisé pour des formulaires très spécifiques ou des mires d’authentification à URL immuable.
Expression régulièreApplique une regex personnalisée sur l’URL.Cas d’école complexes pour filtrer des plages dynamiques d’adresses.
Jamais (Never)Désactive entièrement la détection et la proposition d’identifiants pour cette URI.Mires d’accès publiques ou services devant être obligatoirement saisis manuellement.

Étapes

1. Désactiver les fonctionnalités de saisie automatique du navigateur hôte

Avant d’ajuster Bitwarden, il est indispensable de désactiver le gestionnaire de mots de passe intégré au navigateur (Chrome, Edge ou Firefox). La présence conjointe de deux moteurs d’injection dans le modèle objet de document (DOM) provoque des superpositions graphiques dégradées et des conflits de sélection.

Pour Google Chrome / Brave / Edge : accéder à chrome://password-manager/settings, puis désactiver les options « Proposer d’enregistrer les mots de passe » et « Connexion automatique ».

Pour Mozilla Firefox : accéder à about:preferences#privacy, section « Identifiants et mots de passe », puis décocher « Demander à enregistrer les identifiants et les mots de passe pour les sites web » et « Remplir automatiquement les identifiants ».

# Contrôle visuel : recharger une mire web (ex. https://hermes.dozylab.lan)
# Constat attendu : aucune popup native du navigateur ne vient parasiter le champ de saisie.

2. Définir la règle de correspondance par défaut sur « Hôte »

Cette opération modifie le comportement global de l’extension afin que toute consultation web ou tout nouvel enregistrement applique d’office un filtrage prenant en compte le sous-domaine exact et le numéro de port, sans intervention manuelle répétitive.

1. Ouvrir l’extension Bitwarden dans la barre d’outils du navigateur.

2. Cliquer sur l’icône Paramètres (roue crantée ⚙️ située en bas à droite).

3. Sélectionner la rubrique « Saisie automatique » (Autofill).

4. Localiser le champ « Détection des correspondances d’URI par défaut » (Default URI match detection).

5. Modifier la valeur déroulante de « Domaine de base » vers « Hôte » (Host).

Note Prise en compte immédiate : Cette modification est sauvegardée instantanément dans le profil local de l’extension et s’applique à tous les éléments du coffre qui ne disposent pas d’une surcharge unitaire.

3. Normaliser les URI et surcharges dans le coffre-fort

Pour que la règle « Hôte » isole efficacement les applications, chaque fiche de service doit posséder une URI complète, préfixée par le protocole sécurisé https:// et mentionnant le FQDN exact tel que défini dans Nginx Proxy Manager.

1. Dans l’onglet Coffre de Bitwarden, rechercher et ouvrir la fiche d’un service (exemple : Zabbix).

2. Cliquer sur « Modifier ».

3. Dans la section Site Web (URI), renseigner l’URL complète : https://zabbix.dozylab.lan.

4. Cliquer sur la roue crantée ⚙️ située immédiatement à droite du champ d’URI pour vérifier la règle spécifique.

5. S’assurer que la valeur est positionnée sur « Par défaut » (qui hérite désormais de Hôte) ou forcer explicitement « Hôte ».

6. Cliquer sur « Enregistrer » en haut à droite.

7. Répéter l’opération pour Hermes GUI (https://hermes.dozylab.lan) et Technitium DNS (https://dns.dozylab.lan).

4. Calibrer le comportement d’affichage du menu contextuel

Par défaut, l’extension Bitwarden affiche un menu déroulant flottant dès qu’un champ texte est détecté. Pour éviter que ce composant n’obstrue l’interface des applications web riches, il convient d’ajuster sa sensibilité.

1. Dans l’extension, retourner dans Paramètres ⚙️ > Saisie automatique.

2. Repérer l’option « Afficher le menu de saisie automatique sur les champs de formulaire ».

3. Sélectionner « Lorsque le champ est sélectionné » pour restreindre l’affichage au focus explicite, ou « Désactivé » pour privilégier l’usage exclusif des raccourcis clavier.

4. Désactiver impérativement les options « Afficher les identités comme suggestions » et « Afficher les cartes comme suggestions » pour épurer le menu.

5. Traiter les architectures cohabitant par sous-répertoires (Optionnel)

Dans l’éventualité où deux applications ne bénéficient pas de sous-domaines distincts et coexistent sur le même hôte avec des chemins différents (ex. https://adm.dozylab.lan/zabbix et https://adm.dozylab.lan/hermes), la règle « Hôte » ne permet pas de les différencier car les FQDN sont identiques. Il faut alors employer la règle « Commence par ».

1. Éditer la fiche de l’application concernée.

2. Saisir l’URL intégrant le chemin exact : https://adm.dozylab.lan/zabbix/.

3. Cliquer sur la roue crantée ⚙️ à droite de l’URI et sélectionner « Commence par » (Starts with).

4. Enregistrer la fiche.

Retour arrière

Situation constatéeProcédure d’annulation ou de contournement
Non-détection d’identifiants sur un sous-domaine spécifiqueÉditer la fiche dans le coffre, cliquer sur la roue crantée de l’URI et basculer temporairement la détection sur « Domaine de base » ou ajouter un alias d’URI.
Gêne visuelle persistante du menu flottant sur une applicationDésactiver totalement l’option « Afficher le menu de saisie automatique » dans Paramètres > Saisie automatique et utiliser le raccourci Ctrl + Maj + L.
Réinitialisation des préférences de l’extension après mise à jourRouvrir les Paramètres de l’extension et repositionner la « Détection des correspondances d’URI par défaut » sur « Hôte ».
Conflit d’auto-remplissage avec un script JavaScript interneAjouter l’URI du portail concerné avec la règle de détection « Jamais » pour neutraliser toute injection sur cette page.

Pièges connus

Symptôme rencontréCause technique identifiéeAction de résolution
Tous les identifiants admin s’affichent sur chaque mire de connexion localeBitwarden est configuré par défaut en mode « Domaine de base », regroupant tous les FQDN sous dozylab.lan.Modifier le réglage global de l’extension vers le mode « Hôte » (Host).
La règle « Hôte » continue de proposer tous les comptesL’URI dans la fiche du coffre est incomplète (ex. http:// sans sous-domaine, ou ancienne IP nue).Éditer chaque fiche et renseigner le FQDN complet (ex. https://hermes.dozylab.lan).
Des suggestions de cartes bancaires ou identités parasitent les champsOptions d’assistance omnidirectionnelle cochées par défaut dans l’extension Bitwarden.Décocher « Afficher les identités » et « Afficher les cartes » dans Paramètres > Saisie automatique.
Le raccourci Ctrl + Maj + L ne déclenche aucune actionConflit de raccourci global avec une autre extension ou le navigateur hôte.Accéder à chrome://extensions/shortcuts et réassigner une combinaison dédiée à Bitwarden.

5 Intégration réseau

Architecture d’exposition et publication

L’isolation opérée sous Bitwarden repose sur la topologie de terminaison SSL assurée par Nginx Proxy Manager et la délégation de résolution DNS gérée par Technitium DNS au sein du DozyLab.

Service cibleFQDN public / interneCible backend NPMCertificat SSL associé
Hermes Agent GUIhermes.dozylab.lanhttp://10.10.10.25:8010Wildcard *.dozylab.lan (Let’s Encrypt)
Zabbix Web UIzabbix.dozylab.lanhttp://10.10.10.40:80Wildcard *.dozylab.lan (Let’s Encrypt)
Technitium DNS UIdns.dozylab.lanhttp://10.10.10.5:5380Wildcard *.dozylab.lan (Let’s Encrypt)
Nginx Proxy Managernpm.dozylab.lanhttp://127.0.0.1:81Wildcard *.dozylab.lan (Let’s Encrypt)

Matrice des flux et résolutions

SourceDestinationPort / ProtocoleRôle opérationnel
Poste d’administrationTechnitium DNS (10.10.10.5)UDP/53, TCP/53Résolution du FQDN vers l’IP VIP de NPM
Poste d’administrationNginx Proxy Manager (10.10.10.30)TCP/443 (HTTPS)Établissement du tunnel TLS sécurisé
Nginx Proxy ManagerConteneurs LXC applicatifsTCP/divers (HTTP)Routage mandataire vers les ports applicatifs internes
Extension BitwardenServeur VaultwardenTCP/443 (HTTPS)Synchronisation chiffrée de bout en bout du coffre

Dépendances et points de défaillance

• Dépendance DNS Technitium : si la résolution d’un FQDN échoue, l’accès direct par adresse IP brute neutralisera le cloisonnement par sous-domaine de la règle Hôte.

• Cohérence de l’URI : toute modification de sous-domaine effectuée dans NPM doit impérativement être reportée dans le coffre Bitwarden.

6 Durcissement et sécurité

• Principe de moindre exposition : en restreignant la détection au mode « Hôte », un éventuel attaquant prenant le contrôle d’une application sur un sous-domaine compromis ne peut pas inciter Bitwarden à lui injecter les identifiants d’administration d’autres sous-domaines critiques.

• Proscription du protocole HTTP non chiffré : toutes les URI enregistrées doivent employer https:// pour prévenir toute interception de jetons ou tentative d’attaque Man-in-the-Middle.

• Désactivation du remplissage automatique à l’ouverture : l’option « Remplir automatiquement au chargement de la page » doit demeurer impérativement désactivée afin qu’aucune donnée d’authentification ne soit transmise sans une intervention humaine délibérée (clic ou raccourci clavier).

• Verrouillage temporel du coffre-fort : le délai d’inactivité avant verrouillage de l’extension doit être positionné à 15 minutes maximum, avec exigence d’un code PIN ou de la biométrie.

Dettes techniques

Point de vigilanceImpact potentielÉtat et mesure de suivi
Synchronisation locale des réglages de l’extensionLe réglage « Hôte » est stocké au niveau du navigateur et n’est pas répliqué automatiquement entre profils.Intégré au processus de déploiement de tout nouveau poste d’administration.
Applications utilisant des sous-répertoiresExige une maintenance manuelle des règles « Commence par » au lieu de la règle globale « Hôte ».Migration progressive vers des sous-domaines dédiés systématiques sous NPM.
Accès d’urgence par IP bruteEn cas de défaillance DNS, la connexion par IP réactive la promiscuité des identifiants.Toléré uniquement en mode incident d’urgence hors production.

7 Vérifications finales

ContrôleCritère d’acceptationStatut
Contrôle de la règle globale d’URIParamètres > Saisie automatique affiche « Hôte » de façon permanente☐
Test d’isolation sur Hermes GUISur https://hermes.dozylab.lan : seul le compte Hermes (admin) est suggéré☐
Test d’isolation sur Zabbix Web UISur https://zabbix.dozylab.lan : seul le compte Zabbix (Admin) est suggéré☐
Test d’isolation sur Technitium DNSSur https://dns.dozylab.lan : seul le compte Technitium (admin) est suggéré☐
Test de non-régression externeSur une mire tierce (ex. portail Proxmox ou pare-feu) : aucune suggestion croisée parasite☐
Validation du raccourci clavierLa combinaison Ctrl + Maj + L insère les identifiants sans solliciter le curseur souris☐
Absence d’interférence nativeAucune invite d’enregistrement native de Chrome/Firefox n’apparaît après validation☐

8 Références et historique des révisions

Documentation éditeur

• Bitwarden Inc. : Documentation officielle Bitwarden Help Center — Using URI Match Detection (spécification technique des algorithmes Base Domain, Host, Starts With, Exact et Regular Expression).

• Bitwarden Inc. : Documentation officielle Bitwarden Help Center — Auto-fill logins in your browser (configuration des overlays, menus déroulants et raccourcis clavier).

• Nginx Proxy Manager : Documentation officielle NPM — Proxy Hosts, SSL offloading and domain-based virtual hosting.

Documents associés

• HL-PRC-004 : Serveur Technitium DNS — Gestion des zones d’autorité et des résolutions locales FQDN.

• HL-PRC-005 : Coffre-fort Vaultwarden — Déploiement et sécurisation de l’infrastructure de gestion des secrets.

• HL-PRC-011 : PBS — Publication sous Reverse Proxy Nginx Proxy Manager.

• HL-PRC-012 : ProxPanel — Publication sous Reverse Proxy Nginx Proxy Manager.

• HL-PRC-013 : Proxmox VE — Déverrouillage conteneur LXC (snapshot-delete).

Historique des révisions

VersionDateAuteurModifications
1.002/11/2026Administrateur système et réseauxCréation du document à partir de l’intervention réelle sur le poste d’administration et le homelab.
Défiler vers le haut