Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1796 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Accès Shell sur une page web - stunnel inside !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès Shell sur une page web - stunnel inside !!!

n°206282
lebibi
Notre torture c'est la tourtel
Posté le 30-12-2002 à 16:19:06  profilanswer
 

Salut,
 
J'ai vu ca avec la distribution ipcop. On pouvait acceder a un shell par l'intermediaire d'une page web. Je ne sais plus ce que c'etait derriere (cgi, php, java, javascript....)
 
Enfin bref, ca m'interesse de mettre ca en place, car depuis mon boulot je ne peu pas acceder a mes pc a la maison, a moins de passer par le port 80 (SSH par 80 marche pas because proxy au taf)
 
Donc voila si vous aves un lien svp :)
Je pense utiliser SSL  + .htaccess, pour mettre ca en place histoire d'avoir un accès sécurisé
 
Merci d'avance


Message édité par lebibi le 11-02-2003 à 17:10:28
mood
Publicité
Posté le 30-12-2002 à 16:19:06  profilanswer
 

n°206293
philou_a7
\_o< coin ! >o_/
Posté le 30-12-2002 à 17:00:18  profilanswer
 

Webmin a une applet java qui te donne un acces ssh/telnet dans une page web ;)

n°206295
BigBen
M'enfin
Posté le 30-12-2002 à 17:08:40  profilanswer
 

Dans le genre, un peu moins bourin, y a le SSH over SSL qui marche très bien (testé pendant pas mal de temps avec un proxy qui ne laisse passer que le SSL...)
 
tu fais un stunnel dans lequel tu fais passer du SSH... Faut voir ce qui t'arranges le plus... c'est un peu moins crade que ce que tu proposes... enfin, faut voir...

n°206324
superX
Posté le 30-12-2002 à 18:36:53  profilanswer
 

Lebibi a écrit :

Salut,
 
J'ai vu ca avec la distribution ipcop. On pouvait acceder a un shell par l'intermediaire d'une page web. Je ne sais plus ce que c'etait derriere (cgi, php, java, javascript....)
 
Enfin bref, ca m'interesse de mettre ca en place, car depuis mon boulot je ne peu pas acceder a mes pc a la maison, a moins de passer par le port 80 (SSH par 80 marche pas because proxy au taf)
 
Donc voila si vous aves un lien svp :)
Je pense utiliser SSL  + .htaccess, pour mettre ca en place histoire d'avoir un accès sécurisé
 
Merci d'avance


 
cryptcat
 
un démon coté serveur en écoute sur le 80 (donc pas de http) avec l'option -e ( execution d'un binaire à la connexion en l'occurence un /bin/bash ? )
un client qui se connecte
et tout ce que tu tapes dans le client est envoyé au serveur tel quel , et tu peux choisir le protocole (tcp,udp)
 
j'ai fait un topic sur ce petit utilitaire il y a pas longtemps


Message édité par superX le 30-12-2002 à 18:40:06
n°206326
superX
Posté le 30-12-2002 à 18:39:47  profilanswer
 

et tu peux choisir l'ip que doit écouter le démon et ainsi restreindre des 'tentatives'.  
L'avantage c'est que c'est tres simple à mettre en place , tres pratique mais pas forcément au gout de tout le monde ;)
 

n°206332
lebibi
Notre torture c'est la tourtel
Posté le 30-12-2002 à 19:03:05  profilanswer
 

ok. En fait je voudrais quand même garder le port 80 de libre pour apache :)
 
Pour faire un tunnel pkoi pas, mais que me faut il exactement, et comment le mettre en place ?
 

n°206398
BigBen
M'enfin
Posté le 30-12-2002 à 22:47:49  profilanswer
 

Bah pour ca, suffit d'utiliser le 443 (port https par défaut), que le proxy doit aussi laiser passer...
 
A priori, ca a même plus de chances de marcher qu'en utilisant le 80...

n°206404
BigBen
M'enfin
Posté le 30-12-2002 à 23:04:33  profilanswer
 

