96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
# 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.
|
||
|
||
### 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é) :
|
||
|
||
```yaml
|
||
# secrets.yaml – NE PAS COMMITER
|
||
telegram_chat_alexis: "XXXXXXXXX"
|
||
telegram_chat_vanessa: "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
|