Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:acces_full_internet_ssh_derriere_proxy [Le 08/01/2008, 10:07]
manusvs650
tutoriel:acces_full_internet_ssh_derriere_proxy [Le 11/09/2022, 12:20]
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-====== Comment avoir un accès complet à internet derrière un proxy ====== +{{tag>​ssh tutoriel ​proxy réseau VÉTUSTE}}
-{{tag>​ssh ​Gutsy tutoriel ​BROUILLON}}+
  
-<​note>​ +---- 
-Ce tutoriel explique comment obtenir un accès complet à internet depuis un site sécurisé par un Proxy en utilisant son pc personnel ​comme serveur Proxy. + 
-Je souhaitais ​accéder à plusieurs ​serveur ​en vnc (port 5901) or la plupart des sites où j'​interviens ​protègent l'​accès à internet par un proxy. +====== Comment avoir un accès complet à Internet derrière un proxy ? ====== 
-</​note>​+ 
 +Ce tutoriel explique comment obtenir un accès complet à internet depuis un site sécurisé par un Proxy en utilisant son PC comme serveur Proxy. 
 + 
 +Cas concret : 
 +Vous souhaitez ​accéder à plusieurs ​serveurs ​en VNC (port 5901) or la plupart des sites où vous intervenez ​protègent l'​accès à internet par un proxy.
  
 ===== Principe ===== ===== Principe =====
Ligne 13: Ligne 16:
 Au niveau du serveur SSH chez soi, dans le pire des cas, il faudra juste ajouter un port d'​écoute supplémentaire pour le sshd: Le port 443 du HTTPS. Au niveau du serveur SSH chez soi, dans le pire des cas, il faudra juste ajouter un port d'​écoute supplémentaire pour le sshd: Le port 443 du HTTPS.
  
-Le principe est simple: +Le principe est simple :
- +
--Côté boulot: Utiliser une appli user type proxytunnel et créer un fichier /​home/​username/​.ssh/​config permettant d'​integrer la création du tunnel HTTPS comme préalable a la connection ssh pour les hostnames conçernés. Ceci ne nécéssite pas les droits d'​administration. A noter que pour les hosts windows il est possible de configurer Putty afin de faire la même chose, mais je ne détaillerais pas. +
- +
--Côté maison: éditer /​etc/​ssh/​sshd_config pour ajouter un port d'​écoute si le proxy vérifie le port de connection HTTPS, ce qui n'est pas toujours le cas. Ceci nécéssite les droits d'​administration,​ mais en général on maitrise ce côté de la chaine ;o)+
  
 +  * Côté boulot : Utiliser une appli user type proxytunnel et [[:​tutoriel:​comment_editer_un_fichier|créer un fichier]] **/​home/​username/​.ssh/​config** permettant d'​intégrer la création du tunnel HTTPS comme préalable à la connexion ssh pour les hostnames concernés. Ceci ne nécessite pas les droits d'​administration. A noter que pour les hôtes Windows il est possible de configurer Putty afin de faire la même chose, voir plus bas…
 +  * Côté maison : [[:​tutoriel:​comment_editer_un_fichier|éditer]] **/​etc/​ssh/​sshd_config** pour ajouter un port d'​écoute si le proxy vérifie le port de connexion HTTPS, ce qui n'est pas toujours le cas. Ceci nécessite les droits d'​administration,​ mais en général on maitrise ce côté de la chaine. ;-)
  
 ===== Configuration du poste client Linux, côté travail ===== ===== Configuration du poste client Linux, côté travail =====
  
-Installer proxytunnel directement de sa source:+Installer proxytunnel directement de sa source :
 http://​proxytunnel.sourceforge.net/​download.php http://​proxytunnel.sourceforge.net/​download.php
  
-Downloader ​le linux-x86 binary et le copier dans /home/username/.ssh (remplacer ​"​username" ​par son nom d'​utilisateur!).+Télécharger ​le //linux-x86 binary// et le copier dans « /home/$USER/.ssh » ​(remplacer ​''​$USER'' ​par son nom d'​utilisateur).
  
 Vérifier qu'il a bien l'​attribut +x (execution),​ sinon faire : Vérifier qu'il a bien l'​attribut +x (execution),​ sinon faire :
Ligne 32: Ligne 33:
 Créer (s'il n'​existe pas) un fichier /​home/​username/​.ssh/​config Créer (s'il n'​existe pas) un fichier /​home/​username/​.ssh/​config
 et y placer la ligne d'​appel de proxytunnel:​ et y placer la ligne d'​appel de proxytunnel:​
 +<​code>​
 # Remplacer ce nom par son domaine dyndns maison ou IP (si fixe) # Remplacer ce nom par son domaine dyndns maison ou IP (si fixe)
 host mon_domaine.net host mon_domaine.net
