Accueil / Articles PiApplications. / Sécurité informatique.

Communications réseau et sécurité.

Cet article s'adresse aux personnes qui ne sont pas des "spécialistes" de l'informatique mais qui utilisent régulièrement une appareil connecté à l'Internet et qui souhaitent un peu mieux comprendre les enjeux. Le risque en matière de sécurité informatique est assez différent selon que l'on est un particulier ou une organisation comme une entreprise par exemple. Cet article sera plutôt orienté vers les particuliers car les organisations possèdent (ou devraient acquérir) les moyens indispensable à leur protection. Néanmoins, pour comprendre ces risques, il nous semble indispensable d'assimiler quelques notions techniques liées aux communications sur un ré&seau IP comme Internet.

Y a-t-il concrètement du danger ?

De plus en plus d'émissions et d'articles de magasines traitent du "risque informatique" en s'appuyant sr le sempiternel exemple du paiement en ligne. Ces sujets sont généralement survolés et ne donnent que peu de clefs pour comprendre et encore moins pour se protéger. Leur principal objectif est de créer le "buz" sur fond d'angoisse afin d'attirer les téléspectateurs ou les lecteurs. C'est en quelque sorte, l'équivalent moderne de la "diabolisation" du moyen-âge qui vise à inciter les "brebis" (ou peut-être désormais les "pigeons") à rester attentifs aux discours du "prêcheur". Finalement, il subsiste de ces émissions et lectures une vague inquiétude et le bon sens amène les non initiés à penser que si cela était si grave, ils en auraient de nombreux exemples autour d'eux.

Cette dernière assertion est fausse car la plupart des particuliers ne tiennent pas à faire savoir qu'ils se sont fait "rouler dans la farine". Pour les entreprises et plus particulièrement les banques, la protection de ce secret relève tout simplement de leur survie. Pourtant la réalité est là : une attaque informatique a lieu toutes les deux minutes sur l'Internet et une fraction non négligeable d'entre elles aboutissent. A titre d'expérience personnelle, le serveur qui vous délivre cet article est analysé toutes les 10 minutes en moyenne par des robots (Les attaques les plus nombreuses viennent de Chine et de Russie) qui recherchent des failles connues pour en prendre le contrôle. La plupart d'entre vous pensent ne pas être ciblé car ne présentant pas d'intérêt. Cela doit être nuancé surtout lorsque l'on sait combien se négocie un vrai numéro de carte bleue dans les milieux "underground". De plus en plus d'attaques visent à voler des données pour faire ensuite "chanter" leur propriétaire soit en raison du contenu de ses données, soit pour les leur restituer (ransomware). Enfin nous vous donnons au bas de cet article la liste des tentatives de connexions à notre serveur faites de façon illicites. Quelques unes sont des "explorations" sur des protocoles multimédia et ne présentent pas un réel risque. D'autres (les plus nombreuses) sont des attaques en règle avec des centaines voire des milliers de connexions tentées...

Vu d'Internet, un serveur ou votre appareil (machine de bureau, tablette, smartphone, etc.) n'est pas identifiable en tant que tel. Le protocole, c'est à dire le langage de communication des machines, a été conçu pour qu'elles soient toutes sur un pied d'égalité. Ce protocole repose sur une "adresse" qui est identique dans son principe à votre adresse postale. De la même façon que vous ne pouvez pas empêcher un quidam d'approcher de votre porte, dès que votre machine est reliée au réseau et sous-tension, il est possible à tout utilisateur du réseau de la joindre.

Un peu de théorie...

L'adressage.

Pour communiquer avec une machine ou un appareil, il faut pouvoir le localiser sur le réseau : c'est le rôle de l'adressage. Un réseau comme Internet fonctionne sur ce principe. Cela signifie que toute machine dispose à un instant donné d'une ou plusieurs adresses IP. Une adresse IP est équivalente à l'adresse postale de votre domicile : elle est unique et permet de le localiser de manière non ambiguë. Concrètement, une adresse IP est un "entier" assez grand pour qu'il soit possible d'identifier de manière unique chaque machine sur l'Internet. IPv6 a augmenté la taille de ce nombre par rapport à IPv4 au moment ou l'Asie et son milliard "et quelques poussières" d'utilisateurs a commencé à accéder au réseau. Ainsi, toute machine ou tout appareil connecté à Internet dispose d'au moins un identifiant unique : son adresse IP.

