Sécurité des réseaux WIFI

De Lea Linux
Révision datée du 27 décembre 2006 à 00:48 par Remer (discussion | contributions) (Correction tag <p> en </p> (amélioration mise en page))
Aller à la navigation Aller à la recherche

Comment utiliser une connection wifi "en ville", et comment protéger son installation contre un squattage de connection.



Le wifi, quelques généralités :

On parle de wifi pour désigner des réseaux fonctionnant sans fil. Au lieu d'utiliser des cables, on utilise des ondes radio pour transmettre des informations entre deux machines. Les débits théoriques sont aujourd'hui de 54Mbits/seconde, soit à peu près 7 Mo/s. Ceci dit, ce débit n'est que rarement atteint. Pour ce qui est de la distance, tout dépend du matériau dans lequel le bâtiment est construit. Dans les faits, on peut capter à plusieurs dizaines de mètres avec de bonnes cartes wifi.


Prérequis :

Avant de commencer, il faut que vous ayez une carte wifi en état de fonctionnement. Attention au moment de l'achat d'une carte wifi à bien vérifier que le modèle soit compatible avec votre pingouin favori, sur le site de votre distribution, ou en recherchant via google/linux d'éventuelles (positives...) références à ce modèle.

Vous devez aussi avoir installé un certain nombre d'outils importants, pour pouvoir exploiter le réseau wifi. Un paquet les regroupe presque tous : wireless-tools. Je vous renvoie à la documentation de votre distribution pour savoir comment installer un paquet...

Disclaimer

Certaines actions décrites dans cette conférence [cet article] peuvent devenir illégales si elles sont testées sans l'autorisation des gestionnaires des réseaux utilisés. Cette conférence a un but purement éducatif, et l'auteur ne saurait en aucun cas être tenu responsable d'actes illégaux commis par un éventuel lecteur/auditeur mal-intentionné.

Connaître son ennemi

On connait la chanson, l'utilisateur lambda est toujours persuadé que la sécurité de son système informatique est secondaire, quel serait en effet l'intéret de pirater la machine de madame Michu ? En fait, il n'y a pas UN, mais toute une série d'intérets à avoir le contrôle d'une machine ou d'un réseau.

  • Pouvoir surfer sur internet gratuitement. Cela présente des risques pour celui qui paie effectivement la connection. En effet, si quelqu'un télécharge, avec votre connection, des contenus interdits (pédophiles, nazis, ou autres), ou même plus simplement télécharge sur les réseaux P2P, vous serez le seul responsable au regard de la loi, d'autant plus que les routeurs matériels ne conservent pour la plupart pas les logs. Un individu mal-intentionné peut ainsi vous faire porter le chapeau en toute impunité.
  • Une fois qu'un réseau est pénétré par le wifi, il est aisé pour un pirate de modifier les paramètres de connection à l'internet de ce réseau. Il pourra ainsi fragiliser votre firewall en ouvrant des ports ou en installant des programmes qui pourront lui servir ensuite par internet. La technique est simple : on fragilise un réseau tout entier en l'attaquant là où il est le plus faible. Vous pourrez dès lors servir de relai à des attaques (vous servirez de bouclier au hacker) grâce à des mini-proxys installés via le wifi, qui ne loguent rien, et qui permettent eux aussi d'utiliser votre connection pour divers agissements, sans même que vous vous en rendiez compte. Le risque est d'autant plus grand que des machines de votre réseau sont des machines tournant sous MS Windows.
  • Il faut savoir que de nombreuses informations circulent en clair sur votre réseau. Ainsi, testez par exemple le logiciel dsniff sur votre réseau local, et vous vous apercevrez que vos mots de passe et identifiants de messagerie circulent en clair, idem pour les outils de messagerie instantanée (aim, icq etc). En clair, votre voisin pourrait s'il le souhaite lire votre courrier, vos conversations, connaître les sites que vous consultez, ou encore usurper votre identité. Le plus grave étant dans certains cas les informations banquaires...

Je pense que vous l'aurez compris, il est nécessaire de vous protéger contre ce type d'agissement, et cet article a pour but de vous faire comprendre les problèmes qui se posent, et de vous aider à y remédier dans la mesure où cela est possible !


Trouver des réseaux wifi

Votre première préoccupation en temps que "wardriver" sera de trouver des accès wifi. Pour cela, ouvrez un terminal, et loguez-vous en root.

Tapez maintenant la commande iwlist eth0 scanning, où vous devez remplacer eth0 par l'interface wifi de votre ordinateur, si vous captez des réseaux wifi, vous devriez obtenir cela :

