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

3.3 KiB
Raw Permalink Blame History

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