Un nombre aussi grand n'est pas facile à retenir aussi, les concepteurs du réseau lui ont substitué la notion "de nom d'hôte" et "d'alias". Un "nom d'hôte" (hostname) est un nom de machine plus ou moins parlant associé à un "nom de domaine". Sur ce site, le nom de domaine est piapplications.eu. Si sur notre "domaine" nous décidons de nommer les machines en fonction d'une province de France (Provence par exemple), le "nom d'hôte" de cette machine est provence.piapplications.eu. Un "alias" est simplement un synonyme de ce nom d'hôte et il peut y avoir de nombreux alias qui correspondent à un même nom d'hôte. La plupart des commandes à la disposition de l'utilisateur acceptent indifféremment une adresse (nombre entier dans un format "pointé" de type X.Y.Z.T), un nom d'hôte ou un alias. Comment dès lors le "réseau" identifie-t-il un nom d'hôte ou un alias à une adresse IP ? C'est à ce niveau qu'interviennent les serveur de noms ou DNS. Lorsque la commande n'identifie pas directement une adresse IP, elle soumet le nom d'hôte ou l'alias à un serveur de noms qui la traduit (s'il le peut) en adresse IP. C'est pourquoi il est si important de déclarer les serveurs de noms au système d'exploitation.

Pour illustrer ceci nous allons vous donner quelques commandes que l'on trouve sur de nombreux systèmes (avec toutefois des options différentes).

La commande ping permet de vérifier le fonctionnement d'au moins un des serveurs de noms déclarés :

C:\WINDOWS\system32>ping www.ietf.org

Envoi d'une requête 'ping' sur www.ietf.org.cdn.cloudflare-dnssec.net [104.20.0.85] avec 32 octets de données :
Réponse de 104.20.0.85 : octets=32 temps=144 ms TTL=60
Réponse de 104.20.0.85 : octets=32 temps=171 ms TTL=60
Réponse de 104.20.0.85 : octets=32 temps=148 ms TTL=60
Réponse de 104.20.0.85 : octets=32 temps=141 ms TTL=60

Statistiques Ping pour 104.20.0.85:
    Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 141ms, Maximum = 171ms, Moyenne = 151ms

Dans cet exemple, vous remarquez que l'alias a été transformé en nom d'hôte www.ietf.org.cdn.cloudflare-dnssec.net et que l'adresse IP qui lui correspond a été résolue : 104.20.0.85. Nous n'irons pas plus loin dans la description des serveurs de noms si ce n'est pour dire qu'il s'agit d'un système hiérarchisé. Chaque nom entre deux "points" correspond à une branche de cette hiérarchie. Lorsque les serveurs DNS sur une branche donnée ne peuvent pas résoudre un nom d'hôte, ils remontent au niveau supérieur et ainsi de suite jusqu'à la racine.

Le canal de communication.

Connaître l'adresse d'une machine ne suffit pas pour communiquer avec elle. Il faut s'adresser à un guichet et demander à ce qu'il ouvre un canal de communication. Ce guichet est appelé un "port". Les ports sont numérotés de 1 à 65 535. Il y a donc beaucoup de guichets possibles ! En fait, derrière chacun d'eux s'exécute un logiciel spécifique qui répond lui-même à un protocole donné. C'est pourquoi la plupart des applications disposent de ports "pré-définis" par défaut. Par exemple, les serveurs Web utilisent le protocole HTTP et ont pour port par défaut le port 80.

Pour ouvrir un canal de communication, il faut connaître l'adresse IP (le nom d'hôte ou l'alias) de la machine distante ainsi que le port sur lequel on souhaite établir cette communication. Le logiciel qui demande la communication est appelé le "client", celui qui attend les demandes de connexion est appelé le "serveur". Il est important de noter que le "serveur" est en permanence à "l'écoute" de son port.

Dans la plupart des cas, l'ouverture d'un canal de communication s'effectue en deux temps :

  1. La demande de connexion : cela se fait en contactant le programme "serveur" sur un port d'écoute donné.
  2. L'ouverture du canal de communication : le "serveur" ouvre un nouveau port et dirige la communication sur ce dernier. En effet, tant qu'il ne l'aura pas fait, il ne pourra pas libérer le port d'écoute et ne pourra donc plus être contactée par aucun autre "client". Imaginez un serveur Web qui ne pourrez travailler qu'avec un seul navigateur à la fois...

Le schéma qui suit résume le fonctionnement de base quasi universel d'attribution d'un canal de communication :

Pour connaître la liste des ports d'écoute de votre machine, la plupart des système d'exploitation dispose de la commande netstat. En voici un exemple :