[root@maston maston28]# iwlist eth2 scanning
eth2      Scan completed :
          Cell 01 - Address: 00:0F:B5:98:64:56
                    ESSID:"bob"
                    Protocol:IEEE 802.11b
                    Mode:Ad-Hoc
                    Channel:10
                    Encryption key:on
                    Bit Rate:11Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11
                    Extra: RSSI: -39  dBm
                    Extra: Last beacon: 2ms ago
	
	Cell 02 - Address: 02:09:98:7B:64:19
                    ESSID:"alice"
                    Protocol:IEEE 802.11b
                    Mode:master
                    Channel:10
                    Encryption key:off
                    Bit Rate:11Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11
                    Extra: RSSI: -42  dBm
                    Extra: Last beacon: 19ms ago
		    
	Cell 03 - Address: 02:07:98:7B:64:1B
                    ESSID:"tom"
		    Protocol:IEEE 802.11b
                    Mode:master
                    Channel:10
                    Encryption key:on
                    Bit Rate:11Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11
                    Extra: RSSI: -22  dBm
                    Extra: Last beacon: 47ms ago
		    

Quelles sont les informations importantes ici ?

  • ESSID : c'est le nom du réseau que vous captez.
  • Protocol : c'est le protocole utilisé, le plus rapide étant le 802.11g, à privilégier si vous avez le choix.
  • Encryption key : soit on, soit off, vous indique si la connection est protégée ou pas.

Les autres lignes sont secondaires, et moins utiles à ce stade.

Se connecter sur un hotspot non sécurisé

Partie wifi

Nous allons faire connaissance de la commande iwconfig. Supposons que vous vouliez vous connecter au réseau "alice" que nous avons découvert tout à l'heure. Il vous faut taper :

iwconfig eth0 essid "alice"

iwconfig eth0 mode managed

iwconfig eth0 channel 10

Lancez maintenant la commande iwconfig sans argument, et vous devriez avoir quelque chose ressemblant à ceci :

<div class="code">
[root@icebar maston28]# iwconfig

eth0      IEEE 802.11b  ESSID:"alice"
          Mode:Managed  Channel:10  Cell: 02:09:00:EC:64:56 
          Bit Rate=11Mb/s   Tx-Power=20 dBm
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:100/100  Signal level:-38 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:198  Invalid misc:0   Missed beacon:58
</div>
Si vous avez sur la première ligne le mot unassociated, c'est que vous n'êtes pas relié au hotspot, essayez-en un autre, ou verifiez que vous êtes bien à portée de celui-ci...

Partie réseau

C'est la que les choses ont tendance à se corser.

Premier cas de figure, le meilleur le hotspot fait tourner un serveur DHCP. Dans ce cas, il suffit de taper la commande dhclient eth0, et vous recevrez automatiquement l'ip de la passerelle, une ip, et des DNS (vérifiez quand même dans le fichier /etc/resolv.conf qu'il y a bien des DNS, sinon, rajoutez deux serveur DNS à accès non restreint.

