[Intégration] Posture sécurité du réseau informatique domestique

Bonjour à tous,

J’aimerais partager ma première contribution avec la communauté de Home Assistant, sur laquelle j’ai travaillé ces dernières semaines.

Je lance actuellement une activité de conseil en domotique, avec un focus particulier sur les solutions open-source et la sécurité à domicile. Dans ce cadre, j’ai développé une intégration custom orientée cybersécurité, pensée pour renforcer la visibilité et la protection des environnements connectés domestiques.

L’objectif de cette intégration est de :

  • surveiller certains comportements réseau inhabituels

  • alerter en cas d’activités suspectes sur les équipements connectés

  • améliorer la posture de sécurité globale du réseau

Le projet est encore en évolution, et je serais ravi d’avoir vos retours, suggestions ou idées d’amélioration. Pour toutes suggestions ou besoins spécifiques, n’hésitez pas à me contacter ou à répondre ici.

Je suis également ouvert à toute discussion autour des bonnes pratiques en domotique sécurisée — un sujet qui me semble encore trop peu abordé.

Merci d’avance pour vos retours :folded_hands:

7 « J'aime »

Salut
Merci pour le partage et sacré boulot dis donc vu tout ce que tu fais dans l’intégration :wink:
Tu as pensé à la rendre compatible HACS ? pour une installation plus rapide !
Je vais la tester et voir ce que ça donne avec mon routeur OPNSense.
C’est quoi l’histoire de clé API que tu évoques dans la documentation ?
Vincèn

Bon pour le moment ça ne veut pas marcher. Voici la config que j’ai faite dans OPNSense:


et celle de l’intégration (je n’ai changé que la classe du LAN IPV4, tout le reste est par défaut (normal qu’il n’y ait pas aussi la classe IPv6 ?)

Une idée de ce qui cloche ?

Oui, je l’ai installé depuis HACS pour tester (mais faut ajouter le repo manuellement, ne n’ai pas encore enregistrer l’app pour qu’elle aparaisse aventuellement dans les repos officiel), le seule problème que j’ai eu, c’est les images qui n’apparaissait pas. Mais sinon, elle s’est installé pareil que en copiant les fichiers manuellement.
Je ne vois rien qui cloche dans ton setup, mis à part que tu utilises v9 (j’ai pas testé v9). Moi j’ai utilisé softflowd depuis un machine linux qui recoit du port mirroring d’un switch.
Les clé API sont pour l’enrichissement des ip publiques, mais optionel.

si tu parles de 192.168.1.0/16, c’est pas nécessaire. Je ne pense pas que c’est un problème, mais le subnet 192.168.0.0/16 couvres tous les 192.168.x.x.
Et non pas de ipv6 parce que c’est très peu utilisé en lan

je viens de tester avec Netflow v9 et ça marche aussi:

Hello,

Chouette initiative ! Il faut que je teste ca, meme si Netflow est particulierement gourmand.

Sur la partie IPv6, je ne suis pas trop d’accord, IPv6 est de plus en plus répandu et natif sur la plupart des box, donc tout le LAN est en V6 aussi.

En tout cas chez moi, 8 VLANs dont 7 configurés en dual IPv4/IPv6, et la majorité du traffic transit en V6 (prioritaire pour la majorité des OS).

coom

1 « J'aime »

Ok, j’en ai encore jamais vu, mais je prends le point. Merci pour le retour :+1:

Je viens de tester et c’est vraiment sympa comme module, ca offre un peu plus de visibilité :slight_smile:

J’ai fais quelques modifs pour avoir la compatibilité IPv6 (pas sur le bind du module, ca c’est pas vraiment utile) sur les datas collectées

Si ca t’intéresse je fais une pull request ?

Très sympa comme module en tout cas :slight_smile:

coom

1 « J'aime »

Volontiers, avec plaisir ! :slightly_smiling_face: Merci beaucoup pour ton retour

Pull request envoyée.

Encore merci pour ton travail, c’est incroyable, j’ai découvert que j’avais pas mal de CVE lié à un playbook de MAJ auto qui .. ne fonctionnait plus :sweat_smile:

Encore chapeau !

coom

Merci à toi pour tous les ajouts et corrections (et ton retour) !
Je suis content si cette intégration améliore la visibilité (et permet de réduire les ‹ risques › )

:folded_hands:

2 « J'aime »

je viens de l’installer avec un pi4 pour le sflow et le résultat est juste impressionnant !!!
il me reste plus qu’à comprendre comment on corrige ces vulnérabilités…
y a un peu de boulot :sweat_smile:

Merci pour le feedback ! :+1:

De rien, je découvre mon réseau, depuis longtemps je cherchais une solution de monitoring, mais il manquait toujours quelque chose, et je n’avais rien de très efficace, là quelle claque !
et surtout sécurité…
Mais ça devrait pouvoir évoluer vers un monitoring réseau non ? bon déjà c’est géant…

« Mais ça devrait pouvoir évoluer vers un monitoring réseau non ? »
Qu’est-ce que tu entends par ‹ un monitoring reseau › ? A quelles fonctionnalités tu penses ?

Bonne question, avoir des volumétries échangées, indications de vitesses ou débits, et comme j’étais à court d’idées j’ai carrément posé la question à Gemini pour évoluer vers du monitoring réseau, voilà la réponse qui me semble très intéressante :

Edit : et en regardant mieux on dirait que pas mal de choses sont déjà présentes ! superbe outil !!!

1. La gestion des « Aliases » (Noms conviviaux)

C’est le premier point que nous avons rencontré.

  • La suggestion : Permettre de lier automatiquement les adresses IP aux noms d’entités déjà connus dans Home Assistant (via les device_tracker).
  • L’intérêt : Éviter que l’utilisateur n’ait des bulles avec des IP anonymes alors que HA connaît déjà l’appareil.

2. Métriques de Débit par Flux (Bandwidth per Flow)

Puisque sa sonde analyse déjà les paquets via NetFlow/sFlow, elle connaît la taille des données qui transitent.

  • La suggestion : Ajouter un attribut « Débit » ($ko/s$ ou $Mo/s$) sur les liens du Flow Graph.
  • L’intérêt : Visualiser instantanément quel appareil « pompe » la connexion (ex: ton PC OBS en plein stream ou une mise à jour Windows).

3. Analyse de la Latence Locale (RTT - Round Trip Time)

  • La suggestion : Mesurer le temps de réponse entre la sonde et les appareils qu’elle surveille.
  • L’intérêt : Identifier un switch qui sature ou un point d’accès Wi-Fi (comme ton TP-Link) qui commence à faiblir.
    *==> ce point me semble traité via les rename je pense…

4. Rapports de « Top Talkers » (Le Top 10)

  • La suggestion : Créer des entités de type « Capteur » (Sensor) qui listent les 5 appareils ayant consommé le plus de données sur les dernières 24h.
  • L’intérêt : Découvrir des consommations anormales la nuit (ex: une caméra qui envoie trop de données vers le cloud).

5. Intégration du Deep Packet Inspection (DPI) simplifié

L’auteur le fait déjà un peu (il détecte le protocole Telnet ou RDP), mais il pourrait aller plus loin.

  • La suggestion : Identifier des protocoles courants comme Netflix, YouTube, Torrent ou BitCoin Mining.
  • L’intérêt : Savoir quel type de trafic circule sans avoir à regarder les numéros de ports manuellement.

6. Mode « Apprentissage » (Baseline)

C’est la fonctionnalité « Pro » par excellence.

  • La suggestion : Un bouton « Apprendre mon réseau ». Pendant 24h, l’intégration enregistre qui parle à qui. Passé ce délai, toute nouvelle connexion entre deux appareils déclenche une notification.
  • L’intérêt : Détecter immédiatement un nouvel appareil pirate ou un objet connecté qui se met soudainement à parler à un serveur inhabituel.

Bonjour,

L’installation dans Home Assistant est clair pour moi.

Par contre, les prè-requis et besoin de l’intégration sont beaucoup moins claire) ( je pense nottameent a Configure the bind host, UDP port, internal network CIDRs, scanner settings, and optional API keys.)

Si j’ai bien compris, cette intégration a besoin de l’un au choix:

  • OpenWrt with softflowd
  • OPNsense / pfSense NetFlow or IPFIX export
  • UniFi gateway flow export
  • MikroTik Traffic Flow

Si c’est le cas, il faudrait le prèciser qq part en clair car c’est pas utilisable pour la majorité des infra qui n’ont pas forcement ces routeur/firewall.

Bonne journée

2 « J'aime »

Pour ma part je n’ai pas forcément tout compris, merci Gemini…, et pour que l’intégration reçoive mes flux j’ai ajouté un pi4 avec pisflow, puis mirrore le port de la box vers le port du pi4, et je n’ai rien spécifié dans les autres paramètres que tu mentionnes.
Mais effectivement il manque un peu de doc d’installation, sans Gemini je l’aurais jamais activé.

Merci pour le feedback, je suis entrain de finaliser l’ajout de fonctionalité que j’avais en tête. Dès que c’est fait, je vais me concentrer sur la doc d’installation.