Préambule
Avec la prise de conscience de tout un chacun d’être une cible potentielle de tous les escrocs 3.0 de la planète, le niveau de sécurisation de nos PC a relativement augmenté. Les éditeurs logiciel jouent aussi leur rôle dans cette amélioration. Grâce à une meilleur conception des défenses systèmes, aux pré-installations d’antivirus et de firewall ainsi qu’aux patchs correctifs délivrés automatiquement et du moment que l’on respecte les règles élémentaires en matière de sécurité, nos machines désormais moins faciles à infecter. Mais qu’en est-il des objets connectés qui sont présents sur notre réseau et sur lesquels nous ne pouvons pas intervenir pour en renforcer la sécurisation? Sans possibilité de pouvoir intervenir sur ces équipements comme nous pouvons le faire pour nos PC, que nous reste-t-il comme solution pour protéger son réseau des vulnérabilités de l’IOT?
Malheureusement, les prises de conscience ainsi que les différents outils et processus mis en place pour garantir la sécurisation de nos machines personnelles n’ont pas été pas été généralisés aux autres équipements. Fréquemment, faute d’appliquer des correctifs logiciels qui bien souvent n’existent même pas, les objets connectés sont des passoires. Pour les hackers l’IOT est le nouveau sésame qui ouvre grandes les portes des réseaux privés. Caméras, smart TV, enceintes connectées, pour n’en citer que quelques uns, se multiplient dans nos maisons. Une prolifération qui augmente le risque de voir son réseau domestique être victime d’une attaque ayant pour origine les nombreuses vulnérabilités présentes dans ces équipements.
Après avoir agit pour mieux sécuriser chacune de nos machines personnelles, il devient urgent de protéger son réseau des vulnérabilités de l’IOT. A cette fin, je préconise 2 mesures. Tout d’abord, l’isolation des objets connectés avec la création d’un réseau dédié à l’IOT. Ensuite, l’ajout d’un firewall réseau qui assurera l’étanchéité entre le LAN dédié à l’IOT et le reste du réseau domestique.
Les équipements nécessaires
Isoler son réseau IOT requiert la création de 2 réseaux physiquement séparés. Ces 2 réseaux auront chacun leurs propres équipements Wifi, câbles Ethernet et prises CPL. La question qui vient à l’esprit c’est pourquoi une séparation physique couteuse quand on pourrait séparer logiquement avec des VLAns? Ce que je peux répondre c’est qu’avec les routeurs “prosumers” il est très difficile de router de façon sure et isolée des vlans de bout en bout via du wifi. Certes certains équipements professionnels Cisco assurent brillamment cette fonctionnalité mais…sans les performances Wifi de dingue des matériels prosumers.
La séparation des réseaux est une défense nécessaire mais puisque chacun est connecté à internet, elle n’est pas suffisante. C’est là qu’entre en action le firewall réseau. Son rôle sera de contrôler les connexions réseau vers et depuis internet tout autant que les quelques rares flux que l’on aura autorisés à circuler entre les 2 réseaux.
Aujourd’hui les firewalls jouent bien d’autres rôles que celui du portier qui laisse entrer ou sortir les flux, ils agrègent au sein d’une application unifiée différentes fonctions de sécurisation du réseau (IDS, IPS, Ad blocker, filtrage web, antivirus réseau,…). Ces solutions intégrées de protection du réseau se regroupent sous le nom d’UTM, Unified Threat Management. Après quelques essais d’UTM sur des machines virtuelles, j’ai arrêté mon choix sur la solution pfSense. Essentiellement parce qu’en sus de sa gratuité, pfSense est un des seuls à pouvoir gérer des clients OpenVPN. Ce qui est indispensable si l’on veut “tuneller” son flux internet jusque chez un fournisseur de service d’anonymisation.
Comme je voulais que ma solution UTM joue le rôle de routeur, de serveur DHCP, de client Open VPN et assure différents autres services de protection (IDS, blocker, …), il me fallait trouver l’équipement hardware adéquat. C’est à dire une machine quad core (les instruction AES-NI étant un plus), avec au moins 8Go de RAM et disposant de 4 ports réseau Gigabit. Le choix fut assez rapide, seul le constructeur Protectli offre à la vente ce genre de petite merveille de poche.
Le détail des équipements
Pour le réseau IOT, dit réseau bleu :
- 1 routeur Asus RT-AC86U en mode routeur
- 1 routeur Asus RT-AC86U en mode répéteur mesh
Pour le réseau HOME, dit réseau rouge :
- 1 routeur Asus RT-AC86U en mode routeur
- 1 routeur Asus RT-AC68U en mode répéteur mesh
Pour l’Appliance firewall pfSense :
- Un mini PC Protectli Firewall Appliance (Quad Core Celeron,AES-Ni,8Gb Ram,120Go, 4xIntel Ports Gigabit)
La vue réseau
Comme le montre cette vue, j’ai scindé mon réseau domestique en 2 réseaux séparés.
Un réseau rouge (1.1.0.0/16 – SSID WIFI-HOME) sur lequel on trouve les équipements contenant les données sensibles à protéger (PC, NAS, Smartphone). La tête de réseau est constitué par un routeur Wifi configuré en mode AP et connecté au port LAN du firewall. Ce routeur est relayé par un nœud mesh wifi. Situé dans une autre pièce le nœud mesh sert de point d’accès à un PC. Un NAS est attaché à l’AP principale. Ce NAS est accessible par toutes les machines du réseau rouge. Il sert de backup et de serveur multimédia.
Un réseau bleu (1.2.0.0/16 – SSID WIFI-IOT) sur lequel on trouve les équipements potentiellement vulnérables et qui ne contiennent aucune données sensibles (TV, Caméra, Enceinte connectée, …). La tête de ce réseau est constitué par un routeur Wifi configuré en mode AP et connecté au port OPT1 du firewall. Ce routeur est relayé par un nœud mesh wifi. Situé dans une autre pièce le nœud mesh sert de point d’accès à un ensemble d’équipements multimédia. Une règle firewall autorise les équipements du réseau bleu à pouvoir établir une connexion sur le port du serveur multimédia qui est localisé dans le réseau rouge.
Le wifi de la box ADSL a été laissé actif. C’est un troisième réseau (192.168.1.0/24) qui sert de wifi guest. Les invités disposent ainsi d’une possibilité d’accès internet sans pour autant accéder aux 2 réseaux privés.
Vous aurez pu noter l’existence d’une exception à l’isolation des équipements IOT. En effet un imprimante est présente sur le réseau rouge alors qu’idéalement elle devrait être sur le réseau bleu. La raison c’est que les capacités de connectivité de cette imprimante sont limitées. Elle est incapable de fonctionner correctement avec des clients situés dans une autre zone réseau que la sienne. J’ai donc dû me résoudre à intégrer cette imprimante au sein du réseau rouge mais tout en ajoutant des règles firewall strictes qui bloquent toute connexion vers le LAN dont elle serait à l’origine.
Installation de pfSense
Le firewall pfSense est à installer sur le mini pc protectli. Si un OS était installé sur le mini pc il sera remplacé par celui de pfSense . L’installeur est à télécharger ici https://www.pfsense.org/download/ .
Le plus simple consiste à réaliser l’installation depuis une clé USB en connectant le mini pc à un écran et à un clavier le temps de réaliser l’installation initiale. Dès que l’interface wan aura été configurée via la console, le firewall sera alors accessible depuis le réseau. La suite de la configuration pourra se faire en remote en utilisant l’interface Web.
De très bon tutoriaux existent sur le sujet, comme ceux disponibles sur le site Protectli https://protectli.com/kb/how-to-install-pfsense-ce-2-4-on-the-vault-2/
Configuration des routeurs
Isoler son réseau IOT demande 2 ensembles de routeurs. Chaque ensemble comprend un routeur Wifi configuré en mode Access Point et un ou plusieurs routeurs relais configurés en mode mesh. Chacun des deux routeurs principaux est à relier physiquement via un câble dans un des ports du firewall pfSense. Les routeurs relais sont à disposer dans votre maison au gré de vos besoins. Ces routeurs mesh servent à la fois de répéteurs et de points d’accès aux équipements dépourvus de Wifi. On configurera le premier ensemble pour émettre le Wifi sur le SSID WIFI-HOME, ce sera votre réseau domestique. Le second pour émettre sur le SSID WIFI-IOT, ce sera votre réseau IOT.
Connexions du mini-pc firewall
Pour le firewall, vous aurez pris le soin d’acheter un mini pc disposant d’au moins 3 ports réseau. En général les ports des appliances firewall sont dénommés WAN, LAN, OPT1, OPT2, etc..
Le port WAN du firewall est à connecter à un port RJ 45 de votre box internet.
Le port LAN du firewall est à connecter au port WAN du routeur Wifi principal HOME.
Le port OPT1 du firewall est à connecter au port WAN du routeur Wifi principal IOT.
Création des interfaces du firewall pfSense
Pour les 3 connexions physiques, vous devez définir dans pfSense 3 interfaces correspondantes . Les interfaces se configurent et se crées depuis le menu Interfaces. Par défaut pfSense aura déjà créé les interfaces Wan et Lan, il vous reste néanmoins à les configurer selon vos besoins.
L’interface WAN : Cette interface doit avoir une adresse IP conforme au réseau de votre box internet, par exemple 192.168.1.30 si l’adresse de votre box est 192.168.1.1. Dans la page configuration pfsense, vous pouvez choisir de donner une adresse statique ou demander une adresse dynamique qui sera allouée par le DHCP de votre box internet.
General Configuration
– Enable : ✓
– Description : WAN
– IP V4 : DHCP
– IP V6 : None
– Mac Address : laisser la valeur par défaut
– MTU : vide
– MSS : vide
– Speed and Duplex : Default
DHCP Client Configuration
– laisser vide
Reserved Networks
– Block private networks : ✓
– Block bogons networks : ✓
L’interface LAN :
General Configuration
– Enable : ✓
– Description : LAN
– IP V4 : Static IPv4
– IP V6 : None
– Mac Address : laisser la valeur par défaut
– MTU : vide
– MSS : vide
– Speed and Duplex : Default
Static IPv4 Configuration
– IPv4 Address : 10.1.1.100 / 16
Reserved Networks
– Block private networks : ✓
– Block bogons networks : ✓
L’interface IOTLAN (OPT1):
Dans pfSense les interfaces logiques qui correspondent aux ports physiques, WAN, LAN, OPT1, OPT2 … ont pour identifiants respectifs igb0, igb1, igb2, igb3…
L’interface logique igb1 qui correspond au port OPT1 n’existe pas par défaut, vous devez la créer.
Pour cela :
– ouvrez le menu Interface/Interfaces Assignments
– dans la liste Available network ports sélectionnez igb1
– puis cliquez sur + ADD
L’interface OPT1 est alors créée. Pour la configurer cliquez sur le lien OPT1 qui vient d’apparaitre dans la page, puis saisissez :
General Configuration
– Enable : ✓
– Description : IOTLAN
– IP V4 : Static IPv4
– IP V6 : None
– Mac Address : laisser la valeur par défaut
– MTU : vide
– MSS : vide
– Speed and Duplex : Default
Static IPv4 Configuration
– IPv4 Address : 10.2.1.100 / 16
Reserved Networks
– Block private networks : ✓
– Block bogons networks : ✓
Règles firewall pour l’accès internet
Les règles par défaut du firewall n’autorisent que les communications au sein d’un même réseau. Ainsi par défaut , les machines et équipements du réseau LAN peuvent communiquer entre eux, tout comme ceux du réseau IOTLAN peuvent le faire entre-eux. Par contre les communications entre les 2 réseaux sont bloquées, ainsi que les accès vers le réseau WAN, c’est à dire vers le réseau internet puisque si vous avez suivi ce tutorial votre port WAN est connecté à votre box internet.
Autoriser sur LAN les connexions sortantes à destination d’internet :
Afin que les équipements et les machines du réseau LAN puissent accéder à internet vous devez ajouter la règle firewall qui autorise les flux à sortir de LAN vers WAN.
Pour ce faire :
Ouvrez la page Firewall/Rules
Cliquez sur LAN
Dans la page Firewall/Rules/LAN qui s’affiche:
Cliquez sur ADD (flèche vers le bas)
Dans la page Firewall/Rules/Edit qui s’affiche, saisissez :
Edit Firewall Rule :
- Action : Pass
- Disabled : vide
- Interface : LAN
- Adresse Family : IPv4
- Protocol : Any
Source :
Sélectionnez la valeur LAN net
Destination
laissez les valeurs par défaut (any)
Cliquez sur le bouton Display Advanced, dans la section qui s’affiche :
– Pour le paramètre Gateway sélectionnez Interface WAN
– laissez les valeurs par défaut dans le reste de la section.
Terminez la création de la règle par Save
Au final vous devez obtenir une nouvelle règle assez similaire à celle -ci :
Important : Bien évidemment la règle que nous venons de créer n’autorise que les flux vers internet dont la connexion a été initiée depuis le réseau LAN. Les flux qui seraient initiés depuis internet à destination du LAN restent heureusement totalement bloqués. Dans le cas où vous voudriez autoriser un flux internet entrant à accéder à une machine de votre réseau, il vous faudrait créer une règle firewall de type Redirection de port (Port Forward)
Autoriser sur IOTLAN les connexions sortantes à destination d’internet :
Ouvrez la page Firewall/Rules
Cliquez sur IOTLAN
Dans la page Firewall/Rules/LAN qui s’affiche:
Cliquez sur ADD (flèche vers le bas)
Dans la page Firewall/Rules/Edit qui s’affiche, saisissez :
Edit Firewall Rule :
- Action : Pass
- Disabled : vide
- Interface : IOTLAN
- Adresse Family : IPv4
- Protocol : Any
Source :
Sélectionnez la valeur IOTLAN net
Destination
laissez les valeurs par défaut (any)
Cliquez sur le bouton Display Advanced, dans la section qui s’affiche :
– Pour le paramètre Gateway sélectionnez Interface WAN
– laissez les valeurs par défaut dans le reste de la section.
Terminez la création de la règle par Save
Au final vous devez obtenir une nouvelle règle assez similaire à celle -ci :
Configuration du service DHCP
Dernière étape, pour que vos 2 réseaux soient pleinement fonctionnels vous devez configurer le serveur DHCP qui alimentera en adresse IP les machines et équipements de vos 2 réseaux internes.
Configuration du DHCP pour le réseau LAN:
Cliquez dans le menu Services/DHCP Server
Sélectionner la première interface LAN.
Dans la section Général Options,
contentez vous de cochez la case Enable DHCP server on LAN interface
puis d’indiquer un range, comme par exemple :
– From : 10.1.3.100
– To : 10.1.3.254
Laissez vide les options de toutes les sections suivantes.
Pour faciliter la gestion des vos équipements, je vous conseille de déclarer des adresses statiques et en particulier celles de vos routeurs .
Pour cela :
Dans la section Save DHCP Static Mappings for this Interface,
cliquez sur +Add
puis dans le formulaire qui s’ouvre saisissez :
- Mac Adress : l’adresse mac de votre équipement
- IP Adress : L’adresse IP choisie pour votre équipement
- Hostname : un nom de host pour votre équipement
- Description : la description texte de votre équipement
- Ignorez les autres champs
- terminez votre saisie en cliquant le bouton Save
Remarque : certains équipement, tels que les routeurs, disposent de plusieurs adresses mac, une pour le réseau LAN, une pour le Wifi 5Ghz et une autre pour le réseau Wifi 2Ghz. Dans un tel cas il vous faudra déclarer dans la table de mapping statique jusqu’à 3 fois la même adresse IP, une fois pour chacune des 3 adresses mac.
Configuration du DHCP pour le réseau IOTLAN:
Cliquez dans le menu Services/DHCP Server et sélectionner la seconde interface IOTLAN, puis répétez la même opération que précédemment en ajustant simplement le range d’adresses IP à la plage 1.2.0.0/16 utilisée sur ce réseau.
Pour finir
Si vous avez plus ou moins suivi les étapes précédentes pour isoler votre réseau IOT, vos 2 réseaux devraient être pleinement fonctionnels et protégés avec la configuration par défaut du firewall pfSense. Vous pouvez dores et déjà connecter vos PC, smartphones, NAS, tablettes sur le réseau LAN et les objets connectés (smart tv, enceintes, caméra, imprimantes…) sur le réseau IOT. Si vos équipements sont paramétrés pour obtenir automatiquement une adresse IP, le serveur DHCP du firewall pfSense devrait leur en fournir une en conformité de la plage d’adresse du réseau où ils se trouvent.
A noter qu’avec cette configuration initiale, les serveurs DNS utilisés seront ceux de votre fournisseur d’accès internet. En effet, l’interface WAN est paramétrée pour demander une adresse IP auprès le DHCP de votre box internet ainsi que l’adresse IP du serveur DNS à utiliser . Ce serveur DNS se trouve être la box elle-même, box qui en définitive ne fait que transférer les requêtes DNS vers les DNS de votre FAI. Dans un autre article je vous expliquerai comment configurer les 2 réseaux pour que chacun utilise un DNS différent, mais aussi comment utiliser pfSense pour qu’il endosse lui-même le rôle de serveur DNS.