sinon, pour la technique du stunnel (je recopie un howto rapide fait par une connaissance...)
 
céation d'un certificat SSL :  
 
en root sur la machine à laquelle aboutit le tunnel
 
    cd /etc/ssl/certs/
    openssl req -new -x509 -nodes -days 365 -out stunnel.pem -keyout stunnel.pem
    chmod 600 stunnel.pem
    dd if=/dev/random of=temp_file count=2
    openssl dhparam -rand temp_file 512 >> stunnel.pem
 
 (Ce sont les instructions du /usr/share/doc/stunnel/README.Debian,
  rien de plus.)
 
ca crée un certificat (stunnel.pem, valable 365 jours) permettant de crypter en SSL les données envoyée sur le stunnel, et lui donne les droits d'accès necessaires.
 
 
C'est une étape obligatoire des qu'on veut établir une connexion cryptée, à faire aussi pour l'autre méthode, mais peut-être automatisée dans ce cas...
 
 
toujours en root, à chaque démarrage (script) :  
 
stunnel -p /etc/ssl/certs/stunnel.pem -d 443 -r adresse_du_serveur:22
 
sur le client :
 
    stunnel -c -r adresse_de_la_machine_ou_aboutit_le_tunnel:443 -d 1242
 
Y va ptet gueuler en disant que le certificat n'est pas signé par une authorité compétence, mais bonn RAF... ca devrait marcher...
 
puis pour se connecter
 
    ssh -p 1242 utilisateur@localhost
 
 
Voila... Le principal problème, c'est qu'il faut avoir stunnel installé sur le client... Ce qui est pas forcément évident...

n°206455
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 08:57:56  profilanswer
 

héhé je me doutais bien de ca. Bah mon poste client est sous NT 4.0.
 
Je pensais prendre la main via Putty.
 
Bon je ne pense pas que ca soit possible, le mieux serait vraiment un shell en Java par exemple :)
 
J'en ai vu un en php mais c'est assez limitté quand même.
 
up par la même occasion :)
Merci pour les réponses deja

n°206461
BigBen
M'enfin
Posté le 31-12-2002 à 09:17:35  profilanswer
 

stunnel existe sous windows (www.stunnel.org) auquel cas, tu peux tres bien utiliser putty...
 
bon, ok, j'arrete.. ;)

mood
Publicité
Posté le 31-12-2002 à 09:17:35  profilanswer
 

n°206463
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 09:35:18  profilanswer
 

ok je regarde ca :)
 
je dl les fichiers pour windows, cette apres-midi je prepare mon linux comme il faut.
 
Par contre une petite question, j'ai une passerelle, le serveur web et sur un autre pc, je forward donc le port 80.
 
En utilisant SSH sur SSL je vais atterir sur le port 22 de ma passerelle ou sur le port SSL ?
 
Ou alors est ce que le port SSL ne me sert que pour sortir et passer au travers du proxy ?

n°206478
BigBen
M'enfin
Posté le 31-12-2002 à 11:19:56  profilanswer
 

En fait, le principe est le même que pour un tunnel SSH :
 
tu crées le stunnel côté serveur sur la machine que tu veux (ta passerelle, par exemple) Tout ce quelle va faire, c'est désencapsuler les paquets, et les rediriger vers adresse_du_serveur, qui peux être n'importe quelle machine, à l'autre bout du monde si tu veux (ou, plus logiquement, ton serveur ici, ou localhost, si la machine à administrer est celle qui gère le tunnel...)
 
Si tu veux pouvoir administrer plusieurs machines, il faut soit redémarrer stunnel côté serveur à chaque fois en changeant l'adresse de destination, ou trouver plusieurs ports que ton proxy forwarde...
 
Enfin, dans ce cas, le plus simple, à mon avis, c'est de faire un beau tunnel vers une machine (la passerelle par exemple), et depuis le shell de cette machine, réouvrir des cessions SSH vers les autres...

n°206479
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 11:32:44  profilanswer
 