Ligne 39: Ligne 40:
 # voir config de firefox/IE, ou directement le fichier de config auto du proxy... # voir config de firefox/IE, ou directement le fichier de config auto du proxy...
 # Si pas d'​authentification auprès du proxy, virer les -u -s et les username/​passwd. # Si pas d'​authentification auprès du proxy, virer les -u -s et les username/​passwd.
-#Sinon, mettre les bons (attention a ne pas laisser les droits r aux autres utilisateurs). +# Sinon, mettre les bons (attention a ne pas laisser les droits ​+r aux autres utilisateurs, qui pourraient lire votre MDP d'​accès au proxy internet!). 
-   ​ProxyCommand /​home/​username/​.ssh/​proxytunnel-i386-linux -p nom_du_proxy:​port_proxy -u username -s user_internet_passwd -d mon_domaine.net:​443 -v +ProxyCommand /​home/​username/​.ssh/​proxytunnel-i386-linux -p nom_du_proxy:​port_proxy -u username -s user_internet_passwd -d mon_domaine.net:​443 -v 
 +</​code>​
  
  
 ===== Configuration du poste client Windows, côté travail ===== ===== Configuration du poste client Windows, côté travail =====
-On utilise putty qui va créer une connection ssh. 
-La version portable de Putty est très pratique, car on peut la mettre sur une clé usb : [[http://​www.framakey.org/​Portables/​PortablePuTTY|Portable Putty]] 
  
-[[:tutoriel:​comment_editer_un_fichier|éditez le fichier]] .putty\sessions\masession : +On utilise Putty pour créer une connexion SSH. 
-  Protocol=ssh  +La version portable de Putty est très pratique, car on peut la mettre sur une clé USB : [[http://www.framakey.org/Portables/PortablePuTTY|Portable Putty]]
-  PortNumber=443  +
-   +
-  ​// Activation du keep alive afin d’éviter d’être déconnecté  +
-  PingIntervalSecs=30  +
-  TCPNoDelay=1  +
-   +
-  ​// Configuration du proxy (proxy http)  +
-  ProxyMethod=3  +
-  ProxyHost=Proxy  +
-  ProxyPort=3128  +
-  ProxyUsername=login  +
-  ProxyPassword=XXXX  +
-   +
-  // redirection de ports  +
-  LocalPortAcceptAll=1  +
-  RemotePortAcceptAll=1  +
-  PortForwardings=D6588,​+
  
-===== Configuration du serveur SSH, côté maison =====+[[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **.putty\sessions\masession** FIXME __(sous Windows avec portablePuTTY ça se trouve dans **(répertoireframakey)\Apps\PortablePuTTY\.putty\sessions** )__ : 
 +<​file>​ 
 +Protocol=ssh 
 +PortNumber=443
  
-[[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] ssh +// Activation du keep alive afin d’éviter d’être déconnecté 
-  sudo apt-get install ssh+PingIntervalSecs=30 
 +TCPNoDelay=1
  
-[[:​tutoriel:​comment_editer_un_fichier|Editez ​le fichier]] /​etc/​ssh/​sshd_config afin d'​ajouter "Port 443" en dessous du classique port d'​écoute 22 du daemon sshd.+// Configuration du proxy (proxy http) 
 +ProxyMethod=3 
 +ProxyHost=Proxy 
 +ProxyPort=3128 
 +ProxyUsername=login 
 +ProxyPassword=XXXX 
 + 
 +// redirection de ports 
 +LocalPortAcceptAll=1 
 +RemotePortAcceptAll=1 
 +PortForwardings=D6588,​ 
 +</​file>​ 
 + 
 +Pour Windows, dans le cas de l'​utilisation de Putty, les informations sont à spécifier dans l'​onglet de gauche. N'​oubliez pas de sauvegarder la session. 
 + 
 +{{tutoriel:​putty_windows_connexion_00.png|}} 
 + 
 +{{tutoriel:​putty_windows_connexion_01.png|}} 
 + 
 +Configurer le navigateur (Firefox : //Outils → Options → Avancé → Réseau → Paramètres//​ ; IE : //Outils → Options Internet → Connexions → Paramètres réseau//) : 
 + 
 +{{tutoriel:​proxy.jpg|}} 
 + 
 + 
 +===== Configuration du serveur SSH, côté maison ===== 
 + 
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​ssh]]**. 
 +[[:​tutoriel:​comment_editer_un_fichier|Éditez ​le fichier]] ​**/​etc/​ssh/​sshd_config** afin d'​ajouter "Port 443" en dessous du classique port d'​écoute 22 du daemon sshd.
  
 <note tip> <note tip>
-Pour éviter les déconnection, il faut utiliser le mode keepalive : +Pour éviter les déconnexion, il faut utiliser le mode keepalive : 
-[[:​tutoriel:​comment_editer_un_fichier|Editez ​le fichier]] /​etc/​ssh/​sshd_config et ajouter ​la ligne : TCPKeepAlive yes+[[:​tutoriel:​comment_editer_un_fichier|éditez ​le fichier]] ​**/​etc/​ssh/​sshd_config** et vérifier que la ligne suivante est bien présente ​**TCPKeepAlive yes**
 </​note>​ </​note>​
 +
 +===== Configuration du routeur =====
 +
 +La plupart des Box internet permettent de configurer la redirection des ports.
 +Mais pas le routeur linksys
  
 ===== Utilisation ===== ===== Utilisation =====
  
-Possibilité de faire du VNC chez soi sous tunnel SSH crypté en redirigeant classiquement les ports 59XX avec l'​option -L de la ligne de commande ssh. Voir les tutoriels/​posts forum à ce sujet (ou le man ssh).+Possibilité de faire du VNC chez soi sous tunnel SSH crypté en redirigeant classiquement les ports 59XX avec l'​option -L de la ligne de commande ssh. Voir les tutoriels/​posts forum à ce sujet (ou le man ssh), résumé ci après (bureau à distance préalablement activé chez soi en prenant soin de bloquer les accès directs, sans tunnel SSH, niveau firewall: Ne pas ouvrir les ports 59xx!): 
 +Dans un 1er terminal: 
 +<​code>​ 
 +ssh -L 5901:​localhost:​5900 -C <​user>​@<​hostname>​ 
 +</​code>​
  
-Possibilité de faire du web en utilisant son PC ubuntu maisonUtiliser l'​option -D de ssh, qui transforme le serveur ssh en proxy SOCKS.+Dans un 2e terminal ​:
  
-Et tout ce que peut faire SSH:+<​code>​ 
 +vncviewer localhost:
 +</​code>​
  
-Si l'on veut se passer du VPN de l'​entreprise... ​Lançer ​un reverse tunnel ssh chez soi par exemple! On se connecte ensuite de chez soi via le localhost et en utilisant le N° de port reverse forwardé avant de partir du travail ;o)+Possibilité de faire du web en utilisant son PC ubuntu maison: Utiliser l'​option -D de ssh, qui transforme le serveur ssh en proxy SOCKS. Ainsi, on peut aller sur Monster sans que son DRH ne puisse être informé par l'​admin réseau ;o) 
 +<​code>​ 
 +ssh -D 9999 <​user>​@<​hostname>​ 
 +</​code>​ 
 + 
 +Et côté navigateur, sous //Édition → Préférences → Général → Paramètres de connexion// → configurer manuellement un proxy Socks v5 sur le localhost, port 9999 (celui de l'​option ''​-D''​). Ne pas oublier de retirer le localhost de la ligne « No proxy for:​ »((« Pas de proxy pour : »)), qui bypasserait ce setup ! 
 + 
 +Et tout ce que peut faire SSH de rigolo, avec les reverse tunnels par exemple : 
 + 
 +Si l'on veut se passer du VPN de l'​entreprise... ​Lancer ​un reverse tunnel ssh chez soi par exemple ! On se connecte ensuite de chez soi //via// le localhost et en utilisant le numéro ​de port //reverse forwardé// avant de partir du travail;-) 
 + 
 +De quoi rendre un admin fou... et sans doute la raison pour laquelle le HTTPS commence à ne plus sortir dans certaines entreprises ? 
 + 
 +===== Voir aussi ===== 
 + 
 +  * Sur le forum : [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=213500|[Tuto] Passer à travers un proxy et creuser un tunnel ssh]] 
 + 
 +> FIXME faire un mix de cette page avec le tuto du forum pour n'​avoir qu'une seule page 
 + 
 +  * Documentation en PDF testé et réussie : [[http://​www.breizh-ardente.fr/​public/​Commentsurfertranquilleaubureau.pdf|Comment surfer tranquille au bureau]]
  
-De quoi rendre un admin fou... et sans doute la raison pour laquelle le HTTPS commençe a ne plus sortir dans certaines entreprises?​ 
  
 ---- ----
-//​Contributeurs : [[utilisateurs:​manusvs650|manusvs650]], ​????.//+ 
 +//​Contributeurs : [[utilisateurs:​manusvs650|manusvs650]], ​yvan78.//
  • tutoriel/acces_full_internet_ssh_derriere_proxy.txt
  • Dernière modification: Le 11/09/2022, 12:20
  • par moths-art