Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/11/2008, à 10:22

docv266

[RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Bonjour à tous.

Comment utiliser ssh au boulot?

Tout d'abord je suis conscient du fait que ce sujet est récurent, cependant malgré deux semaines de recherche sur notre ami google, je ne suis toujours pas parvenu à atteindre mon but.

Voici mon cas:

Chez moi -> Ubuntu 8.10 avec un serveur ssh et un proxy (tinyproxy).
Ma freebox forward le port 443 vers le port 22.

Au boulot -> Windows 2000, équipé de putty qui utilise le port 443 et non le port 22.

Bien sûr là ça marche pas, je pense que le firewall de ma boîte analyse les trames du protocole, et que le ssh n'est pas autorisé, malgré le fait que j'utilise le port 443 et non 22.

Une solution beaucoup évoquée sur la toile est d'encapsuler mes paquets ssh dans du http ou même du https.

Pour ceci il existe pas mal de logiciels tels que :
-stunnel
-httpclient (payant je crois)
-zebedee
-j'en oubli plein...

J'ai beaucoup testé stunnel, et il s'avère que ça marche très bien. MAIS (ben oui y'a un mais), il ne permet pas d'utiliser de proxy. C'est à dire que mon stunnel client (sur mon windows donc), ne propose pas les options permettant de spécifier un proxy (celui de ma boîte). C'est balo il me manquer que ça pour pouvoir me connecter chez moi.

Alors il existe des patchs pour stunnel de façon à ajouter cette fonctionnalité de proxy, mais uniquement sous linux, et je le rappel mais mon client stunnel est lui sous windows.

Alors ma question :

Connaissez-vous un logiciel permettant d'encapsuler du ssh dans du https, utilisable sous windows pour sa partie client), et configurable pour pouvoir utiliser un proxy?

Bien sûr, j'ai mis de côté mon éthique personnelle le temps de ces tests, car si ma boîte bloque ssh c'est pas pour rien. Je dois avouer que je fais ça non pas pour "faire le pirate" ou "glander au boulot", mais surtout par curiosité, pour apprendre, et pour pouvoir dire "oui, je l'ai fait". big_smile

J'espère avoir été clair et pas trop relou à lire.

Merci à ceux qui ont pris le temps de tout lire!

Dernière modification par docv266 (Le 27/11/2008, à 09:19)

Hors ligne

#2 Le 26/11/2008, à 10:47

titimaster

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

une bonne solution : AjaxTerm

Celà ne répond pas à ta question mais t'apporte une altérnative.

Dernière modification par titimaster (Le 26/11/2008, à 10:47)

Hors ligne

#3 Le 26/11/2008, à 10:49

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Merci de prendre du temps pour moi.

Effectivement j'ai utilisé ça aussi, et ça marche pas trop mal (un peu de lag).

Le truc c'est que ça ne permets pas le port forwarding comme putty le fait, et c'est une fonctionnalité que je souhaite. smile

Hors ligne

#4 Le 26/11/2008, à 13:11

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Je viens de penser à un truc.

Pourquoi est-il si difficile de trouver un programme qui fait des tunnels http ou https, avec une configuration pour un proxy?

Parce que lorsqu'on a besoin de se genre de programme, c'est généralement parce qu'il y a un proxy justement...

Alors aurais-je fais des ereurs de config lors de mes tests? Autrement dit, est-ce vraiment nécessaire de spécifier le proxy de ma boîte à stunnel client pour qu'il se connecte à stunnel serveur? neutral

Ca vous parais logique vous?

Hors ligne

#5 Le 26/11/2008, à 13:17

®om

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Sinon sans utiliser stunnel (et donc on peut potentiellement détecter un en-tête spécifique à ssh, mais souvent ça fonctionne), regarde le lien "Présentation de SSH" dans ma signature, y'a un chapitre qui explique ça smile

Hors ligne

#6 Le 26/11/2008, à 13:33

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Salut Rom.

Effectivement ta présentation correspond à mon besoin.
Quelques questions quand même:

-Si les paquets partent du client avec Corkscrew, donc en https, comment le serveur ssh arrive à les lire? Il ne connais pas les paquets https lui, il ne faut pas retransformer les paquets en ssh sans https?
-Est-il possible d'utiliser Corkscrew avec putty? Et utiliser le port forwarding?

C'est fou comme c'est désagréable de se prendre la tête, mais quel bonheur quand tout est limpide ensuite! cool

Merci.

Hors ligne

#7 Le 26/11/2008, à 13:55

thomine

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Salut,
Quelques infos. Déjà putty intègre en natif une sorte de corkscrew. Il faut configurer les options dans Connection / Proxy.
Ensuite, personnellement, j'ai moins de problème pour me connecter à travers un proxy en utilisant Cygwin, OpenSSH et Corkscrew (ils sont dispos dans les dépôts Cygwin, ça prend 5 min à installer) que Putty. Je n'ai pas cherché à comprendre pourquoi...
Quelques docs intéressants :
http://proxytunnel.sourceforge.net/paper.php : la théorie du fonctionnement de l'encapsulation HTTP, pour la culture...
http://forum.ubuntu-fr.org/viewtopic.php?id=213500
Voilou, j'espère que ça t'aidera. Perso j'ai un peu lutté avant de comprendre le principe et d'arriver à mettre ça en place.

Pour t'aider un peu plus, voici quelques fichiers.
.ssh/config :

Host *
   ProxyCommand /bin/corkscrew.exe <ip_proxy> <port_proxy> %h %p ~/.ssh/http-proxy.auth

.ssh/http-proxy.auth

<login_proxy>:<mdp_proxy>

Ensuite je fais un :

ssh -p 443 -l <login_serveur_ssh> <nom_serveur>

Dernière modification par thomine (Le 26/11/2008, à 13:57)

Hors ligne

#8 Le 26/11/2008, à 14:18

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

thomine a écrit :

Déjà putty intègre en natif une sorte de corkscrew. Il faut configurer les options dans Connection / Proxy.

Tu es sûr? Putty n'encapsule pas les paquets dans du https je crois. Par contre effectivement on peut configurer un proxy.

Or j'ai absolument besoin d'encapsuler mes paquets ssh. smile

Utiliser cygwin :
Pourquoi pas. Ça me permettrais d'utiliser les outils d'ubuntu. Y'a t-il l'outil que je cherche sous ubuntu?
i.e.:Un encapsuleur https dans lequel le proxy est configurable.

Merci!

Hors ligne

#9 Le 26/11/2008, à 15:07

thomine

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

docv266 a écrit :

Tu es sûr? Putty n'encapsule pas les paquets dans du https je crois. Par contre effectivement on peut configurer un proxy.

Je ne sais plus mais il me semble avoir lu ça, ie si t'utilises putty, t'as pas besoin de corkscrew.

Utiliser cygwin :
Pourquoi pas. Ça me permettrais d'utiliser les outils d'ubuntu. Y'a t-il l'outil que je cherche sous ubuntu?
i.e.:Un encapsuleur https dans lequel le proxy est configurable.

Oui ! Comme je l'ai indiqué, corkscrew est disponible dans les dépôts sous Ubuntu et Cygwin.
Pour Cygwin, c'est simple, il suffit que t'installes les paquets OpenSSH (ou OpenSSL) et Corkscrew et roule ma poule... Si tu regardes mon exemple, corkscrew (l'encapsuleur HTTPS) est configuré dans le fichier .config...

Hors ligne

#10 Le 26/11/2008, à 15:50

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Pourtant avec putty j'ai le droit à un beau "403:forbidden" lorsque je spécifie le proxy de ma boîte.

Ça veut dire qu'il détecte que c'est du ssh (même si je passe par le port 443) et qu'il bloque la connexion.

Je viens de trouver un logiciel "bitvise tunnelier". Il a l'air de faire ce que je veux, comme putty mais en plus précis. Je peux pas tester maintenant mais je vous tiens au courant. wink

Hors ligne

#11 Le 27/11/2008, à 09:16

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Voilà!

Alors après test, putty est effectivement bloqué par le firewall.

Solution : bitvise tunnelier.
Un joli client ssh pour windows qui encapsule les paquets, et ça passe!

En espérant que ce sujet aide des gens dans le besoin. Pour ma part, je préfère ne pas trop m'en servir, je ne sais pas comment travaille les admins réseaux de ma boîte...

Merci à tous.

Hors ligne

#12 Le 27/11/2008, à 11:37

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Oula.

Je suis désolé mais je me suis foiré.
En fait putty passe très bien aussi, je sais pas ce que j'ai foutu mais il semble que le réseau de ma boîte laisse passer le protocole ssh sans soucis si ce n'est pas sur le port 22.

Hors ligne

#13 Le 01/12/2008, à 11:19

deax_one

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Salut,

ça fait plusieurs jour (euh semaines même... sad ) que je galère pour essayer de me connecter à mon serveur perso.

J'ai suivi pas mal de tutos, tenté pas mal de configurations trouvées sur divers forums pour Putty ou Tunnelier sans succès...

D'où ma question:
pourrais-tu détailler la conf qui fonctionne finalement (Putty ou Tunnelier) ?


D'avance merci beaucoup


Jabber : mat@jabber.lutix.org
[img]http://lutix.org/images/mini_lutix.png[/img]

Hors ligne

#14 Le 01/12/2008, à 12:58

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Pas de soucis je vais essayer de t'aider du mieux que je peux.

Alors ça marche avec putty et tunnelier, je vais détailler la conf de putty ici.

Côté client donc :
Onglet session ->
     Host name : L'ip de on routeur (ta freebox par ex)
     port : 443 (oui pas 22, car le firewall de mon entreprise le bloque)

Onglet connection/proxy ->
     proxy type : http
     proxy hostname : L'ip du proxy de ta boîte
     port : généralement c'est 3128
     username : si nécessaire
     password : idem

Côté serveur, tu as un serveur ssh qui écoute sur le port 22, et ton routeur qui forward le port 443 vers le 22.

Wala, dis moi si ça marche... tongue

Hors ligne

#15 Le 01/12/2008, à 13:24

deax_one

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Salut,


tout d'abord, merci pour cette réponse rapide,

ça ne marche toujours pas chez moi...
J'avais déjà tenté sans succès ces paramètres...


Erreur Putty:
- Network error: Connection timed out
ou
- Network error: Connection refused


Erreur Tunnelier:
Connection failed. Connect() failed: Windows error 10061: Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée




Pour être sûr et certain de mes paramètres proxy, peux-tu me dire où et comment tu les as récupérés (adresse et port d'écoute)?
(même si je n'ai pas de doutes sur ce point...)


Merci d'avance


Jabber : mat@jabber.lutix.org
[img]http://lutix.org/images/mini_lutix.png[/img]

Hors ligne

#16 Le 01/12/2008, à 13:30

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Dans mon cas j'ai du télécharger le fichier .pac de ma boîte dans lequel se trouve la configuration.

L'url de ce fichier se trouve dans les paramètres de configuration du proxy de IE ou firefox.
C'est un fichier texte écrit en javascript, pas trop dur à comprendre.

Si ton entreprise n'utilise pas de .pac, tu dois avoir directement l'adresse du proxy ainsi que le port.


Concernant tes erreurs :
Timed out -> tu as un firewall? Ton port 443 est bien redirigé? Ton pc chez toi est-il bien allumé?

Refused -> As-tu accés aux sites sécurisés htps? Si oui le port 443 doit être ouvert. Sinon, il est probable que ce soit le protocole ssh qui est détecté et non pas seulement l'utilisation du port 22. Dans ce cas là ça va être plus chaud (encapsulation dans du https)

Hors ligne

#17 Le 01/12/2008, à 15:11

deax_one

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

YEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSS!!!!!

Désolé pour cette explosion de joie!!!
Mais ça faisait maintenant 3 semaines que j'essayais
et voilà que ça marche!!!

Merci beaucoup
(le secret était dans le .pac où l'adresse du proxy était différente de celle que j'avais...)

Merci encore pour ton aide docv266


Jabber : mat@jabber.lutix.org
[img]http://lutix.org/images/mini_lutix.png[/img]

Hors ligne

#18 Le 01/12/2008, à 15:22

docv266

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Content pour toi!:D

N'en abuse pas trop, je ne connais pas la politique de sécurité de ta boîte mais sache qu'il est probable qu'ils analysent les trames et qu'ils remarquent le dialogue ssh sur le port 443.:mad:
Si un gros musclé viens de te voir, ses arguments risquent d'être très clairs...:P

Hors ligne

#19 Le 03/12/2008, à 10:55

deax_one

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Depuis que ça fonctionne je viens travailler en short et avec des baskets,

on est jamais trop prudent! wink


Jabber : mat@jabber.lutix.org
[img]http://lutix.org/images/mini_lutix.png[/img]

Hors ligne

#20 Le 12/02/2009, à 16:39

francoislpj

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Bonjour,

J'ai suivi avec intérêt le fil de la discussion, aussi ai-je choisi d'apporter un peu d'eau au moulin.

Putty, ou tout autre "traverseur de proxy", peut se faire bloquer par le proxy suivant un critère tout bête : le user-agent. Le user-agent est une étiquette transmise entre autre par les navigateurs pour se présenter au serveur.
Il m'est arrivé une fois de tomber sur un proxy tatillon qui n'autorisait pas mon putty sauf quand celui-ci se faisait passer pour Firefox. L'erreur retournée par le proxy mécréant étant un sévère 'Forbidden' !

Pour configurer Putty et lui faire usurper l'identité d'un autre, il faut aller dans la section Proxy puis dans le champ "telnet command, local proxy command" (ou similaire). Ce champ est déjà remplie avec la commande de base adressée au proxy mais on peut l'étoffer un peu en mettant ceci à la place :

CONNECT %host:%port HTTP/1.1\nUser-Agent:Mozilla/4.01 (compatible; MSIE 6.0; Windows NT 5.1)\nHost:%host\n

La propriété User-Agent est celle d'Internet Explorer 6.0. La propriété Host (tout à la fin) est, paraît-il, seulement ajoutée par les navigateurs, alors on le fait aussi.

Et voilà, notre putty sera pris pour un authentique Microsoft Internet Explorer.
Pour les autres réglages je suis comme vous (port 443).



Concernant le "ssh dans https", je me demande si c'est cohérent. Après de nombreuses lecture, j'en ai compris que le https n'était ni plus ni moins du ssl faisant transiter du http normal. Là où le ssh peut se faire coincer, c'est :
- Par la bannière renvoyée par le serveur SSH lors de la connexion, qui risque de ressembler à "OpenSSH x.x". Un paramètre de bannière se règle dans sshd_config mais je ne sais pas si c'est la même chose.
- Par sa méthode de connexion qui diffère de celle du SSL (que le proxy peut lire tant que la liaison cryptée n'est pas établie).


Sinon, je ne crois pas qu'un admin réseaux va accorder beaucoup d'énergie à la détection de tunnels, selon les cas. Par modeste expérience, l'admin va d'abord se préoccuper de qui et quoi génère le gros du traffic, et vers où. Donc un tunnel vers chez soi et utilisé modérement n'est pas franchement une cause de tracas pour lui.


Ma principale source d'information est ici : http://www.hsc.fr/ressources/articles/sstic06/SSTIC06-article-Lehembre_Thivillon-Detection_de_tunnels.pdf
Si le lien meurt, ces mots clés devraient marcher dans un moteur de recherche : Détection de tunnels aux limites du périmètre

Si ces infos peuvent être utiles...

#21 Le 13/12/2012, à 11:26

benjaminlaurent

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Bonjour,
Au boulot j'utilisais putty pour me connecter chez moi et passer à travers le proxy de ma boite pour ne pas subir le filtrage de ce que consulte sur internet (tunnel sur le port 443).
Mais ça ne fonctionne plus.
La politique vient de changer.
Au début je me suis dit que c'était parce que le firewall détecte la trame ssh mais peut-être pas en lisant cette remarque sur le USER-AGENT !
Eh oui car quand mon montage avec putty a cessé de fonctionner dans le même temps nous ne pouvions plus nous connecter sur internet qu'avec firefox.
Aller sur internet avec IE est maintenant impossible.
Du coup je viens de tenter de configurer putty en conséquence pour voir si mon problème ne viendrait pas juste de là.
Le problème c'est que la commande donné par  francoislpj

CONNECT %host:%port HTTP/1.1\nUser-Agent:Mozilla/4.01 (compatible; MSIE 6.0; Windows NT 5.1)\nHost:%host\n

c'est justement pour se faire passer pour IE et moi je voudrais me faire passer pour firefox !
Bêtement j'ai essayé cette commande en changeant IE par Mozilla:

CONNECT %host:%port HTTP/1.1\nUser-Agent:Mozilla/4.01 (compatible; Mozilla/4.01; Windows NT 5.1)\nHost:%host\n

mais j'ai toujours un Proxy error: 403 Forbidden !

Pouvez-vous m'aider ?

Hors ligne

#22 Le 13/12/2012, à 14:02

benjaminlaurent

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

Nouvel essai avec:
Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17 (.NET CLR 3.5.30729) trouvé dans le about du Firefox installé sur mon pc du boulot !
même message d'erreur !
peut-être que le problème vient d'ailleurs ou que je ne saisi pas la commande comme il le faut !

Dernière modification par benjaminlaurent (Le 13/12/2012, à 14:06)

Hors ligne

#23 Le 07/02/2013, à 07:48

jaypi

Re : [RESOLU]Encapsuler du ssh dans du https en spécifiant un proxy.

docv266 a écrit :

Pas de soucis je vais essayer de t'aider du mieux que je peux.

Alors ça marche avec putty et tunnelier, je vais détailler la conf de putty ici.

Côté client donc :
Onglet session ->[...]

Le sujet initial du fil est : "Encapsuler du ssh dans du https en spécifiant un proxy"

Cette discussion est marquée comme résolue mais je ne vois pas où on parle de HTTPS ?

Hors ligne