Tunneling et transfert de port

Tunneling et transfert de port
Le processus de redirection du trafic réseau d'un port vers un autre port est appelé transfert de port ou tunnel. Le rediffusion des ports offre de nombreux avantages, je.e., Il peut être utilisé pour une communication sécurisée entre deux systèmes. Il peut également être utilisé pour les communications qui ne sont pas possibles dans les cas où un port a été bloqué mais doit être accessible localement ou à distance. Cet article donne un bref aperçu de la tunneling et du transfert de port du trafic réseau localement et à distance en utilisant différentes techniques, je.e., SSH Tunneling, Rinetd, Ngrok.

Comment fonctionne le tunneling?

Le tunneling est un mécanisme qui protège différents services en leur désactivant d'être accessible directement de l'extérieur du réseau. Il s'agit de recevoir du trafic sur un port et de le transmettre à un autre port et peut être fait à la fois localement ou à distance. Le tunneling est une technique de redirection de port qui utilise des tunnels cryptés dans le protocole SSH. Le tunneling est un type de communication entre deux appareils réseau utilisant une connexion SSH. SSH attrape la demande de service du client vers l'hôte, puis crée une connexion qui porte la demande de l'autre côté de la connexion. De l'autre côté de la connexion SSH, la demande est décryptée pour être envoyée au serveur d'applications sur le système distant.

Rinetd

Rinetd est un utilitaire qui permet à l'utilisateur de transférer le trafic réseau d'un port à un autre port. C'est l'un des ports les plus courants des services publics en raison de sa nature facile à utiliser.

Par exemple, considérez un scénario où le serveur RDP (192.168.0.10) Au port 3389, est inaccessible en raison d'un blocage sur tout le trafic sortant du système de bureaux (192.168.0.15) sauf pour le port 80, et il y a un autre système domestique (192.168.0.20), aussi.

La situation peut utiliser le système domestique comme proxy à l'aide de Rinetd de sorte qu'il recevra une connexion à partir d'une adresse IP et d'un port et la transférera vers une autre adresse IP et numéro de port. Sur le système domestique, configurez le fichier de configuration Rinetd comme suit:

#BindAddress #Bindport #ConnectAddress #ConnectPort
192.168.0.20 80 192.168.0.10 3389

À la machine de bureau (192.168.0.15), essayez de vous connecter au RDP au port IP: (192.168.0.20:80). Le système domestique recevra la connexion à (192.168.0.20:80), mais en raison du transfert de port, il transfère la connexion au serveur RDP (192.168.0.10) au port 3389. Par conséquent, le serveur RDP est accessible depuis le système de bureau même si tout le trafic sortant est bloqué.

Ngrok

Ngrok fournit une synchronisation en temps réel de ce qui se déroule sur son host local. Il permet au public le site Web qui s'exécute sur notre hôte local derrière NAT et les pare-feu. Disons que nous développons un site Web et le testons sur notre Host local sur le port 4444. Nous voulons le partager avec quelqu'un d'autre à des fins de démo. Nous pouvons le partager via Github et d'autres méthodes.

Mais il faudra beaucoup de temps à se déployer, et les changements ne se dérouleront pas en temps réel à toutes les endroits. Avec Ngrok, tout changement au localhost enverra une mise à jour à la fin de tout le monde. Ngrok est un service multiplateforme disponible en téléchargement sur son site officiel.

Par exemple, un site Web exécuté sur le localhost: 8080 peut être rendu publiquement accessible par toute personne disposant d'un lien URL. Utilisez la commande suivante pour générer une URL publique:

ubuntu @ ubuntu: ~ $./ ngrok http 8080

Tunneling SSH

Le tunneling SSH est le meilleur moyen de tunnel les ports d'un système client vers un système de serveur et vice versa. Pour utiliser SSH pour tunnel les ports, le client et le serveur doivent faire configurer SSH. Il existe trois types de tunneling SSH, je.e., Transfert de port local, transfert de port distant, transfert de port dynamique.

Transfert portuaire local

Le transfert de port local est une technique pour rendre les ressources distantes disponibles localement. Ces ressources peuvent être interdites ou être placées derrière un pare-feu pour restreindre l'accès local.

Syntaxe:

ubuntu @ ubuntu: ~ $ ssh -l :: nom d'utilisateur @ hôte.com

Envisagez un scénario où un bureau à distance doit être intégré dans un ordinateur domestique du système de bureau. Mais le port 3389 (RDP) est bloqué pour des raisons de sécurité. Pour accéder au port RDP, utilisez le tunneling SSH pour transmettre les ports de bloc. Cela peut être fait en utilisant la commande suivante:

ubuntu @ ubuntu: ~ $ ssh -l 4444: 192.168.0.2: 3389 Home @ 192.168.0.2

Maintenant, dans la configuration RDP, LocalHost peut être écrit à la place d'un nom IP ou d'un nom d'hôte avec la colonne de numéro de port 4444 pour accéder au Home RDP.

Transfert de port distant:

Le transfert de port à distance est une technique pour accéder à des ressources locales à distance. Disons qu'une entreprise souhaite qu'un employé travaille depuis le bureau, et il restreint l'accès à distance du système de bureau en bloquant le port RDP (3389). Dans ce cas, le transfert de ports à distance peut être utile. Sur le système de bureau, utilisez la commande suivante:

ubuntu @ ubuntu: ~ $ ssh -r 4444: localhost: 3389 home @ 192.168.0.2

Cela établira une connexion. Maintenant, l'ordinateur de travail est accessible à partir du système domestique à l'aide de RDP en entrant localhost à la place d'un nom IP ou d'un nom d'hôte avec une colonne de numéro de port 4444 dans la configuration RDP.

Transfert de port dynamique:

Le transfert de port dynamique permet de tunnel plusieurs ports. Dans ce type de transfert, SSH agit comme un serveur proxy. Disons que les employés peuvent accéder au Web sur le port 80 depuis le système de bureau en raison d'une restriction de pare-feu. Le transfert de port dynamique peut aider à surfer sur le Web sur le port 80 comme depuis la maison. Utilisez le suivant ssh commande:

Ubuntu @ Ubuntu: ~ $ ssh -d 4444 Accueil @ 192.168.0.2

La commande ci-dessus crée un proxy de chaussettes, qui nécessite une configuration de navigateur Web. Pour Firefox, accédez aux paramètres et cliquez sur «Ouvrir les paramètres de proxy». Tapez localhost dans la colonne de proxy de chaussettes et le numéro de port spécifié.

Chaque fois que l'adresse est tapée dans la barre d'URL, elle sera envoyée au numéro de port spécifié via le tunnel SSH et reçu sur notre système domestique.

Conclusion

Le tunneling et la transmission peuvent être utilisés pour accéder en toute sécurité au trafic réseau à travers les pare-feu. Les tunnels SSH s'assurent que les données en transit parcourent un tunnel sécurisé afin qu'il ne puisse pas écouter ou capturer. Il vous permet également de configurer des connexions VPN et d'accéder aux données de manière anonyme ou à partir d'un emplacement sécurisé ou inaccessible en raison d'un pare-feu. L'article traite de différents scénarios qui nécessitent l'utilisation d'un mécanisme qui aide à accéder aux ressources souhaitées localement ou à distance via Rinetd, Ngrok et SSH Tunneling.