BigBen a écrit :

En fait, le principe est le même que pour un tunnel SSH :
 
tu crées le stunnel côté serveur sur la machine que tu veux (ta passerelle, par exemple) Tout ce quelle va faire, c'est désencapsuler les paquets, et les rediriger vers adresse_du_serveur, qui peux être n'importe quelle machine, à l'autre bout du monde si tu veux (ou, plus logiquement, ton serveur ici, ou localhost, si la machine à administrer est celle qui gère le tunnel...)
 
Si tu veux pouvoir administrer plusieurs machines, il faut soit redémarrer stunnel côté serveur à chaque fois en changeant l'adresse de destination, ou trouver plusieurs ports que ton proxy forwarde...
 
Enfin, dans ce cas, le plus simple, à mon avis, c'est de faire un beau tunnel vers une machine (la passerelle par exemple), et depuis le shell de cette machine, réouvrir des cessions SSH vers les autres...


 
oui c'est ce que je pense aussi. Donc si j'ai bien compris
 
Je créé le tunnel "serveur" sur ma passerelle linux en ecoute sur le port https.
 
Sur mon poste Windows au boulot, je lance le soft Stunnel qui ira se connecter au "serveur" tunnel (ma passerelle).  
Et apres hop je me connecte en ssh sur le port https.
 
Par contre, stunnel sous Win veut un fichier de conf, ok mais je ne trouve aucun exemple sur le net d'un fichier de conf pour la version Win

n°206481
BigBen
M'enfin
Posté le 31-12-2002 à 11:44:19  profilanswer
 

bon, alors, j'essaie de résumer le principe de facon claire (j'ai dit que j'essayais, hein... ;) )
 
En fait, c'est ca :
 
|-------|
|serveur|\
|-------| \ |-------|.........(-----)...........|-------|
                \|tunnel2|------(proxy)--------|tunnel1|\
                 |-------|.........(-----)...........|-------| \ |------|
                                                                          \|client |
                                                                           |------|
 
sur tunnel1, t'ouvres une cession stunnel qui ecoute sur un port quelconque (le 1242 dans mon exemple), qui encapsule tout ce qu'il recoit dans du SSL, et qui envoie le tout vers tunnel2 sur le port 443. Ca passe à travers le proxy, vu que c'est du SSL, sur le 443, donc que ca ressemble beaucoup à du https.
 
tunnel2 recoit les paquets sur son 443, les désencapsule, et les réexpédie sur le 22 de serveur
 
le plus logique dans tonn cas, ca serait de faire tunnel1=client
 
tunnel2=ta passerelle
serveur=le serveur que tu veux administrer.
 
concrètement, pour te connecter, tu lances putty avec comme adresse tunnel1 et port 1242, dans mon exemple...
 
 
Pour ce qui est du paramétrage du stunnel, sais pas... y a rien sur leur site ?


Message édité par BigBen le 31-12-2002 à 11:51:15
n°206482
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 11:48:02  profilanswer
 

BigBen a écrit :

bon, alors, j'essaie de résumer le principe de facon claire (j'ai dit que j'essayais, hein... ;) )
 
En fait, c'est ca :
 
|-------|
|serveur|\
|-------| \ |-------|.........(-----)........|-------|
                \|tunnel2|------(proxy)--------|tunnel1|\
                 |-------|.........(-----)........|-------| \ |------|
                                                         \|client|
                                                          |------|
 
sur tunnel1, t'ouvres une cession stunnel qui ecoute sur un port quelconque (le 1242 dans mon exemple), qui encapsule tout ce qu'il recoit dans du SSL, et qui envoie le tout vers tunnel2 sur le port 443. Ca passe à travers le proxy, vu que c'est du SSL, sur le 443, donc que ca ressemble beaucoup à du https.
 
tunnel2 recoit les paquets sur son 443, les désencapsule, et les réexpédie sur le 22 de serveur
 
le plus logique dans tonn cas, ca serait de faire tunnel1=client
 