C:\WINDOWS\system32>netstat -a | find "LISTENING"
  TCP    0.0.0.0:80             Provence:0             LISTENING
  TCP    0.0.0.0:135            Provence:0             LISTENING
  TCP    0.0.0.0:443            Provence:0             LISTENING
  TCP    0.0.0.0:445            Provence:0             LISTENING
  TCP    0.0.0.0:515            Provence:0             LISTENING
  TCP    0.0.0.0:4679           Provence:0             LISTENING
  TCP    0.0.0.0:5432           Provence:0             LISTENING
  TCP    0.0.0.0:6000           Provence:0             LISTENING
  TCP    0.0.0.0:49408          Provence:0             LISTENING
  TCP    0.0.0.0:49409          Provence:0             LISTENING
  TCP    0.0.0.0:49410          Provence:0             LISTENING
  TCP    0.0.0.0:49419          Provence:0             LISTENING
  TCP    0.0.0.0:49441          Provence:0             LISTENING
  TCP    0.0.0.0:49472          Provence:0             LISTENING
  TCP    127.0.0.1:3939         Provence:0             LISTENING
  TCP    127.0.0.1:27015        Provence:0             LISTENING
  TCP    127.0.0.1:31749        Provence:0             LISTENING
  TCP    127.0.0.1:59243        Provence:0             LISTENING
  TCP    127.127.127.127:3939   Provence:0             LISTENING
  TCP    192.168.58.1:139       Provence:0             LISTENING
  TCP    192.168.208.1:139      Provence:0             LISTENING
  TCP    [::]:80                Provence:0             LISTENING
  TCP    [::]:135               Provence:0             LISTENING
  TCP    [::]:443               Provence:0             LISTENING
  TCP    [::]:445               Provence:0             LISTENING
  TCP    [::]:515               Provence:0             LISTENING
  TCP    [::]:5432              Provence:0             LISTENING
  TCP    [::]:49408             Provence:0             LISTENING
  TCP    [::]:49409             Provence:0             LISTENING
  TCP    [::]:49410             Provence:0             LISTENING
  TCP    [::]:49419             Provence:0             LISTENING
  TCP    [::]:49441             Provence:0             LISTENING
  TCP    [::]:49472             Provence:0             LISTENING

Il est généralement commode de lier (via un pipe) cette commande à une commande d'extraction de texte. Ici (Windows), nous avons utilisé la commande find. Nombre d'entre vous risque d'être assez surpris par ce que fait leur machine...

Pour simplifier la compréhension, on appelle "programme serveur" le logiciel qui accepte la communication et "programme client" celui qui est à l'origine de la demande de connexion.

Où est le risque ?

Le risque est principalement représenté par les failles de sécurité propres au système d'exploitation et au logiciel qui exploite un canal de communication donné. Il est donc situé principalement du côté des ports d'écoute mais pas exclusivement.

Le risque lié aux ports d'écoute.

Grâce à la hiérarchie des serveurs de noms (DNS), il est assez aisé de connaître la totalité des machines connectées à un instant donné au réseau. De toute façon, si votre machine offre des "services" comme ceux d'un serveur Web, elle doit publier son adresse voire être la plus connue possible.

Comme nous l'avons vu, connaître une adresse ne suffit pas si l'on ne s'adresse pas au bon "port" or il peut y en avoir beaucoup (65 535). C'est à ce niveau qu'interviennent les robots d'attaque. Ces robots sont des logiciels qui vont faire subir à votre machine une série de tests visant à découvrir ses faiblesses par le biais du réseau. Pour cela, ils commencent généralement par identifier les ports d'écoute de votre machine. Très puissants, ils peuvent attaquer des milliers de machines simultanément et tester rapidement les 65 535 ports possibles. En fonction de la bande passante disponible cela prend de quelques milli-secondes à quelques secondes par machine. Une fois la cartographie des ports connue, ces robots ont une idée du rôle et de l'intérêt présenté par votre machine. Cet "intérêt" dépend essentiellement de l'objectif du "pirate". Il est donc essentiel que vous ayez un inventaire précis des données à protéger.

La deuxième série de tests visent généralement à identifier le système d'exploitation de la machine (Linux, MacOS, Windows, Android, iOS, etc.). En effet, chaque système d'exploitation a des failles connues est d'autres qui restent à publier mais que souvent les "pirates" aguerris ont déjà découvertes. A ce stade, en fonction de l'intérêt présenté par votre machine et de la "résistance" affichée aux tests, le pirate décide soit de personnaliser l'attaque, soit de l'abandonner. S'il poursuit, il cherchera à déterminer le logiciel qui gère les communications. S'il connaît ce logiciel il tentera d'en exploiter les failles et s'il ne le connaît pas, il tentera des attaques "type" de façon à évaluer sa résistance. A ce stade vous avez affaire à un pirate expérimenté et il vaudra mieux que vous ayez mis en place un vraie stratégie de sécurité adaptée aux données à protéger.

Le risque lié à la machine qui a demandé la connexion.

