Suite à cette Vidéo et cette Publication portant de lourdes accusations sur Windows 10 de la société Microsoft, j'ai décidé d'en vérifier moi-même le contenu. Pour faire cette expertise, j'ai donc mis en place une infrastructure technique dont voici le schéma ci-dessous.
J'en suis désolé pour les jeunes s'essayant à l'informatique, je suis de la vieille école et je fais la majorité de mes commandes sur la console, que l'on lance par le menu "Applications" -> "Accessoires" -> "Terminal". Rajout du mur pare -feu En premier lieu, pour assurer une parfaite sécurité, j'installe le mur pare-feu shorewall par la commande : sudo apt-get install shorewall Ensuite on passe aux fichiers de configuration On définit les zones à l'aide du fichier /etc/shorewall/zones net ipv4 # local ipv4 # fw firewall # Nous créons ainsi 3 zones :
Ensuite nous associons les zones aux cartes réseau par le fichier /etc/shorewall/interfaces dans lequel nous tapons : net wlan0 local eth0 Ensuite nous définissons les règles générales par le fichier /etc/shorewall/policy dans lequel nous tapons : local net ACCEPT local $FW DROP $FW all ACCEPT net all DROP Dans ce fichier nous voyons que nous autorisons l'ordinateur fixe ($FW all ACCEPT) à accéder partout. Nous interdisons l'accès à tout ce qui vient de l'extérieur (net all DROP). Nous autorisons tout ce qui est sur le réseau local d'aller sur l'Internet (local net ACCEPT). Et enfin nous interdisons à tout ce qui est sur le réseau local d'accèder à la passerelle (local $FW DROP). Ensuite, nous masquons les demandes de Windows 10. C'est à dire que le net verra non pas un paquet venant de Windows 10 mais de la passerelle elle-même. Pour cela nous créons le fichier /etc/shorewall/masq dans lequel nous tapons : wlan0 eth0 et dans le fichier /etc/shorewall/shorewall.conf, nous autorisons le transfert en recherchant FORWARDING et en mettant sa valeur à On et aussi à programmer son redémarrage automatique lorsqu'on relance l'ordinateur : IP_FORWARDING=On STARTUP_ENABLED=Yes Ensuite ouvrez le fichier /etc/default/shorewall et fixez à 1 la valeur startup=1 Il nous reste plus alors qu'à lancer notre mur parfe-feu par la commande sudo /etc/init.d/shorewall start Rajout du serveur DHCP Maintenant, nous allons installer un serveur DHCP (distributeur de numéro IP aux ordinateurs du réseau local). Pour cela nous lançons la commande sudo apt-get install isc-dhcp-server Puis bien sur, nous paramètrons le fichier de configuration /etc/dhcp/dhcpd.conf ddns-update-style none; option domain-name-servers 192.168.0.1; option domain-name "local.lan"; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.120; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } Nous voyons que nous allons distribuer des numéro IP aux ordinateurs venant d'être mis sous tension dans une plage comprise entre 192.168.0.100 jusqu'à 192.168.120. Ce qui veut dire que le premier ordinateur qui va faire la demande aura comme numéro IP 192.168.0.100, le suivant 192.168.0.101, et ainsi de suite. Nous voyons aussi qu'un ordinateur ne peut utiliser ce numéro IP que 7200 secondes, et passé ce délai, il refait sa demande pour retrouver son numéro IP. Enfin nous voyons que le serveur va libérer le numéro IP si l'ordinateur l'utilisant ne s'en sert plus au-delà de 600 secondes (on suppose que l'ordinateur est éteint). Et pour définir sur quelle interface notre serveur DHCP doit founir des numéros IP, dans le fichier /etc/default/isc-dhcp-server, nous désignons l'interface INTERFACES="eth0" Voilà notre serveur DHCP est installé, il ne reste plus qu'à le relancer pour prendre en compte notre configuration sudo /etc/init.d/isc-dhcp-server restart Rajout du tranfert de requètes DNS Le DNS est l'outil qui permet de convertir une URL (exemple : microsoft.com) en son numéro IP correspondant. Cela permet d'utiliser des URL plutot que des numéros IP. Le but de ce petit service est de relayer les demandes de numéros IP en fonction des URL de Windows 10. Nous avons presque fini. Il nous reste une dernière étape, consiste à transférer les requètes DNS, pour se faire nous installons le paquet dnsmasq : sudo apt-get install dnsmasq C'est une opération masquerade, c'est à dire que là aussi, le net verra la demande comme émanant de la passerelle et non de Windows 10. Nous modifions le fichier de configuration /etc/dnsmasq en retirant les # (commentaires) devant : domain-needed bogus-priv Il nous reste plus qu'à relancer ce service sudo /etc/init.d/dnsmasq restart Rajout du snifer Enfin, il ne nous reste plus qu'à installer le snifer : sudo apt-get install tcp-dump Voilà, notre passerelle est terminée (ouf !). Désormais votre passerelle est totalement configurée, et tout les services redémarrent automatiquement à la prochaine mise sous tension. Commandes pour intercepter les paquets provenant de Windows 10 Limite légale Attention, tcpdump fait parti de ces outils d'espionnage que vous n'avez PAS le droit d'utiliser pour intercepter des paquets venant d'autrui, sauf si vous êtes un expert mandaté par un juge. Toutefois, nous sommes ici dans la légalité, car vous analysez vos PROPRES paquets. Utilisation La commande pour intercepter les paquets peut s'écrire très simplement : sudo tcpdump -i eth0 Pour arrêter cette commande tapez Ctrl+C. -i signifie l'interface réseau à snifer. eth0 est l'interface de notre passerelle qui est connectée à l'ordinateur portable faisant tourner Windows 10. Observez bien le flux. Une ligne commence toujours par l'heure, suivie d'un code d'identification, puis le numéro IP de la source suivi du numéro IP de la destination. De plus, il n'y a pas que Windows qui envoie et reçoit, il y a aussi les logiciels eux-mêmes. Aussi, nous allons installer des filtres pour ne voir que les informations qui nous intéressent. Le premier filtre concerne la source. En effet, seuls les paquets IP émis par Windows 10 nous intéressent. Toutefois, dans cet énorme flux, nous pouvons repérer le numero IP local de l'ordinateur portable faisant tourner Windows 10. Sachant que le numéro IP de notre passerelle est 192.168.0.1 l'autre numéro IP de la forme 192.168.0.xxx (il est fort possible que ce soit 192.168.0.100) est forcément celui de l'ordinateur portable. Repérez-le et notez-le. Aussi, nous allons considérablement diminuer le flux en utilisant la commande : sudo tcpdump -i eth0 src 192.168.0.xxx src signifie la source, et 192.168.0.xxx est le numéro IP que vous avez repéré dans le flux précédent. Arrêtez le flux en tapant Ctrl+C. Désormais le flux est déjà nettement moins important, étant donné que nous n'interceptons plus les paquets de retour. Si nous lisons ce nouveau flux, nous constatons que Windows 10 lance beaucoup de requêtes sur le réseau local. Toutefois ces échanges locaux ne nous intéressent pas, donc nous allons rajouter un deuxième filtre pour ne plus intercepter les paquets locaux et ainsi alléger encore notre flux. sudo tcpdump -i eth0 src 192.168.0.xxx and not dst 192.168.0 Nous constatons que nous avons tapé le deuxième filtre "not dst 192.168.0" dont le "not" veut dire qu'on ne veut pas le paquet, "dst" veut dire la destination du paquet, et "192.168.0" est le numéro IP partiel pour définir toutes les requètes locales. Arrêtez le flux par Ctrl+C Maintenant vous avez compris le principe de fonctionnement. Si vous voulez rajouter un autre filtre sous la forme d'une URL, n'oubliez pas de mettre le mot clé host devant. Exemple : sudo tcpdump src 192.168.0.xxx and not dst 192.168.0 and not dst host microsoft.com Et pour que vous puissiez lire tout ce flux à tête reposée dans un fichier, il suffit de rajouter la commande Unix : sudo tcpdump -i eth0 src 192.168.0.xxx and not dst 192.168.0 > monFichierContenantLeFlux Utilisation de Webmin Si vous êtes un inconditionnel des interfaces, vous pouvez utiliser webmin. Editez le fichier suivant avec gedit sudo gedit /etc/apt/sources.list Puis copiez coller la ligne suivante à la fin de ce fichier deb http://download.webmin.com/download/repository sarge contrib Enregistrez et quittez Tapez la ligne suivante pour enregistrer la clé de sécurité wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - Mettez à jour la base sudo apt-get update Et enfin installez webmin lui-même sudo apt-get install webmin Dès lors vous pouvez lancer votre navigateur et ouvrir webmin par https://localhost:10000 |