tunnel2=ta passerelle
serveur=le serveur que tu veux administrer.
 
concrètement, pour te connecter, tu lances putty avec comme adresse tunnel1 et port 1242, dans mon exemple...
 
 
Pour ce qui est du paramétrage du stunnel, sais pas... y a rien sur leur site ?


 
ok je comprend un peu mieux, c'est interessant comme tout :)
Sinon pour le fichier de conf stunnel version windows je ne trouve rien :/
 
Si tu trouves ;) je suis preneur

n°206483
BigBen
M'enfin
Posté le 31-12-2002 à 12:00:11  profilanswer
 

apres edition d'un fichier de conf sous linux, à priori, si y a pas d'options supplémentaires pour la version win, y aurais pas de paramaètres à lui mettre ds le fichier de conf (correspondent à des options coté serveur...
 
t'as essayé avec un fichier de conf vide ?


Message édité par BigBen le 31-12-2002 à 12:03:13
n°206485
BigBen
M'enfin
Posté le 31-12-2002 à 12:06:49  profilanswer
 

et sinon, t'as bien fait ca ?
 
1. Download libssl32.dll and libeay32.dll into \windows\system directory.
 
(risque d'être dur si t'as pas admin sur la machine... ptet que ca marche en les mettant ds un dossier quelconque qui est dans le PATH...

n°206486
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 12:07:16  profilanswer
 

BigBen a écrit :

apres edition d'un fichier de conf sous linux, à priori, si y a pas d'options supplémentaires pour la version win, y aurais pas de paramaètres à lui mettre ds le fichier de conf (correspondent à des options coté serveur...
 
t'as essayé avec un fichier de conf vide ?


 
oui oui sans le fichier stunnel.conf tu as un message d'erreur.
J'avais donc créé un stunnel.conf vide et stunnel se lance bien.
 
Il y a juste un message apres qui est :
 
2002.12.31 11:44:28 LOG5[208:239]: stunnel 4.03 on x86-pc-mingw32-gnu WIN32 with OpenSSL 0.9.6g 9 Aug 2002
2002.12.31 11:44:28 LOG3[208:271]: SSL_accept: Peer suddenly disconnected
 
C'est la derniere phrase que je n'aime pas trop.
 
Enfin bref, bon je rentre a la maison et je met en route stunnel sur mon linux, et on verra jeudi ce que ca donne :)
 
Faut il activer certaines options particulieres dans le noyau ?

n°206488
BigBen
M'enfin
Posté le 31-12-2002 à 12:15:47  profilanswer
 

pour le log, sais pas trop, faudra essayer...
 
sinon, pas d'option particulière dans le noyau (enfin, bon, faut que le "networking" soit activé, quoi...  ;)
 
Sinon, faut juste installer openSSL avec si c'est pas déjà fait...

n°206498
lebibi
Notre torture c'est la tourtel
Posté le 31-12-2002 à 13:11:33  profilanswer
 

bon voila j'ai fait comme tu m'as dit, il ne me reste plus qu'a tester jeudi depuis le bureau
 
Y a un moyen de faire des test ?
 
en interne ?

n°206688
lebibi
Notre torture c'est la tourtel
Posté le 01-01-2003 à 18:21:39  profilanswer
 

up

n°206910
lebibi
Notre torture c'est la tourtel
Posté le 02-01-2003 à 15:35:28  profilanswer
 

up
 
je suis au boulot mais ca ne marche pas :'(

n°206920
BigBen
M'enfin
Posté le 02-01-2003 à 16:01:42  profilanswer
 

euuuh, c'est à dire ? à quel niveau, quel message d'erreur ?

n°207105
lebibi
Notre torture c'est la tourtel
Posté le 03-01-2003 à 10:17:37  profilanswer
 

bah je n'arrive pas a me connecter avec putty :'(
 
C'est comme avant, je dois merder quelque part, c'est sur.
 
La conf de stunnel sous Win ? (y a rien dedans)
Conf de putty particuliere ?

n°207146
BigBen
M'enfin
Posté le 03-01-2003 à 12:43:16  profilanswer
 

bah putty, faut juste s'assurer de mettre la bonne adresse et le bon port... celui du tunnel, pas du serveur directement (localhost:1242, si tu as suivi mon exemple...) sinon, bah c'est qu'il y a une couille qq part... sans plus d'indications, va être dur à diagnostiquer...

n°207161
lebibi
Notre torture c'est la tourtel
Posté le 03-01-2003 à 13:27:35  profilanswer
 

BigBen a écrit :

bah putty, faut juste s'assurer de mettre la bonne adresse et le bon port... celui du tunnel, pas du serveur directement (localhost:1242, si tu as suivi mon exemple...) sinon, bah c'est qu'il y a une couille qq part... sans plus d'indications, va être dur à diagnostiquer...


 
stunnel -c -r adresse_de_la_machine_ou_aboutit_le_tunnel:443 -d 1242
 
ca je l'execute aussi sur ma passerelle ???

n°207208
BigBen
M'enfin
Posté le 03-01-2003 à 14:52:33  profilanswer
 

t'executes ca sur ton client winnt, puis sur le même client, tu lances putty avec comme paramètres : serveur localhost, port 1242

n°207245
lebibi
Notre torture c'est la tourtel
Posté le 03-01-2003 à 16:33:53  profilanswer
 

tiens pour la config de stunnel sous Win  
 

Code :
  1. Global options
  2. CApath          = CA certificate directory for 'verify' option
  3. CAfile          = CA certificate file for 'verify' option
  4. cert            = certificate chain
  5. ciphers         = list of permitted SSL ciphers
  6. client          = yes|no client mode (remote service uses SSL)
  7. debug           = [facility].level (e.g. daemon.info)
  8. EGD             = path to Entropy Gathering Daemon socket
  9. key             = certificate private key
  10. service         = NT service name
  11. output          = file to append log messages
  12. RNDbytes        = bytes to read from random seed files
  13. RNDfile         = path to file with random seed data
  14. RNDoverwrite    = yes|no overwrite seed datafiles with new random data
  15. session         = session cache timeout (in seconds)
  16. socket          = a|l|r:option=value[:value]
  17.                   set an option on accept/local/remote socket
  18. verify          = level of peer certificate verification
  19.                   level 1 - verify peer certificate if present
  20.                   level 2 - require valid peer certificate always
  21.                   level 3 - verify peer with locally installed certificate
  22. Service-level options
  23. accept          = [host:]port accept connections on specified host:port
  24. connect         = [host:]port connect remote host:port
  25. delay           = yes|no delay DNS lookup for 'connect' option
  26. ident           = username for IDENT (RFC 1413) checking
  27. local           = IP address to be used as source for remote connections
  28. protocol        = protocol to negotiate before SSL initialization
  29.                   currently supported: smtp, pop3, nntp
  30. TIMEOUTbusy     = seconds to wait for expected data
  31. TIMEOUTclose    = seconds to wait for close_notify (set to 0 for buggy MSIE)
  32. TIMEOUTidle     = seconds to keep idle connection


 
 
J'ai mis ca mais je ênse que c'est incomplet :/
 

Code :
  1. client = yes
  2. connect = bibi.hn.org:443

n°222639
lebibi
Notre torture c'est la tourtel
Posté le 11-02-2003 à 17:08:08  profilanswer
 

up

n°222668
nico168
Posté le 11-02-2003 à 17:53:35  profilanswer
 

si t'y arrive pas avec la solution qu'il t'a été donné, essaye d'utilise http_tunnel
 
http://www.nocrew.org/software/httptunnel.html
 
http://linuxfr.org/tips/129.html


Message édité par nico168 le 11-02-2003 à 17:55:28
n°223160
lebibi
Notre torture c'est la tourtel
Posté le 12-02-2003 à 17:17:05  profilanswer
 

ok je vais essayer ca, enfin ca me tente pas trop telnet ;)
je vais plutot voir ca avec SSH et putty

n°223930
lebibi
Notre torture c'est la tourtel
Posté le 14-02-2003 à 11:37:47  profilanswer
 

j'ai essayé la solution de Linusfr mais ca ne semble pas marcher.
 
Par contre j'ai modifié 23 pae 22 (je veux du SSH) et je suis sous du NT 4.0 et je n'ai pas réussi a dl les fichiers pour NT, donc j'ai pris les Win32.
 
Je vois bien mon script dans le gestionnaire des taches.
 
Y a t'il quelque chose a configurer (j'utilise putty aussi) que j'ai pu oublier ?
 
Une autre solution ?
 
Merci de m'aider
 
Ha aussi je forward les ports 8888 (avec iptables) en u^dp et tcp vers une autre box de mon réseau
 
Si vous aves des idées, je suis preneur :)