Avec la définition vue plus haut d'un programme "serveur" et d'un programme "client", toute machine peut être à la fois "client" et "serveur" ce qui est généralement le cas. Jusqu'à présent, nous avons étudié le risque côté "serveur". Il est temps de nous intéresser au risque côté "client".

De part la topologie même des réseaux, un "client" ne risque pas d'intrusion directe. En revanche, il est assez aisé de lui faire croire que la machine distante est celle à laquelle il souhaite se connecter puisqu'il ne la connaît qu'à travers son adresse et son numéro de port d'écoute. On appelle ce type d'attaque "l'homme du milieu". L'idée est de jouer sur le mécanisme des serveurs de nom pour associer à un nom d'hôte ou un alias une adresse IP falsifiée. Lorsque la substitution d'adresse fonctionne, le client se connecte à un serveur "pirate" dont le principal objectif est de pousser la communication pour obtenir un maximum d'informations. Plus le logiciel auquel on pense s'être connecté est répandu, plus grand est le risque. Dans un tel cas, la sécurité repose sur la vigilance du logiciel "client" qui doit détecter "au plus tôt" les anomalies sémantiques.

Il existe d'assez nombreuses variantes à l'homme du milieu. L'une des plus simples et des plus efficaces est de modifier le routage pour que les flux soient automatiquement dirigés vers un proxy transparent "pirate". Un proxy est une sorte de relais qui se substitue au "client" vu du "serveur" et inversement. Il est transparent lorsque le routage du réseau est modifié de telle sorte qu'il ne soit plus nécessaire de déclarer explicitement l'adresse et le port du proxy aux logiciels qui utilisent les communications (navigateur par exemple). Dans un tel schéma, le "pirate" n'intervient plus sur le flux : il laisse la communication se dérouler normalement mais intercepte la totalité du trafic de façon à l'analyser calmement par la suite. Le chiffrement systématique (HTTPS par exemple) est un bon moyen de se protéger de ces écoutes "indiscrètes" car dans ce cas le proxy se limite à faire le relais de paquets chiffrés. Leur stockage pour exploitation ne présente alors que peu d'intérêt.

Peut être verrez vous désormais le "cloud" d'un autre oeil surtout lorsque les machines de stockage sont localisées sur d'autres continents...

Les parades.

La problématique de la sécurité informatique peut se schématiser par un digramme de type "tranches de gruyère".