Deuxième cas de figure, dhclient ne donne rien, il faut tenter de trouver des ips par vous même. Tentez tout d'abord les grands classiques :

  • 192.168.0.7 (7 parce que c'est assez grand, et rarement pris dans un petit réseau local), et 192.168.0.1 comme passerelle.
  • 192.168.1.7 et 192.168.1.1 comme passerelle.
  • 192.168.10.7 et 192.168.10.1 comme passerelle.

Pour modifier votre adresse sur le réseau : ifconfig eth0 IPQUIVABIEN up
Pour modifier votre passerelle : route add default gw IPDELAPASSERELLE eth0

Il s'agit en fait ici d'essayer de rentrer sur un réseau sans DHCP en utilisant une IP très souvent utilisée sur un réseau local à IPs statique.

Une autre piste pour trouver cette ip statique, est de comparer le nom du réseau (ESSID) avec les réglages par défaut de nombreux matériels wifi (routeurs etc.). Par exemple, si l'ESSID est Thomson, l'ip de la passerelle et l'ip à prendre seront très simple à connaître, en utilisant google pour trouver ces informations. Mais l'exploitation des paramètres par défaut fera l'objet d'une étude plus approfondie plus tard.

Se connecter sur un hotspot sécurisé

Je pars ici du principe que vous connaissez la clé d'accès WEP

Peu de choses changent, il vous faut :

  • Configurer votre ESSID : iwconfig eth0 essid tom
  • Configurer le mode : iwconfig eth0 mode Managed
  • Configurer la clé WEP : iwconfig eth0 key restricted VOTRECLEWEP
  • Configurer le canal : iwconfig eth0 channel 10

Coté réseau, c'est la même chose.

Stratégies d'attaque, systèmes de défense

Paramètres par défaut

Ceci est peut-être la sécurité la plus simple à mettre en place, mais c'est aussi la plus élémentaire : si cela n'est pas fait, inutile de continuer l'article, rien ne pourra être fait pour sécuriser votre réseau.

Bon nombre de routeurs wifi que tout le monde peut acheter dans le commerce ont des configurations clé en main, permettant à l'utilisateur lambda de n'avoir qu'à brancher son routeur pour avoir une connection internet qui innonde tout son appartement, et par la même, sa rue.

Attaque type

Examinons le danger de ce type de configurations avec un cas pratique : Imaginons que nous ayons sniffé un réseau dont le ssid est : "Prestige". Après de courtes recherches avec google, nous découvrons qu'il s'agit sûrement d'un routeur "Prestige 650", que l'ip de la passerelle a toutes les chances d'être 192.168.1.1, que le login d'administrateur est "admin", et que le mot de passe administrateur est "1234". A la suite de quoi, nous pourrons rentrer sur ce routeur, pour en modifier la configuration. On commencera par taper l'adresse IP du routeur dans un navigateur pour voir si cela marche, puis nous essaierons ssh, telnet, et si rien de tout cela ne marche, un nmap nous donnera les ports ouverts, et on pourra réessayer les protocoles précédemment cités sur ces ports. À coup sur, cela fonctionnera.

Si le ssid est quelconque, ce n'est pas pour autant terminé. Chaque carte réseau a une adresse unique, matérielle, appelée adresse MAC. À partir de l'adresse MAC, on peut très facilement retrouvé le constructeur, en allant sur le site internet du consortium gérant ces adresses MAC, l'ieee. Ainsi, je sais que notre ami bob, dont la carte réseau a pour adresse MAC 00:0F:B5:98:64:56 possède un routeur netgear. Je pourrais alors sans problème faire comme tout à l'heure pour retrouver les configurations par défaut.

Parade 1 : modifier les paramètres

La parade est évidemment de modifier ces paramètres par défaut. Je vous conseille de choisir un mot de passe difficile à casser. Évitez votre date de naissance, votre nom de famille, un nom commun etc. En effet, ce type de mot de passe est facile à "casser". Soit avec une attaque de type "Brute Force" (en essayant beaucoup de combinaisons), soit avec une attaque de type "dictionnaire". Ainsi, les mots de passe comme "soleil", "vacances", "wifi" ou autres seront cassés en quelques secondes à peine. Un bon mot de passe mêlera des lettres et des chiffres, des majuscules et des minuscules, et fera au moins 8 caractères.

Ces recommandations sur le mot de passe valent pour tous vos mots de passe...

Parade 2 : ne pas diffuser le SSID

Dans les outils de configuration des routeurs wifi, vous devriez pouvoir activer ou non la diffusion du SSID, en décochant la case "Enable SSID Broadcast" ou en cochant la case "Disable SSID Broadcast" selon les machines. Cela a l'avantage de ne plus diffuser à tout vent le nom de votre réseau. Cependant, cela compliquera peut-être la configuration d'un nouvel ordinateur (surtout Windows) sur le réseau. Ajoutons à cela que quelqu'un de zèlé pourra toujours trouver ce SSID, en laissant sa carte à l'écoute et en sachant analyser les logs.



Hotspot non sécurisés

Danger n°1 : n'importe qui peut se connecter

Comme nous l'avons vu, il est très facile de se connecter sur un hotspot non chiffré, je vous renvoie pour cela au début de l'article. C'est pourquoi il est très important d'utiliser les méthodes de chiffrage du wifi, le WEP, ou le WPA.

Danger n°2 : interception des paquets

Nous avons vu en introduction que si le réseau n'est pas sécurisé, votre voisin ou un wardriver de passage pourrait vous espionner. Non seulement il peut le faire, mais il peut en plus modifier à la volée des données qui transitent par le réseau : c'est l'arpspoofing.

Expliquons ce que c'est. Quand une machine sur un réseau veut envoyer un paquet IP, il lui faut connaître l'adresse MAC du destinataire, et envoie donc une requette ARP en broadcast à tout le réseau, pour connaître l'adresse MAC correspondant à une adresse IP. La bonne machine répond, et la machine émettrice va garder en cache cette adresse MAC, et par la suite envoyer directement à cette adresse MAC. La technique de l'arpspoofing est en fait de corrompre ce cache en envoyant une autre réponse. Ainsi, tous les paquets destinés à une machine seront interceptés par le pirate. Il n'aura ensuite plus qu'à re-router le flux vers la machine initialement destinataire. Le pirate peut donc analyser, enregistrer, ou modifier tous les paquets qui transitent entre ces deux machines, qui peuvent par exemple être la passerelle internet du réseau et un client quelconque.

Le danger est le suivant : imaginons qu'un utilisateur veuille accéder à son compte en banque depuis la machine A. Le chemin normal serait de passer par la passerelle (GW) pour accéder à internet. Cependant, les paquets passent par la machine (P) du pirate, qui pourra corrompre le certificat d'authentification (et de chiffrage) du site de la banque, et donc pouvoir lire les identifiants de l'utilisateur en clair. En résumé, il pourra comme il le souhaite accéder au compte en banque de notre malheureux utilisateur.

<img src="arpspoof.png" border=0 alt="arpspoof">

Et beaucoup d'autres

L'exemple de l'arpspoofing n'est qu'un exemple parmis d'autre de ce qu'on peut faire sur un réseau non protégé. On aurait pu citer au même titre le DNSspoofing, ainsi que de nombreuses autres méthodes courement employées.


Mise en place du WEP

Le chiffrage WEP est complètement dépassé. Il suffit d'une heure pour récupérer la clé et se connecter à un réseau en activité. Utilisez plutôt WPA si votre matériel le supporte, et ce avec un mot de passe très compliqué.

Mettre en place un chiffrage wep n'est pas très difficile. Si vous possédez un routeur wifi, allez dans l'interface d'administration (cela dépend de votre matériel, lisez la documentation fournie, la plupart du temps elle est accessible par le web ou encore par ssh ou telnet). Vous pourrez alors choisir une clé WEP (référez vous là encore à la documentation fournie). Coté client (sur les ordinateurs du réseau), vous devez taper : iwconfig eth0 key LA_CLE_AU_FORMAT_HEXA, ou si la carte le supporte iwconfig eth0 key s:LA_CLE_AU_FORMAT_TEXTE. De cette manière, vos données seront chiffr"ées. La clé hexa doit faire soit 10 soit 26 caractères héxadécimaux.

Si vous ne possédez pas de routeur wifi et qu'une de vos machine fait ce travail, contentez-vous de taper la commande ci-dessus sur toutes les machines pour sécuriser votre réseau.

On peut mettre le réseau chiffré avec le WEP en mode restricted ou en mode open. kézako ?

  • en mode open, la machine accepte les connections chiffrées ainsi que les connections en clair.
  • en mode restricted, la machine n'accepte que les connections chiffrées.

Il est conseillé d'utiliser le mode restricted pour plus de sécurité !

Mise en place du WPA

La mise en place du WPA mérite un article à lui tout seul, qui lui sera peut-être consacré un jour !

Précisons cependant qu'il existe deux types de chiffrage via WPA :

  • WPA-PSK (WPA-PreSharedKey) : tous les utilisateurs du réseau connaissent la clé et l'utilisent pour se connecter. C'est donc une sorte de WEP, mais beaucoup plus sécurisé. Comme aucun système informatique n'est jamais parfait, il est aujourd'hui possible de casser une clé WPA-PSK avec une attaque de type "dictionnaire", si la clé n'a pas été choisie de manière suffisament aléatoire, ou si elle n'est pas assez longue, attention donc.
  • WPA Enterprise : pour se connecter, il faut s'authentifier auprès d'un serveur radius. Cette technique est assez lourde à mettre en place, mais couplée avec le WPA permet un niveau de sécurité poussé.

Voici comment se déroule une demande de connection au réseau local :

<img src="radius.png" border=0 alt="radius">
  • 1: Le nouvel ordinateur saisit son login et son mot de passe qui sont transmis à l'interface NAS RADIUS
  • 2: Envoi des identifiants au serveur RADIUS, physiquement séparé de l'interface NAS, et lié de manière sécurisée (rj45 par ex).
  • 3 et 4: vérification des informations dans la base de donnée (MySQL par ex)
  • 5: Confirmation de l'autorisation de connection, débloquage de l'ip par le NAS
  • 6: Connection

Autre parade : le filtrage par adresse MAC

Comme nous l'avons vu tout à l'heure, chaque carte réseau possède une adresse, une signature matérielle unique : l'adresse MAC. Une méthode de sécurisation est de n'autoriser l'accès au hotspot qu'aux machines du réseau. Cependant, pour une personne motivée, il est très simple de prendre une fausse adresse MAC, c'est ce qu'on appelle le "spoofing" d'adresse MAC. Le pirate va commencer par écouter le réseau avec une carte acceptant le mode "monitor", et va ainsi connaître les IPs des machines conversant avec le routeur, et leur adresse MAC. Il prendra donc à son tour cette adresse MAC, et pourra pénétrer le réseau sans problèmes.

Cette sécurité n'est donc qu'une sécurité supplémentaire, mais cassable avec de la volonté.


Attaque de clé WEP

Danger

Si un chiffrage WEP vaut mieux que pas de chiffrage du tout, ce n'est pas pour autant la meilleure des solutions, même si c'est la plus simple à mettre en place. En effet, toute clé WEP peut être cassée avec de la patience...

Avec une carte réseau acceptant le mode "monitor", vous pouvez devenir un capteur de paquets wifi totalement passif, et accumuler des mégas et des mégas de logs de connection, contenant, chiffrés ou pas, mots de passe, identifiants, etc. Il existe de nombreux petits logiciels qui permettent d'exploiter ces logs (airsnort, wepcrack, et d'autres) pour retrouver la clé WEP, et ainsi pénétrer le réseau sans difficultés. Dans la pratique, il faut rassembler plusieurs mégas-octets de logs (d'une à plusieurs dizaines selon la taille de la clé), et le "cassage" de la clé peut être plus ou moins long (de 10 minutes à plusieurs heures) selon que la clé fait 64 ou 128 bits, la masse de logs, et la puissance de l'ordinateur. Cependant, ce n'est qu'une question de temps, et pour un voisin qui voudrait utiliser votre connection, ce n'est pas un problème.

Un exemple : avec 450Mos de logs, il faut moins de 10 secondes pour casser une clé WEP de 64bits. 450Mos, c'est à peine quelques heures de p2p pour quelqu'un qui télécharge beaucoup, autant dire que cela va très vite !

Et si l'attaquant fait de l'injection de paquets pour générer artificiellement du traffic, il ne lui faudra plus que 10 minutes pour accumuler les logs nécessaires et casser la clé WEP !

Parade

Si votre matériel est compatible, passez au chiffrage WPA comme indiqué plus haut.

Autres méthodes de sécurisation

Firewall

Il est primordial de mettre un firewall entre votre réseau wifi et le reste de votre réseau local, afin d'endiguer dans la mesure du possible une intrusion. Reportez vous à la documentation sur iptables pour le configurer.

IDS: Intrusion Detection System

Il peut en effet se réveler utile d'installer un IDS sur la machine qui fait routeur si ce n'est pas un routeur matériel simple : Snort et d'autres vous seront d'une grande utilité dans votre chasse au pirate.

Honey pots

Ou pots de miel en français. Que sont-ils ? Ce sont des pièges : on met une machine sur le réseau, ou un service qui est susceptible d'intéresser un pirate potentiel, mais qui en utilisation normale du réseau ne devrait jamais servir. Ainsi, si un firewall détecte du mouvement sur cette machine, ou que le service piège est sollicité, on peut être sur que le réseau est en train de subir une attaque. On peut alors automatiser le tout pour recevoir un mail d'avertissement par exemple.


Et ensuite ?

Malheureusement, comme vous l'avez vu, aucun réseau n'est jamais sécurisé à 100%, et quelqu'un d'un peu coriace pourra toujours aller un petit peu plus loin dans votre réseau. Cependant, appliquer un niveau de sécurité suffisant est important, et découragera le tout-venant. Où s'arrêter ? Je pense qu'une sécurisation raisonnable est une connection WPA-PSK avec eventuellement filtrage d'adresse MAC, et ne pas diffuser le SSID.

N'oubliez pas de consulter régulièrement les logs des accès et n'oubliez pas de changer régulièrement vos clé de chiffrage, ainsi qu'éventuellement votre essid.

En conclusion, je serais tenté de dire, dans la mesure du possible, préférez le RJ45 (réseaux cablés) au wifi. Ce sera plus rapide, moins compliqué à configurer, et surtout beaucoup plus sécurisé. Le wifi, c'est bien pour surfer sur le net avec son ordinateur portable depuis un transat dans le jardin, soit, mais pas forcément pour tout un réseau...