n°225472
the_fireba​ll
I have fucking failed
Posté le 18-02-2003 à 02:02:42  profilanswer
 

http://shellinabox.com/
 
tu installes l'applet java de pref sur un serveur web en ssl et apres, tu utilises un simple browser pour acceder a ton serveur. Pas de tunnel, pas de truc à lancer toi meme sur les machines, jsute l'applet java qui se gere elle meme plus un daemon qu'elle lance sous le user d'apache qd il le faut.
 
C sympathique comme soft en tout, chui fan depuis ce matin qu'on me l'a fait découvrir


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
n°225559
lebibi
Notre torture c'est la tourtel
Posté le 18-02-2003 à 11:47:54  profilanswer
 

Ha oui c'est ca me semble cool :)
 
j'ai commencé a l'installer mais il me faut java.
 
je dl la jdk1.1 sur le site de ibm ?

n°225573
matthias
Posté le 18-02-2003 à 12:07:30  profilanswer
 

Lebibi a écrit :

Ha oui c'est ca me semble cool :)
 
j'ai commencé a l'installer mais il me faut java.
 
je dl la jdk1.1 sur le site de ibm ?


 
le jdk1.1 c'est la prehistoire !! recupere le jre1.4.1_01 chez sun ce sera bcp mieux

n°225590
Tomate
Posté le 18-02-2003 à 12:28:25  profilanswer
 

