Aller au contenu

Sécurité

Cette page résume la politique de sécurité du projet. La version canonique est également à SECURITY.md dans le référentiel.

Versions prises en charge

Version Pris en charge
0.5.x Oui

Signaler une vulnérabilité

Veuillez signaler les problèmes de sécurité en privé :

  1. Ouvrez unAvis de sécurité GitHub, ou
  2. Envoyez un e-mail à omarraad@gmail.com avec une description et les étapes de reproduction.

N’ouvrez pas de problèmes publics pour des vulnérabilités non divulguées.

Conseils de déploiement

  • Lors de l'exposition de l'API en dehors de l'entrée Home Assistant, définissezLOCAL_ADMIN_PASSWORD_HASH + SESSION_SECRETouAPI_TOKENet utilisez HTTPS.
  • EnsembleTRUST_INGRESS_HEADERS=trueuniquement lorsque l'application est accessible exclusivement via l'entrée HA (pas directement sur le port 8000). Cela définit égalementX-Frame-Options: SAMEORIGINpour l'iframe de la barre latérale.
  • Gardez les jetons de longue durée de Home Assistant définis et tournés. VoirConfiguration de Home Assistant → Jeton d'accès longue durée.
  • Exécutez en mode ombre jusqu'à ce que vous fassiez confiance aux écritures automatisées de l'onduleur.
  • L'image Docker par défaut inclut des extras ML/MPC facultatifs ; utiliserINSTALL_EXTRAS=0pour une surface d’attaque plus légère si ces fonctionnalités ne sont pas utilisées.
  • Ne jamais activerDEMO_MODEsur un système connecté à un véritable onduleur.

Détails complets du contrôle d'accès :Rôles et accès.

Rôle de spectateur (entrée)

Les utilisateurs non administrateurs de Home Assistant authentifiés via Ingress sont des visionneurs. Ils peuvent lire en direct statut, prévisions et historique, et peut POST des remplacements limités uniquement :

  • shadow_mode, pause_engine, pause_shedding, pause_grid_charge, pause_optimization, force_grid_charge, kill_switch (avec confirm=true)

Chaque champ pause_* est bidirectionnel : true met en pause, false reprend.

Les téléspectateurs se voient refuser les lectures de configuration (GET /api/config), énumération des entités (GET /api/entities), écritures de configuration, l'Assistant, le code PIN de réserve, les frais de réseau forcés et d'autres itinéraires réservés aux administrateurs. L'application se fait en back-end ; le tableau de bord cache les contrôles de défense en profondeur.

Ne pas exposer le port8000directement si les téléspectateurs ne doivent pas contourner les en-têtes d’identité d’entrée HA.

Présentation pas à pas du tableau de bord :Tableau de bord du visualiseur.