3.3 KiB
3.3 KiB
Politique de sécurité – HAOS Project
Principes fondamentaux
1. Exposition réseau minimale
Aucun port entrant n'est ouvert sur le routeur/box.
| Service | Exposition | Détail |
|---|---|---|
| Home Assistant | Tunnel sortant | Cloudflared → Cloudflare → domaine perso |
| SSH | VPN uniquement | Inaccessible hors WireGuard |
| Samba | LAN uniquement | Partage réseau local uniquement |
| MQTT | LAN uniquement | Mosquitto non exposé sur le WAN |
| Zigbee2MQTT | LAN uniquement | Interface web sur port 8099 (LAN) |
2. Accès distant via tunnel sortant (Cloudflared)
Le flux réseau est sortant uniquement depuis le serveur vers Cloudflare.
Utilisateur distant
│
▼ HTTPS
Cloudflare Edge
│
▼ Tunnel chiffré (WireGuard/QUIC)
Cloudflared add-on (HAOS)
│
▼ HTTP local
Home Assistant
Avantages :
- Aucun port ouvert sur la box
- IP publique non exposée
- HTTPS natif via certificat Cloudflare
- Protection DDoS Cloudflare incluse
3. Administration via VPN (WireGuard)
Toute administration système (SSH, Samba, Zigbee2MQTT UI) est restreinte au tunnel WireGuard, lui-même hébergé sur un LXC dédié sur le Proxmox (second mini-PC), et non sur HAOS.
4. Données locales
Les données sensibles ne transitent pas vers des clouds tiers :
| Donnée | Traitement | Justification |
|---|---|---|
| Flux vidéo | Local | Frigate NVR sur le serveur |
| Réseau Zigbee | Local | Zigbee2MQTT + Mosquitto locaux |
| Capteurs ESP32 | Local | ESPHome sur réseau local |
| Enedis | API officielle | Données de consommation uniquement |
| Heatzy | API officielle | Commandes chauffage uniquement |
5. Principe du moindre privilège
- Services limités au strict nécessaire
- Chaque add-on n'a accès qu'à ses ressources propres
- Mot de passe MQTT dédié (non partagé)
- Code PIN alarme non stocké en clair dans les automatisations (secrets.yaml)
6. Sauvegardes & Maintenance
- Sauvegardes automatiques régulières de la configuration HAOS
- Mises à jour appliquées régulièrement (HAOS, add-ons, intégrations)
- Surveillance des logs (HAOS, Zigbee2MQTT, Frigate)
Gestion des secrets
Tous les éléments sensibles sont stockés dans secrets.yaml (non commité) :
# secrets.yaml – NE PAS COMMITER
telegram_chat_user1: "XXXXXXXXX"
telegram_chat_user2: "XXXXXXXXX"
mqtt_password: "XXXXXXXXX"
alarmo_pin: "XXXX"
wifi_ssid: "XXXXXXXXX"
wifi_password: "XXXXXXXXX"
esphome_api_key: "XXXXXXXXX"
esphome_ota_password: "XXXXXXXXX"
esphome_ap_password: "XXXXXXXXX"
Ce que ce dépôt ne contient pas
- ❌ Clés privées ou tokens
- ❌ Mots de passe (MQTT, Telegram, Wi-Fi)
- ❌ Adresses IP réelles du réseau local
- ❌ Clé réseau Zigbee (network_key)
- ❌ PAN ID / Extended PAN ID Zigbee
- ❌ Adresses MAC des équipements Zigbee
- ❌ Code PIN de l'alarme
- ❌ Chat ID Telegram
- ❌ Prénoms ou noms réels des occupants