une pitite kestion pour stunnel :
kan le client etablie une connexion avec le server, le server forward le trafic vers un port d une machine (k on a defini)
 
disons que c est le port 22 sur localhost.
 
Alors je me demandais : Est ce qu il faut ouvrir le port 22 a l exterieur, ou le port 443 suffit il ???
 
car si j ai pas besoin d ouvrir le port 22, ca serait vraiment sympa (pour les trous d uc avec nmap et compagnie :o )
 
voilou  :hello:

n°225865
lebibi
Notre torture c'est la tourtel
Posté le 18-02-2003 à 22:43:10  profilanswer
 

up
 
 
si vous avez d'autres infos
ca merde avec java :'(

n°225903
the_fireba​ll
I have fucking failed
Posté le 19-02-2003 à 13:00:12  profilanswer
 

Salut, j'ai pas compris ton pb sur le java, dsl.
 
J'ai pris le soft sur la page web, je l'ai decompressé dans un rep d'apache et hop, depuis le browser du taf ca marche. La java n'est requit que pour ton browser en tant que plugin


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Accès Shell sur une page web - stunnel inside !!!

 

Sujets relatifs
Comment installer des pilotes sur une RedHat 8.0 (Big Newbies Inside)[Newbie inside] PHP3
[noob inside] besoin d'aide pour installer linux [guru linux needed]Netscape 7.01 fr et Linux : Bug inside ?
kiche inside ---> J'arrive pas a avoir accès a mon 2nd hdd ss RH 8.0HELP erreur script shell
Limiter l'acces a un rep ftp[hum ... ptit problème smtp conflit inside]
faire marcher mon SSH alors que je n'ai acces ka webmin 
Plus de sujets relatifs à : Accès Shell sur une page web - stunnel inside !!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR