| 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ôle | Responsabilité |
| Administrateur système et réseaux | Dé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 secrets | Saisie 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’infrastructure | Utilisation 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ètre | Description | Valeur de référence | Contrainte |
| GLOBAL_MATCH_RULE | Règle par défaut de correspondance d’URI | Host | Prise en compte sous-domaine et port |
| DOMAIN_BASE | Domaine de base interne du homelab | dozylab.lan | Résolution DNS privée Technitium |
| HERMES_FQDN | FQDN du serveur d’agents Hermes | hermes.dozylab.lan | Certificat SSL valide NPM |
| ZABBIX_FQDN | FQDN de l’interface de supervision | zabbix.dozylab.lan | Certificat SSL valide NPM |
| DNS_FQDN | FQDN de la console DNS Technitium | dns.dozylab.lan | Certificat SSL valide NPM |
| AUTOFILL_BEHAVIOR | Comportement du menu contextuel intégré | When field is selected | Évite l’ouverture intrusive |
| AUTOFILL_SHORTCUT | Raccourci clavier de remplissage rapide | Ctrl + Maj + L | Standard 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étection | Comportement d’évaluation | Cas 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). |
| Exact | Vé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ère | Applique 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ée | Procé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 application | Dé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 à jour | Rouvrir 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 interne | Ajouter 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ée | Action de résolution |
| Tous les identifiants admin s’affichent sur chaque mire de connexion locale | Bitwarden 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 comptes | L’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 champs | Options 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 action | Conflit 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 cible | FQDN public / interne | Cible backend NPM | Certificat SSL associé |
| Hermes Agent GUI | hermes.dozylab.lan | http://10.10.10.25:8010 | Wildcard *.dozylab.lan (Let’s Encrypt) |
| Zabbix Web UI | zabbix.dozylab.lan | http://10.10.10.40:80 | Wildcard *.dozylab.lan (Let’s Encrypt) |
| Technitium DNS UI | dns.dozylab.lan | http://10.10.10.5:5380 | Wildcard *.dozylab.lan (Let’s Encrypt) |
| Nginx Proxy Manager | npm.dozylab.lan | http://127.0.0.1:81 | Wildcard *.dozylab.lan (Let’s Encrypt) |
Matrice des flux et résolutions
| Source | Destination | Port / Protocole | Rôle opérationnel |
| Poste d’administration | Technitium DNS (10.10.10.5) | UDP/53, TCP/53 | Résolution du FQDN vers l’IP VIP de NPM |
| Poste d’administration | Nginx Proxy Manager (10.10.10.30) | TCP/443 (HTTPS) | Établissement du tunnel TLS sécurisé |
| Nginx Proxy Manager | Conteneurs LXC applicatifs | TCP/divers (HTTP) | Routage mandataire vers les ports applicatifs internes |
| Extension Bitwarden | Serveur Vaultwarden | TCP/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 vigilance | Impact potentiel | État et mesure de suivi |
| Synchronisation locale des réglages de l’extension | Le 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épertoires | Exige 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 brute | En 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ôle | Critère d’acceptation | Statut |
| Contrôle de la règle globale d’URI | Paramètres > Saisie automatique affiche « Hôte » de façon permanente | ☐ |
| Test d’isolation sur Hermes GUI | Sur https://hermes.dozylab.lan : seul le compte Hermes (admin) est suggéré | ☐ |
| Test d’isolation sur Zabbix Web UI | Sur https://zabbix.dozylab.lan : seul le compte Zabbix (Admin) est suggéré | ☐ |
| Test d’isolation sur Technitium DNS | Sur https://dns.dozylab.lan : seul le compte Technitium (admin) est suggéré | ☐ |
| Test de non-régression externe | Sur une mire tierce (ex. portail Proxmox ou pare-feu) : aucune suggestion croisée parasite | ☐ |
| Validation du raccourci clavier | La combinaison Ctrl + Maj + L insère les identifiants sans solliciter le curseur souris | ☐ |
| Absence d’interférence native | Aucune 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
| Version | Date | Auteur | Modifications |
| 1.0 | 02/11/2026 | Administrateur système et réseaux | Création du document à partir de l’intervention réelle sur le poste d’administration et le homelab. |