docs: security section + fix MAX_DEVICES doc
- Add "Sécurité, vie privée & aspects légaux" section covering: - What the SDR dongle actually captures (RF broadcast) - What SNEK exposes by default (nothing for unregistered devices) - Theoretical interception attack scenario - Legal aspects (Article 226-15, RGPD) - Best practices to mitigate - Fix MAX_DEVICES doc: 5 is the hard limit (JS frontend hardcoded) Removed misleading claim that config change to 10 works Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -16,9 +16,10 @@ Une stack complète pour émuler un réseau Sigfox depuis n'importe quel cluster
|
|||||||
6. [Réception de messages (uplink)](#réception-de-messages-uplink)
|
6. [Réception de messages (uplink)](#réception-de-messages-uplink)
|
||||||
7. [Décodage des payloads](#décodage-des-payloads)
|
7. [Décodage des payloads](#décodage-des-payloads)
|
||||||
8. [Callbacks HTTP (intégration avec autres services)](#callbacks-http-intégration-avec-autres-services)
|
8. [Callbacks HTTP (intégration avec autres services)](#callbacks-http-intégration-avec-autres-services)
|
||||||
9. [Downlink (messages serveur → device)](#downlink-messages-serveur--device)
|
9. [Sécurité, vie privée & aspects légaux](#sécurité-vie-privée--aspects-légaux) ⚠️
|
||||||
10. [Persistance & backups](#persistance--backups)
|
10. [Downlink (messages serveur → device)](#downlink-messages-serveur--device)
|
||||||
11. [Dépannage](#dépannage)
|
11. [Persistance & backups](#persistance--backups)
|
||||||
|
12. [Dépannage](#dépannage)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -157,9 +158,9 @@ Tu le trouves :
|
|||||||
- Ou dans le backend Sigfox → Device details
|
- Ou dans le backend Sigfox → Device details
|
||||||
- Ou sur les Sens'it via l'app mobile
|
- Ou sur les Sens'it via l'app mobile
|
||||||
|
|
||||||
Dans SNEK → onglet **Configuration** → Devices → ajoute jusqu'à 5 devices (10 avec la modif `MAX_DEVICES` du fichier `/root/Snek/snek.conf`).
|
Dans SNEK → onglet **Configuration** → Devices → ajoute jusqu'à **5 devices** (limite hardcodée dans le frontend JS de SNEK 2.3.4). Pour plus, lancer plusieurs instances de SNEK.
|
||||||
|
|
||||||
**Important** : SNEK décode les messages **seulement des devices enregistrés**. Un message d'un ID inconnu apparaît dans les logs mais n'est pas persisté.
|
**Important** : SNEK ne décode que les messages des devices enregistrés dont l'auth passe. Un message d'un ID non enregistré est simplement logué comme `Receiving message with bad authentication (not public key)` sans détail sur l'ID ni le payload.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -262,6 +263,59 @@ Variables disponibles :
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Sécurité, vie privée & aspects légaux
|
||||||
|
|
||||||
|
⚠️ **À lire attentivement avant tout déploiement en production ou test avancé.**
|
||||||
|
|
||||||
|
### Ce que capte physiquement le dongle
|
||||||
|
|
||||||
|
Le dongle SDR est un **récepteur RF broadcast** sur 868 MHz (RC1). Il capte **tous les messages Sigfox** dans sa portée physique :
|
||||||
|
- ~1-5 km en zone urbaine dense
|
||||||
|
- ~10-40 km en zone dégagée avec bonne antenne
|
||||||
|
|
||||||
|
Cela inclut les émissions **de tes voisins, entreprises locales, capteurs de ville, alarmes, trackers…** — pas seulement les tiens.
|
||||||
|
|
||||||
|
### Ce que SNEK expose
|
||||||
|
|
||||||
|
Par défaut (auth activée, device non enregistré) :
|
||||||
|
- Message logué comme `bad authentication`
|
||||||
|
- **Aucun** ID, **aucun** payload, **aucun** RSSI accessible
|
||||||
|
- Bonne protection par défaut
|
||||||
|
|
||||||
|
Attaque théoriquement possible :
|
||||||
|
1. Enregistrer l'ID d'un device tiers dans SNEK (ID trouvé sur l'étiquette, dans une doc leakée, en OSINT)
|
||||||
|
2. Désactiver globalement l'authentification (option UI)
|
||||||
|
3. Recevoir les payloads bruts en clair du device cible tant qu'il est à portée radio
|
||||||
|
|
||||||
|
**Limites de l'attaque** :
|
||||||
|
- Nécessite la proximité physique (pas d'attaque via internet)
|
||||||
|
- Le format des 12 bytes de payload est propriétaire à chaque vendor — inutile sans reverse engineering
|
||||||
|
- Certains devices utilisent le chiffrement AES-128 optionnel de Sigfox → payload chiffré
|
||||||
|
|
||||||
|
### Aspect légal (France)
|
||||||
|
|
||||||
|
- ✅ **Réception passive du spectre RF public** : légal
|
||||||
|
- ✅ **Analyse de tes propres devices** : légal
|
||||||
|
- ✅ **Recherche sécurité en labo perso** : légal
|
||||||
|
- ❌ **Interception intentionnelle de communications tierces** : **délit pénal**
|
||||||
|
- Article 226-15 du Code Pénal → 1 an prison + 45 000 € d'amende
|
||||||
|
- ❌ **Collecte / redistribution / monétisation** des données captées : illégal (RGPD si données identifiantes, concurrence déloyale si usage commercial)
|
||||||
|
|
||||||
|
### Bonnes pratiques
|
||||||
|
|
||||||
|
- **Ne configure QUE tes propres devices** dans SNEK
|
||||||
|
- **Laisse l'auth activée** (paramètre par défaut)
|
||||||
|
- **Baisse le log level à WARNING** pour ne pas garder de trace des messages non-authentifiés :
|
||||||
|
```json
|
||||||
|
"root": {"level": "WARNING", ...}
|
||||||
|
```
|
||||||
|
- **Purge régulièrement** `/root/Snek/snek.log`
|
||||||
|
- Pour tes propres devices sensibles → utilise l'**AES-128 optionnel** de Sigfox
|
||||||
|
|
||||||
|
Sigfox est conçu pour l'**authenticité** (HMAC empêche l'usurpation), pas la **confidentialité par défaut**. C'est une limitation connue du protocole, à prendre en compte pour tout use case impliquant des données sensibles.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Downlink (messages serveur → device)
|
## Downlink (messages serveur → device)
|
||||||
|
|
||||||
Sigfox permet 4 downlinks max par device par jour. Envoi depuis SNEK :
|
Sigfox permet 4 downlinks max par device par jour. Envoi depuis SNEK :
|
||||||
|
|||||||
Reference in New Issue
Block a user