Files
haos-project/docs/security-policy.md
T

100 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
```text
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é) :
```yaml
# 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