Aller au contenu

Sécurité

Modèle d'accès, inventaire des emplacements de secrets (jamais les valeurs), et pièges connus.

Modèle d'accès

  • Périmètre réseau : firewall hôte (INPUT DROP, WAN = 22/80/443 + ports mail), LAN de confiance, CrowdSec + bouncer (bannissement auto), AppArmor, AIDE (intégrité).
  • Reverse proxy : NPM (TLS) en façade — voir Réseau.
  • SSO / Authelia (172.16.0.39) : IdP OIDC (ex. Immich) + forward-auth (à généraliser). Users dans volumes/authelia/users_database.yml (bcrypt), règles access_control dans configuration.yml, sessions Redis DB5.
  • VPN : WireGuard (wg-easy) pour l'accès distant aux services internes.

Inventaire des SECRETS — , pas quoi

Aucune valeur de secret dans ce wiki

Ce tableau ne donne que l'emplacement. Ne jamais coller de mots de passe / clés ici.

Secret Emplacement
Master (TZ, PASSWORD, clés API, MAILU_SECRET_KEY…) /srv/docker/.env
Par stack compose/<stack>/.env
Mailu compose/mail/mailu.env
Home Assistant (DB, notif) volumes/homeassistant/secrets.yaml
Authelia (users bcrypt) volumes/authelia/users_database.yml
Authelia (secrets OIDC/HMAC) volumes/authelia/configuration.yml (+ éventuels secrets)
NPM (certs, base) volumes/nginx/certs/, volumes/nginx/data/database.sqlite
WireGuard (PASSWORD_HASH, clés) compose/edge/docker-compose.yml, volumes/wireguard/
Healthchecks URLs, SMTP compose/monitoring/.env (HC_*_URL, SMTP_PASSWORD)
actions-manager (GEMINI_API_KEY) compose/apps/.env

Pièges sécurité (à corriger)

Mot de passe maître réutilisé

Un même mot de passe (${PASSWORD}) est partagé par TimescaleDB, MariaDB, pgAdmin, Grafana, dockmate, code-server… Une fuite sur un service compromet les autres. À segmenter (mots de passe distincts par service). Voir Pièges.

À durcir / vérifier

  • Authelia : passer le notifier en SMTP mailu ; généraliser le forward-auth sur les apps sensibles actuellement non protégées.
  • samba-ad-dc enabled mais non configuré (erreurs Winbind) → désactiver si inutile.
  • NordVPN à mettre à jour ou désactiver si inutilisé.