Files
g9-migration/g9-migration/EXPOSITION-INTERNET.md
T

6.3 KiB

ÉTUDE EXPOSITION INTERNET (T-D — étude, aucune règle posée)

Périmètre : documenter, pas agir. 0 règle ufw modifiée, 0 changement réseau (G6). Faits mesurés le 12/10/2026 en lecture seule (ufw status numbered, ss -ltnu, Caddyfile, journal).

1. Exposition mesurée aujourd'hui

Machine Exposée au WAN (pare-feu) Observations
G9 (.24) 22/tcp Anywhere, 443/tcp Anywhere (+ v6) 22 ouvert au WAN = risque si la Freebox forward ; 443 = l'ancien edge (TLS interne, CA auto-signé) → un endpoint chiffré non reconnu exposé publiquement
G9 (.24) LAN-only 2342, 3000, 3100, 5678, 5984, 8008, 8009, 8080, 8081, 8096, 9980, 2456-2458, SMB (137-139/445) tout ce qui est « brique » est correctement restreint à 192.168.1.0/24
J5040 (.27) 80/tcp, 443/tcp, 51820/udp (Anywhere) le vrai edge : Caddy + Let's Encrypt (7/7 certs DNS-01) + WireGuard. 80 = redirect ACME
J5040 (.27) LAN-only 53 (DNS AdGuard), 3000 (hub Beszel), 8081 (UI AdGuard) UI AdGuard = login local (bcrypt), pas de 2FA
Pilot (.11) tailscale0 actif (100.111.222.30) voie d'accès distante non documentée dans le plan S9 → à nommer explicitement (acceptée ou coupée)
Freebox IP publique 82.65.198.114 (folzocorp.fr) les redirects Freebox (443 → G9, Valheim UDP 2456-2458) ne sont pas lisibles depuis l'infra : inventaire à faire côté Freebox par l'utilisateur

2. Grille par brique (actuelle / nécessaire / dangereuse)

Brique Publique aujourd'hui Publique nécessaire Danger si exposée Public visé
Nextcloud (cloud) oui, via J5040 (443) oui (usage famille hors maison) compte unique = porte d'entrée des fichiers ; 2FA obligatoire famille
Vaultwarden (pass) oui, via J5040 oui (coffre = besoin nomade) exposition du coffre = cible n°1 ; 2FA + mot de passe maître fort famille
Matrix/Synapse + Element (matrix, 8009) matrix via J5040 ; Element web LAN non (Element = client, passe par le homeserver) 8009 exposé = frontal gratuit ; 8008 exposé = API admin exposée famille
Gitea (git) oui, via J5040 non (usage interne + pushes) dépôt du kit + vault second cerveau = fuites de plans ; comptes must_change_password moi
Jellyfin (media) oui, via J5040 optionnel (usage hors maison = désirabilité) compte opérateur g9ops exposé ; pas de 2FA famille
PhotoPrism (prisme) route prévue, pas posée optionnel 10 ans de photos = donnée la plus sensible de la maison famille
n8n (n8n) oui, via J5040 non UI d'automatisation = exécution de commandes ; pas de SSO (payant) ; owner unique moi
Beszel hub (3000 .27) non non vue de l'inventaire + alertes moi
AdGuard UI (8081 .27) non non contrôle du DNS de toute la maison moi
Collabora (9980) non non WOPI interne interne
CouchDB (5984) non non danger LAN : CouchDB sans auth = lecture/écriture directe interne
SMB (137-139/445) non non partage famille, invité guest ok → LAN-only strict famille
SSH G9 (22) oui au pare-feu non exposition SSH = 22 en clair sur internet si forward moi
Edge G9 (443) oui au pare-feu non ( remplacé par J5040 ) TLS auto-signé exposé, double porte d'entrée —
Valheim (2456-2458) non (redirect Freebox UDP existant) oui (amis hors LAN) jeu, sans donnée sensible amis
WireGuard (51820 .27) oui oui (c'est LA porte d'entrée distante) clé privée = accès total LAN moi

3. Ce que ça change pour l'identité (lien direct avec la tâche Authelia)

Constat Conséquence
La forward-auth ne protège que ce qui passe par Caddy (les 6 sous-domaines) les ports LAN directs (3000, 5678, 5984, 8009, 8081, 9980, 2342) restent en login local : un IdP ne les couvre pas
Tout ce qui est LAN-only n'a pas besoin d'un IdP pour être sûr si la posture reste « LAN + WireGuard », l'apport d'Authelia est confort (1 login, 1 2FA) et non sécurité
Tout ce qui est exposé (Nextcloud, Vaultwarden, Matrix, Gitea, Jellyfin, n8n) est concerné plus l'exposition est large, plus l'IdP + 2FA central devient indispensable
22/tcp et l'edge G9 sont ouverts au WAN sans nécessité ce sont les 2 décisions les moins chères à prendre (fermer = 2 règles à retirer, pas à poser)
Tailscale sur le pilot voie distante réelle et silencieuse : à nommer (acceptée = documentée ; refusée = désactivée)

4. Playbook de durcissement (classé, non implémenté)

Rang Action Coût Effet Réversibilité
1 Retirer 22/tcp Anywhere du G9 (SSH = LAN + WireGuard) 1 règle supprime l'expo SSH publique immédiate
2 Retirer 443/tcp du G9 après la bascule bridge (edge J5040 seul) 1 règle + démontage une seule porte d'entrée immédiate
3 2FA sur Nextcloud + Vaultwarden + Gitea + Synapse (S9.1) ~1 h la vraie protection des comptes exposés par compte
4 WireGuard = seul chemin distant pour Gitea/n8n/Beszel/AdGuard UI config Caddy/ufw 4 briques sortent de la surface publique immédiate
5 Forward-auth Authelia sur les 6 sous-domaines + break-glass 1 brique 1 login, 1 2FA, déprovisionnement en 1 point opt-in par brique
6 CouchDB : auth ou bind 127.0.0.1 (l'appli n'a besoin que du réseau Docker) 1 ligne compose ferme un trou LAN silencieux immédiate
7 Inventaire des redirects Freebox (443, UDP 2456-2458) + suppression de ce qui est mort côté Freebox, utilisateur cohérence réel/plan immédiate
8 Nommer Tailscale (accepté/documenté, ou désactivé) 1 décision supprime une voie non documentée immédiate

5. Décisions à rendre (ta main)

  1. Fermer 22 WAN sur le G9 ? (rang 1)
  2. Démonter l'edge G9 à la bascule bridge ? (rang 2)
  3. Garder Gitea et n8n exposés, ou les réserver à WireGuard ? (rang 4)
  4. Tailscale : documenté et assumé, ou coupé ? (rang 8)
  5. PhotoPrism et Jellyfin exposés hors maison, oui/non ? (grille)

Tant que ces 5 réponses ne sont pas données, aucune règle n'est posée (G6).