Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

Dans cet article, nous verrons comment fonctionne ssh. ce qui est un tunnel SSH? ce qui est important de tunnels ssh et comment configurer le tunnel ssh.
Lorsque le serveur SSH est installé dans la machine puis par défaut son tunnel ssh autorisé.

SSH Tunneling (Port Forwarding)

Tunneling est le concept d'encapsuler le protocole réseau à un autre protocole. ici nous avons mis en SSH. si toutes les communications réseau sont cryptées. Il a également appelé Port Forwarding. parce que dans un tunnel ssh, nous allons lier un port local. Quels sont donc le paquet que nous allons envoyer ce port, tous les paquets sont chiffrer de manière transparente et remis au système distant.

Quel est le besoin de SSH Tunneling?

SSH est suffisant pour gérer le système distant. Il ne suffit pas pour accéder aux tous les services qui sont disponibles dans le système à distance.

laissez-je décris dans le scénario suivant,

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

permet maintenant de considérer le scénario, le système (192.168.56.101) est mon système connecté à Internet son serveur et sa machine appelée PrivateServer (192.168.56.102) ont deux interfaces Ethernet. une est connectée à Internet. et une autre est reliée à 10.10.1.0/24 réseau local. Intranet machine (10.10.1.11) fait partie du sous-réseau 10.10.1.0/24.

Remarque. ici je l'ai mentionné système local (192.168.56.101) et le système à distance (192.168.56.102) sont à la recherche comme l'adresse IP de sous-réseau local. Pour les besoins VM je l'ai utilisé ces adresses IP. Mais la réalité est qu'il devrait être une adresse IP publique.

Note importante. service démon SSH Server est en cours d'exécution dans le port 22 dans tous ces systèmes et trois pare-feu est autorisé à se connecter ce système à l'aide client SSH.

maintenant Système (192.168.56.101) peut communiquer à PrivateServer (192.168.56.102), parce que les deux systèmes sont connectés à Internet directement. Mais Système (192.168.56.101) ne peut pas communiquer à l'Intranet (10.10.1.11) la machine, parce que du point de vue système (192.168.56.101) 10.10.1.11 est non itinéraire Adresse IP capable. 10.10.1.11 est pas l'adresse IP publique, son adresse IP locale. nous ne pouvons pas acheminer les paquets directement.

Maintenant, je veux la situation comme celle du système (192.168.56.101) pour accéder à la machine Intranet (10.10.1.11). sans modifier les tables IP, rediriger comme outils / services dans la machine cible intermédiaire (ou). Parce que je ne suis pas d'administration du système, donc je n'ai pas les privilèges root.

L'un des ssh solution possible est d'abord d'utiliser pour se connecter à PrivateServer (192.168.56.102), puis à nouveau (imbriqué) Se connecter à l'Intranet (10.10.1.11). Oui sa bonne idée, ses œuvres, maintenant je peux l'intranet à distance gérer (10.10.1.11). mais si Intranet (10.10.1.11) offrent des services tels que VNC, Apache httpd, smtp, pop3, proxy squid alors comment du système (192.168.56.101), nous pouvons accéder à ces services?

La solution est SSH Tunneling ou SSH Port Forwarding

Je pense ici toute commande est codé pour l'encodage base64 avant d'envoyer au serveur et avant Crypter. (Mais je ne suis pas sûr)

ici note très important que SSH n'est pas perturber le port autre que 22 (ou le serveur ssh port est en cours d'exécution).

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