Dans ce diagramme, chaque entité logicielle peut être vue comme une "tranche de gruyère" possédant des trous. La tranche "réseau" vue de l'extérieur est la seule où l'on sait où sont placés les "trous" (les ports à l'écoute"). Pour les autres tranches, les "trous" sont constitués par les failles de sécurité. Comme ces dernières ne sont pas connues, ces trous sont placés aléatoirement sur la tranche. Le "pirate", va tenter de traverser successivement chaque couche en exploitant les failles de sécurité de chacune d'elle jusqu'à accéder aux données qui devraient lui être interdite.

Protection des logiciels "serveur".

Protéger un moyen informatique revient à intercaler des tranches supplémentaires afin de rendre beaucoup plus ardu l'action du "pirate". Idéalement, moins ces tranches supplémentaires sont connues et plus efficace sera la protection. Dans le cas d'un programme "serveur", deux "tranches" peuvent être facilement ajoutées. Ces deux tranches prennent la forme de deux logiciels :

  1. le pare-feu ;
  2. le bloqueur d'analyseurs de port.

Le pare-feu est un outil livré désormais avec tout système d'exploitation. Extrêmement efficace, son inconvénient réside dans les compétences requises pour sa mise en oeuvre : un pare-feu est complexe par nature. Il suppose à la fois une bonne connaissance du fonctionnement du réseau mais plus encore des applications et de leurs protocoles. Avec des systèmes comme Linux, il n'y a pas vraiment de surprise car tout est documenté et l'on arrive assez rapidement à identifier les protocoles mis en oeuvre et leurs ports d'accès. Avec Windows c'est l'inverse : un véritable cauchemard ! Le système est truffé de "services" qui se comportent comme autant de failles alors que l'utilisateur n'exploite généralement pas le tiers des protocoles mis en oeuvre. L'utilisation de logiciels visant à la "transparence" du ou des clouds (One Drive par exemple) aggravent singulièrement la situation. Le pompon est atteint avec Windows 10 qui impose de façon détournée un compte de connexion à son cloud, à son "store" et à d'autres services comme "Cortina". Comme bon nombre de ces services sont pilotés par un service générique (svchost.exe), il n'est même pas possible d'identifier le processus à arrêter sans prendre le risque d'effondrer le système dans son ensemble : un belle pagaille ! En gros, il vous est demandé de faire confiance à une machine qui ne vous dit rien de ce qu'elle fait sur le réseau et à des éditeurs qui à part vanter qualités de leur "offre commerciale" n'écrivent pas une ligne sur le fonctionnement de leurs produits ni sur leurs failles référencées. Vous me direz que l'on vend bien des voitures en vantant uniquement leur capacité d'interconnexion sans dire un mot de leur consommation... Alors pourquoi pas ?

Au niveau des particuliers, la plupart des produits anti-virus de type Internet Security (ça fait tout de site plus sérieux) proposent des pare-feux intégrés. Hélas, ils sont pour la plupart dans l'esprit Windows, c'est à dire assez tolérants au regard des protocoles Microsoft histoire de ne pas ennuyer bêtement l'utilisateur avec des problèmes qui ne le concernent pas (ou si peu)... Avec Bitdefender par exemple, essayez de bloquer un port ou une adresse sans l'associer à un logiciel. Vous ne le pourrez pas sans un sacré coup de main du support et après quelques séances de méditation Zen. L'ennui c'est que la plupart de ces produits commencent par désactiver l'excellent (pour une fois !) pare-feu Windows.

Ces produits proposent toutefois un outil très efficace : le bloqueur d'analyseurs de port. L'analyse de ports repose sur un certain nombre d'échanges de signaux entre les machines (on parle par exemple d'HALF-SYN). L'analyseur de port envoi une partie des signaux et observe comment la machine distante répond. Il n'a pas besoin d'aller jusqu'à la connexion pour connaître la présence et l'état du port d'écoute. Pour ces raisons on dit que ces analyses sont "furtives". Toutefois, ces procédures sont connues et donc détectables. C'est ce que font les bloqueurs d'analyseurs de ports. Or, si le pirate ne parvient pas à dresser la carte des ports ouverts, il ne pourra pas déterminer l'intérêt de la machine mais saura qu'elle dispose d'une protection. En général il ne s'appesantira pas et cherchera une proie plus facile (après tout il y a des centaines de millions d'autres machines). Le fameux Bitdefender cité supra dispose d'un bloqueur de ce type très efficace et il n'est pas le seul. Hélas, sur ce point, les pare-feu Windows ou Linux ne vous seront d'aucun secours.

Protection des logiciels "client".

Comme nous l'avons vu dans la présentation des risque, de part le mécanisme de connexion mis en oeuvre par le protocole IP, un programme "client" ne craint pas l'intrusion par attaque frontale. Tout au plus peut on le "brouiller" en saturant le moyen physique de transport. L'attaque la plus redoutable est l'une des variantes de "l'homme du milieu". Il est difficile d'ajouter une "tranche" externe aux tranches existantes comme vu dans le cas du "serveur" : il est nécessaire de consolider les tranches "applications communicantes" (server comme client).

La seule façon réellement efficace d'éviter la substitution d'adresse est le mécanisme de la double authentification. Voici un exemple de réalisation qui repose sur le chiffrement asymétrique d'une empreinte. Un chiffrement asymétrique repose généralement sur la théorie des grands nombres premiers. Grâce à elle, une information chiffrée avec une clef privée et la clef publique du destinataire peut être déchiffré par le destinataire en utilisant sa clef privée et la clef publique de l'expéditeur sachant que les clefs privées ne sont pas échangées et non sont connues que de leur seul propriétaire. Ainsi, le "client" chiffre une empreinte aléatoire avec la clef publique du "serveur" (certificat) et sa propre clef privée. Le "serveur" déchiffre cette empreinte avec sa clef privée et la clef publique (certificat) du "client". Il la chiffre à son tour avec sa clef privée et la clef publique (certificat) du "client". Le client la déchiffre l'empreinte reçue et vérifie qu'elle correspond à l'empreinte émise. Si ce n'est pas le cas, il interrompt la connexion. Sans une clef privée et un certificat délivré par la même autorité de certification, il est exclu à un pirate qui s'est substitué à l'adresse du "serveur" de pouvoir simuler ce mécanisme et son écoute ne lui apprendra rien.

Hélas, la mise en place d'une infrastructure de gestion de clefs (IGC ou PKI en anglais) augmente considérablement les coûts d'exploitation et les éditeurs de logiciel comme les fournisseurs de service (banques par exemple) qui le proposent sont rares. Heureusement, la substitution d'adresse nécessite des compétences, des accès et des ressources qui sont hors de portée des "pirates" bricolant au fond de leur garage. Le particulier ne craint pas vraiment ce type d'attaque car il n'offre généralement pas d'éléments actifs de réseaux susceptibles d'être piratés pour en modifier le routage (exception faite de sa "box" bien entendu). Ce n'est pas le cas des entreprises qui disposent généralement d'un routeur d'accès dont la prise de contrôle s'avérerait catastrophique face à ce type d'attaque (modification des tables de routage puis interdiction d'accès au routeur après modification de son mot de passe).

A noter que les compétences réseau pour configurer un routeur sont assez "pointues" et les entreprises ne disposent généralement pas du personnel qualifié à même d'identifier ce type d'attaque. Elles peuvent ainsi être écoutées à leur insu sur de longues périodes sans comprendre pourquoi leur part de marché diminuent au profit de la concurrence... Un audit des différentes machines montrera qu'il n'y a pas eu d'intrusion. En effet, l'espionage est à la fois externe aux machines et produit à un plus bas niveau : celui où l'on ne va jamais par manque de compétence.

La plupart des entreprises délèguent les configurations de leur réseau à des sociétés de service. Si l'entreprise gèrent des données sensibles, il est recommandé de faire effectuer par une autre société un audit de la configuration du réseau après chaque intervention et de prévoir une planification périodique de ces mêmes audits. Il nous est souvent arrivé de constater que les routeurs disposaient de mots de passe par défaut, que les éléments actifs de réseau étaient carrément ignorés des politiques de sécurité (lorsqu'elles existent !) et que par dessus le marché il n'existe souvent aucun plan à jour du réseau observé. Les éléments actifs sont des machines à part entière avec leur propre système d'exploitation (et donc leur propres failles). Dans le même ordre d'idée, nous avons vu une société qui payait cher la mise en place d'un filtrage HTTP mais qui autorisaient la création de VPN au-dessus de ce protocole. Via ce VPN il était alors possible d'accéder aux sites interdits avec en prime l'impossibilité de traçage des URL attaquées : un seul mot INCOHERENCE.

La généralisation de la propagation hertzienne des trames réseau (Bluetooth, WiFi, etc.) augmentent encore la vulnérabilité des réseaux et les risques liés à la spécificité de ce mode de transport doivent aussi être analysés.

Peut-on disposer d'un appareil sûr ?

Les machines de bureau.

La seule façon de répondre serait "ne le connectez pas". C'est sans doute un peu brutal et totalement irréaliste. Si vous êtes seulement utilisateur d'Internet via un navigateur il est possible de renforcer considérablement votre sécurité en "bloquant" tous les flux "entrants".

En effet, dans la mesure où vous n'allez sur Internet que via un navigateur, vous n'avez besoin d'aucun programme "serveur". Sur une machine de bureau nous vous recommandons d'utiliser une distribution Linux qui sont de très loin les moins vulnérables tout en étant gratuites. Tous les pare-feu disposent d'une règles de type "interdire tous les flux (ou accès) entrants". Activez cette règle et vérifiez son application au moyen de la commande netstat :

Aucune ligne de doit s'afficher.

Notez qu'avec cette règle, de très nombreuses fonctions comme le support à distance, ou les nombreux services multimédia offerts par votre machine ne fonctionneront plus. Elle ne doit donc être mise en oeuvre que si le seul usage de la machine est l'emploi d'un navigateur Internet. Dans tous les autres cas, il n'y a hélas pas à ce jour de réponse simple et un article montre que, de toute façon, le navigateur introduit ses propres risques qui peuvent annuler la protection offerte par cette règle.

Les appareils Android.

Notez que le système Android repose sur un noyau Linux (si, si) et qu'il existe une console qui permet d'exécuter les commandes. Là aussi, vous risquez d'être surpris par ce que fait votre smartphone ou votre tablette dans votre dos lorsque le WiFi est activé. Toutefois en matière de pare-feu sur Android, il y a une bonne et une mauvaise nouvelle. La bonne c'est que la commande de pare-feu iptables -tunlp est supportée, la mauvaise c'est que pour l'utiliser en mode de configuration du pare-feu il faut être root ce qui est interdit par Google (on peut outrepasser cette restriction mais c'est réellement à vos risques et périls, nous ne le recommandons pas).

Aussi vous trouverez des applications de pare-feu "non root" qui viseront à réaliser le blocage de certains flux mais toujours en lien avec une application donnée. Notez que pour savoir si une application est autorisée à accéder au réseau, il suffit de la chercher via l'application "Applications" et d'en vérifier les droits. Les pare-feu "non root" sont loin d'être aussi efficaces que le blocage systématique de tous les ports entrants. Il reste toujours la possibilité de couper le Wi-Fi mais là, vous ne communiquez plus du tout !. C'est malgré tout une excellente habitude à prendre lorsque vous mettez votre appareil en état de veille.

Sur un appareil Android, vous devez savoir exactement ce que fait une application qui dispose des droits "communications réseau" surtout si elle dispose du droit "accès Internet complet".

Liste des adresses IP ayant tentées des connexions non autorisées entre mai et juin 2016.

Voici une liste des adresses IP de machines ayant tentées des connexions non autorisées entre mai et juin 2016 sur notre serveur. Il est probable que, hormis pour les adresses non référencées par un DNS, les fournisseurs d'accès n'ont aucune idée du comportement de leurs "clients". Il est probable qu'ils s'en soucient de toute façon assez peu...

103-199-125-240.dynamic.JOYINTERNET.geocitysolutions.yahoo.com
106.57.172.192
106.57.36.186
static-108-43-229-85.lsanca.fios.ca.frontiernet.net
196.64.165.109.donpac.ru
broadband-109-173-123-17.nationalcablenetworks.ru
ppp109-252-171-63.pppoe.spdop.ru
ppp109-252-172-173.pppoe.spdop.ru
ppp109-252-173-167.pppoe.spdop.ru
ppp109-252-173-3.pppoe.spdop.ru
ppp109-252-193-164.pppoe.spdop.ru
ppp109-252-217-160.pppoe.spdop.ru
113.90.228.251
115.239.230.223
116.208.229.44
117.21.225.3
118.70.183.141
122.224.165.228
4.220.5.122.broad.hz.sd.dynamic.163data.com.cn
123.59.152.122
124.205.250.20
125.212.232.120
125.212.232.30
125.212.232.73
125.69.80.32
131-255-83-66.dynamic.logicpro.com.br
136.169.139.104
cp.ptr128.public.gmocloud.com
ppp158-255-169-203.pppoe.spdop.ru
ppp158-255-170-103.pppoe.spdop.ru
ppp158-255-178-7.pppoe.spdop.ru
163-172-196-250.rev.poneytelecom.eu
163-172-197-61.rev.poneytelecom.eu
163-172-31-63.rev.poneytelecom.eu
164.77.223.189
173.254.236.4.static.quadranet.com
176-112-235-43.dynamic-pppoe.itce.ru
176.113.120.127
176.113.120.143
176.124.124.13
b-internet.176.51.11.125.nsk.rt.ru
b-internet.176.51.15.138.nsk.rt.ru
b-internet.176.51.19.110.nsk.rt.ru
b-internet.176.51.26.70.nsk.rt.ru
b-internet.176.51.59.10.nsk.rt.ru
178.155.23.171
dnm.43.193.166.178.krasnet.ru
155-218-184-178.pppoe.irtel.ru
15-247-184-178.pppoe.irtel.ru
178.187.15.254
178.187.7.90
ppp178-210-31-221.tis-dialog.ru
ppp178-210-9-187.tis-dialog.ru
178.213.35.146
as47531-client-39-66.soskol.net
178.22.193.78
178.45.84.134
178.68.192.3
b3de717c.virtua.com.br
static-181-143-79-30.une.net.co
182.243.126.25
183.109.108.210
183.17.148.76
183.3.202.140
183.3.202.143
183.3.202.184
183.3.202.187
183.3.202.189
rrcs-184-74-96-116.nys.biz.rr.com
185.110.132.55
intodreams.ru
188.244.193.153
broadband-188-32-208-158.nationalcablenetworks.ru
static-190-181-29-213.acelerate.net
unassigned.psychz.net
193.201.225.27
195.9.130.162
195.9.168.70
195.9.168.74
195.9.168.78
198.71.54.97
2-62-173-38-bbc-dynamic.kuzbass.net
212.164.156.4
212.164.20.241
b-internet.212.164.232.131.nsk.rt.ru
212.164.42.223
b-internet.212.164.78.45.nsk.rt.ru
b-internet.212.164.84.93.nsk.rt.ru
212.164.99.6
adsl-212-220-1-189.nojabrsk.ru
212-34-122-106.domolink.elcom.ru
host-213-131-37-210-customer.wanex.net
ppp1-59.tis-dialog.ru
ppp26-162.tis-dialog.ru
isg-brass5-213-242-17-1.ivnet.ru
217-12-73-11.sibtele.com
218.200.15.228
128.101.165.220.broad.sm.yn.dynamic.163data.com.cn
221.203.142.133
221.203.142.134
221.203.142.136
222.189.40.171
rev-31-171-195-111.egs63.ru
31.184.194.109
31.184.198.210
broadband-37-110-12-166.nationalcablenetworks.ru
l37-193-44-73.novotelecom.ru
broadband-37.204-19-76.nationalcablenetworks.ru
37.27.65.90
37.49.225.33
43.231.253.112
ppp46-138-101-207.pppoe.spdop.ru
ppp46-138-102-165.pppoe.spdop.ru
ppp46-138-40-248.pppoe.spdop.ru
ppp46-138-53-135.pppoe.spdop.ru
ppp46-138-57-85.pppoe.spdop.ru
ppp46-138-61-237.pppoe.spdop.ru
net218-218.perm.ertelecom.ru
IPoE-46.173.188.59.itech.ru
46.252.124.71
5x164x70x136.dynamic.spb.ertelecom.ru
broadband-5-228-45-184.nationalcablenetworks.ru
c-50-182-33-249.hsd1.nj.comcast.net
58.221.42.117
60.217.233.184
62.183.22.161.modem-pool.kuban.ru
62.192.37.218
c-73-205-96-213.hsd1.fl.comcast.net
77.107.185.210
broadband-77-37-179-44.nationalcablenetworks.ru
78-108-97-46.czela.net
users-78-111-44-68.telinea.com
PPPoE-78-29-115-137.san.ru
ppp78-36-6-101.pppoe.murmansk.dslavangard.ru
ppp78-36-7-176.pppoe.murmansk.dslavangard.ru
ppp79-139-135-206.pppoe.spdop.ru
ppp79-139-137-190.pppoe.spdop.ru
ppp79-139-142-30.pppoe.spdop.ru
ppp79-139-147-140.pppoe.spdop.ru
ppp79-139-148-154.pppoe.spdop.ru
ppp79-139-150-255.pppoe.spdop.ru
ppp79-139-152-73.pppoe.spdop.ru
ppp79-139-180-238.pppoe.spdop.ru
ppp79-139-182-96.pppoe.spdop.ru
ppp79-139-185-142.pppoe.spdop.ru
host-79-164-75-110.qwerty.ru
80.243.66.50
80.92.29.228
ppp-static4-177.tis-dialog.ru
51.194.221.83.hw-rmts.donpac.ru
85.172.7.157
87.244.22.94
89.16.122.177
ppp91-109-148-132.tis-dialog.ru
ppp91-122-30-83.pppoe.avangarddsl.ru
ppp91-122-47-227.pppoe.avangarddsl.ru
ppp91-122-50-213.pppoe.avangarddsl.ru
ppp91-122-60-105.pppoe.avangarddsl.ru
69-51.izhnt.ru
hostby.planet-telecom.eu
91.224.160.46
91.224.160.47
91.224.160.53
91.224.160.54
ppp91-76-121-58.pppoe.mtu-net.ru
ppp91-76-134-142.pppoe.mtu-net.ru
ppp91-76-140-17.pppoe.mtu-net.ru
ppp91-76-140-93.pppoe.mtu-net.ru
ppp91-76-180-168.pppoe.mtu-net.ru
ppp91-76-182-150.pppoe.mtu-net.ru
ppp91-76-183-225.pppoe.mtu-net.ru
ppp91-76-186-8.pppoe.mtu-net.ru
ppp91-76-82-26.pppoe.mtu-net.ru
ppp91-77-91-50.pppoe.mtu-net.ru
ppp91-78-161-82.pppoe.mtu-net.ru
ppp91-78-185-53.pppoe.mtu-net.ru
ppp91-78-28-63.pppoe.mtu-net.ru
ppp91-78-66-104.pppoe.mtu-net.ru
ppp91-79-152-157.pppoe.mtu-net.ru
ppp91-79-177-194.pppoe.mtu-net.ru
ppp91-79-191-216.pppoe.mtu-net.ru
ppp91-79-60-143.pppoe.mtu-net.ru
ws.92.127.165.80.nsk.sibirtelecom.ru
ws.92.127.168.222.nsk.sibirtelecom.ru
ws.92.127.171.254.nsk.sibirtelecom.ru
ws.92.127.184.193.nsk.sibirtelecom.ru
ws.92.127.208.200.nsk.sibirtelecom.ru
ws.92.127.215.186.nsk.sibirtelecom.ru
host92-55-5-162.etth.mark-itt.net
93-120-174-15.dynamic.mts-nn.ru
94x181x46x170.static-customer.chel.ertelecom.ru
dslb-094-217-075-011.094.217.pools.vodafone-ip.de
95.105.79.172.dynamic.ufanet.ru
95.165.128.125
ppp95-165-149-195.pppoe.spdop.ru
ppp95-165-149-222.pppoe.spdop.ru
95.165.150.109
ppp95-165-157-63.pppoe.spdop.ru
95.165.158.103
ppp95-165-159-38.pppoe.spdop.ru
ppp95-165-19-183.pppoe.spdop.ru
ppp95-165-50-119.pppoe.spdop.ru
223.114.20.95.dynamic.jazztel.es
lw862.ua-hosting.company
95-37-167-194.dynamic.mts-nn.ru

Cela représente un peu plus de 135  tentatives de connexion en 50 jours soit un peu moins de 3 000 tentatives de connexion par jour ! Difficile de nier le danger représenté par l'Internet pour vos précieuses données...

(c) PiApplications 2016