Bien souvent quand on lis des articles sur les milles et unes astuces pour sécuriser un peu plus sa machine on y retrouve très souvent l'idée de "fermer les ports" c'est à dire empecher un traffic entrant qui ne serait pas légitime.

C'est une bonne pratique, voici quelques rappels de bas étages sur les sockets (pour ceux qui entendent ce mot pour la première fois).

Pour que deux ordinateurs puissent communiquer il faut établir une connection, un tunel bidirectionnel dans lequel on peut lire et écrire des données. L'analogie humaine, une fois n'est pas coutume, est parfaitement adaptée ici. Quand vous discutez avec quelqu'un vous parlez (écrire) et vous écoutez (lire). En informatique un tel tunel s'appelle un socket. C'est un simple fichier que l'on doit créer sur les deux ordinateurs.

Mais on ne crée pas une communication aussi simplement, il faut "brancher" nos sockets ensemble, si les humains ont du mal à communiquer avec plusieurs personnes à la fois l'ordinateur peut lui discuter avec environ 65000 de ses homologues en même temps. Pour celà on a crée la notion de port, c'est un nombre entre 1 et 65000 (et des poussières). Pour connecter nos deux sockets, il faut que chaque ordinateur connaisse :

  1. L'adresse de l'autre ordinateur, son IP
  2. Le port sur lequel va s'effectuer la communication

Notez que les deux ports ne doivent pas forcement être les mêmes (d'ailleurs ce ne sont jamais les mêmes en pratique). Ensuite il y a la notion de client/serveur (qui est foireuse et c'est bien là dessus que je veux vous amener). C'est à dire que l'un des ordinateurs va jouer le role de serveur et l'autre de client, le serveur va mettre un socket sur écoute sur un certain port et le client va s'y connecter. Et là la communication est effective, nos deux amis peuvent écrire et lire des données qui seront envoyés a celui qui se trouve au bout du socket.

Du point de vue du serveur, c'est un traffic entrant et pour le client c'est un traffic sortant. Mais c'est vraiment la seule chose qui différentie le client du serveur, la nature des données qui transitent n'ont rien à voir avec tout ça.

Bloquer le traffic entrant permet de bloquer un éventuel intru du système qui mettrait un port sur écoute pour mieux controler votre machine à distance. Mais bloquer le traffic entrant n'est qu'une illusion de sécurité si on ne regarde pas ce qui se passe sur le traffic sortant. Comme je l'ai dit, la nature des données échangés n'a rien à voir et on pourrait très bien imaginer un programme ou le client executerait tout ce que lui dit le serveur.

D'ailleurs bon nombre de virus fonctionnent en se connectant sur un serveur IRC pour communiquer avec celui qui dirige à distance l'ordinateur de l'internaute imprudent. Et c'est du traffic sortant.

Si maintenant la paranoia vous guette, vous pouvez aller reconfigurer votre parre feu.

comments powered by Disqus