SSH peut fonctionner simultanément un grand nombre de canaux. En cas normal, nous utilisons le canal shell. Mais maintenant, nous allons utiliser le canal de données. de sorte notion de base est, en 192.168.56.101 client ssh machine lier un orifice et établir une connexion sécurisée avec le serveur (192.168.56.102). et créer un canal de données et le canal de la coque. (On peut omettre le canal shell en utilisant l'option -N dans la commande ssh).

types de tunneling SSH

SSH offre trois types de tunnel

  • Tunneling dynamique (SOCKS Proxy)
  • Transfert de port local
  • Transfert de port à distance

ici -D 8080 mentionne la liaison proxy SOCKS de 8080 port côté client

Maintenant client ssh dans la machine 192.168.56.101 créer un serveur proxy SOCKS dans le côté client et lier une port.then locale se connecter à 192.168.56.102 machine distante et établir un canal sécurisé.


Maintenant, toutes les applications client comme Firefox, chrome. besoin de configurer le paramètre de proxy au serveur proxy SOCKS localhost et le numéro de port. (Vérifier la vidéo ci-dessous pour la référence du poste)

Remarque. considérer serveur (192.168.56.102) et Intranet (10.10.1.11), les deux machines fonctionnent serveur Apache httpd et lier le port 80

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

  • Un serveur proxy est suffisant pour accéder à tous les services de la machine distante et ses services de sous-réseau
  • Nous devons configurer les paramètres de proxy dans l'application client, Si l'application ne prend pas en charge le proxy alors nous ne pouvons pas accéder au service.

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

Si tu veux accéder au service http machine 10.10.1.11 alors nous avons besoin d'installer une nouvelle redirection de port local.

nous ne pouvons pas utiliser la redirection de port avant. parce que vieux toujours pointant vers localhost: 80.

maintenant port local côté client 8000 est redirigé vers 10.10.1.11:80 machine via 192.168.56.102.

(Pour plus de vérification des références de la vidéo ci-dessous. Vidéo je montre la façon d'accéder à l'aide de bureau à distance VNC)

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

  • pas nécessaire de configurer le paramètre de proxy
Désavantage:
  • Chaque service que nous avons besoin de configurer différents port local, (i.e. par exemple, 2 redirection de port est nécessaire pour obtenir 192.168.56.102 et 10.10.1.11 services http)



Transfert de port à distance


redirection de port à distance est la même comme port local. mais cette fois nous avons besoin de régler la redirection de port à côté serveur (192.168.56.102), et non côté client


quand nous exécutons cette commande sa connexion au client et de créer le port 8000 en (côté non serveur) côté client.
comme d'habitude client utiliser son port local 8000 pour se connecter au serveur. comme le transfert de port local.


Pourquoi distance Port Forwarding est-il important?
Son rarement utilisé, lorsque nous avons travaillé la machine. cette machine est à l'intérieur du NAT. donc de l'extérieur ne peut y accéder. ce genre de situation l'accès physique à la machine et se connecter à notre système client (192.168.56.101) en utilisant le port à distance avant. puis de la machine client, nous pouvons accéder aux services. (Son semble être peu déroutant, mais est simple)




Dans machine Windows
Dans la machine Windows si vous voulez exécuter le serveur ssh alors il y a beaucoup de serveurs ssh sont disponibles WinSSHD freeSSHd. OpenSSH. Si nous voulons que le client ssh alors nous pouvons utiliser Putty.

suppose que dans le système (192.168.56.101) J'utilise Windows alors comment nous avons accès à l'effet tunnel ssh.

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

Si nous voulons port local, puis mettre un port inutilisé 6000 dans le port source et destination est localhost: 80 et sélectionnez Local. (Son égal à -L 6000: localhost: 80)

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique

Si tu veux accéder à la machine 10.10.1.11 le bureau à distance puis faire port local avant (vérifier image ci-dessus) et la destination est 10.10.1.11:5900 ici 5900 est le port utilisé par le serveur vnc. puis en utilisant un client vnc (ici j'ai utilisé client tightvnc) pour se connecter ur port local 6000

en fait mention localhost :: 6000, ici nous devons mentionner deux points ::. parce que dans le port client vnc est pas spécifié de cette manière. (Regardez la vidéo)

Comment faire SSH Tunneling (Port Forwarding) - Ecran moulé - Ramki Blog technique







Pare-feu de dérivation
Ce concept de tunnel SSH peut être utilisé pour contourner le pare-feu. permet de considérer le scénario. Dans son côté serveur activer le pare-feu et un service sont en cours d'exécution et ces services sont peut accéder par la machine localhost ou même. mais u ne peut pas accéder par la machine distante. parce que le pare-feu bloquent l'ensemble du port, sauf le port ssh (22).

ce genre de situation que nous utilisons tunnel et presque tous les services sont accessibles depuis l'extérieur. parce que le pare-feu est fondé sur des règles. Dans la perspective pare-feu tout le trafic est passe par le port 22. de sorte que son permis. mais à l'intérieur, nous avons fait tunnel et accéder à tous les services.

Comment prévenir tunnel SSH
Ouvrez le fichier de configuration du serveur ssh / etc / ssh / sshd_config défini le paramètre
AllowTcpForwarding pas
puis redémarrez le service ssh. ils permettent pas le service du tunnel ssh, mais nous pouvons accéder au service shell ssh.

Mais en page de manuel ssh ils clairement mentionnés

« Notez que la désactivation de la transmission TCP n'améliore pas la sécurité à moins que les utilisateurs se voient également refuser l'accès au shell, car ils peuvent toujours installer leurs propres transitaires. »

donc nous pouvons encore utiliser utiliser le tunnel ssh même si nous avons mis en AllowTcpForwarding pas. (Je montrerai dans mon prochain post)

J'espère que tout est clair. Si tout malentendu s'il vous plaît laissez-moi savoir.

Diffuser l'écran (Regarder en HD)

Articles Liés