6.3 KiB
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)
- Fermer
22WAN sur le G9 ? (rang 1) - Démonter l'edge G9 à la bascule bridge ? (rang 2)
- Garder Gitea et n8n exposés, ou les réserver à WireGuard ? (rang 4)
- Tailscale : documenté et assumé, ou coupé ? (rang 8)
- 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).