Déclenchement de ports

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Dans un précédent article nous avons abordé le fonctionnement du protocole NAT. Nous avons vu qu’il permet, à plusieurs machines de communiquer avec une seule adresse IP publique. A la toute fin de l’article, je vous posais la question suivante : « Comment communiquer avec un serveur présent sur un réseau privé ». Pour répondre à cette question, il va falloir étudier un nouveau protocole : PAT !

I/ Le protocole PAT

Le protocole PAT (pour Port Address Translation) va nous permettre, depuis le réseau public, de communiquer avec plusieurs machines présentes dans un réseau privé. Pour cela, on va lier un port de communication à une adresse IP privée dans notre routeur. Pour accéder à cette adresse IP privée il suffira de contacter l’adresse IP publique du réseau et de spécifier qu’on communique sur ledit port. Prenez la situation suivante :

situtationbase

Si depuis Internet j’ai envie de me connecter au serveur d’adresse IP 192.168.0.3, il va falloir, dans mon routeur (ma box), indiquer que pour joindre le serveur 192.168.0.3 il faut contacter l’adresse IP 45.87.96.5 sur le port 4500 (par exemple).

Du coup si depuis Internet je veux me connecter au serveur 192.168.0.3, je pourrais utiliser cette commande sous Linux :

ncat 45.87.96.5 4500

(ncat est une version améliorée de netcat, je vous invite à voir les améliorations faites ici)

Lorsque le routeur recevra la requête, il la redirigera directement vers la bonne machine :

redirection

Ok, maintenant qu’on a compris la théorie on va pouvoir tester la pratique !

II/ Utiliser le port forwarding sur une box

Pour ce mini TP, je me suis connecté en filaire à ma box et je vais vous montrer comment configurer le port forwarding pour accéder à un serveur web dans un réseau privé depuis Internet.

Attention, le port forwarding n’est pas du PAT. C’est juste un transfert de données venant d’une adresse IP publique vers une adresse IP privée.

Tout d’abord il va falloir se rendre dans les paramètres de configuration de la box. Pour cela, rien de bien sorcier, il suffit de se connecter à l’aide d’un navigateur web à l’adresse IP 192.168.0.1. Puis il va falloir trouver l’onglet « Transfert de ports » :

transfertdeport.png

Ici on va donner un nom à notre règle de transfert, un port de départ et de fin (une range de ports à ouvrir) un protocole (TCP, UDP ou les deux) et enfin l’adresse IP privée à contacter. Personnellement, je vais appeler ma règle « redirectionHTTP », le port de départ est le 4500 et celui de fin 4600. Le protocole sera TCP et  UDP et l’adresse IP locale est celle de mon PC c’est à dire 192.168.0.28.

Voici ma règle finale :

règle

Maintenant il ne me reste plus qu’à mettre, sur ma machine présente dans le réseau privé, en écoute un serveur web sur un port (disons le 4545) :

serveurweb

Et me connecter à mon adresse IP publique en spécifiant le port 4545, pour atterrir sur la page d’accueil de mon serveur web :

frompublictoprivate.png

Du côté de mon serveur on voit bien que j’ai reçu une connexion depuis une IP publique (non ce n’est pas mon adresse IP, ne vous amusez pas à la scanner/attaquer) :

weserverlog.png

Voilà voilà ! Et bien évidemment vous pouvez rediriger tout et n’importe quoi comme trafic. N’oubliez cependant pas qu’en faisant des redirections de port, vous ouvrez votre réseau privé au monde entier. D’ailleurs si je lance un scan nmap sur mon adresse IP publique on voit bien que des ports supplémentaires sont ouverts :

scannmap.png

Un attaquant pourrait donc cibler mon adresse IP et tenter de compromettre le serveur web pour ensuite rebondir et attaquer les machines présentes sur mon réseau privé. Donc faites attention 😉 !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s