Re: Tunnel SSH et redirection générique pour un port...

2006-09-27 Par sujet David BERCOT
Bonjour,

Le mardi 26 septembre 2006 à 21:00 +0200, Paul Filo a écrit :
  En tous cas, sachant que la sécurité du tunnel SSH me convient, si
  j'avais un moyen (proxy ?) de pouvoir y faire transiter le trafic que je
  souhaite (une sélection uniquement !), ça me conviendrait
  parfaitement...
  
  Merci d'avance pour les indices que vous pourrez me donner ;-)
 
 Tu as essayé vtun (http://vtun.sourceforge.net/) ? Tu fais un tunnel
 vtun dans ton tunnel ssh et avec les bonnes routes coté client, tu dois
 pouvoir t'en tirer (ce que tu veux faire n'est pas très clair).

J'ai trouvé quelques exemples sur vtun, mais toujours avec 3 réseaux
reliés ensemble et j'ai du mal à adapter tout ça à mes besoins...

Je vais donc essayer d'expliquer plus clairement mon problème...

J'ai un ordinateur A, connecté à Internet.
J'ai un réseau privé R, dont un serveur SERV_PRIV est connecté à
Internet et accessible via SSH.
J'arrive donc à faire un tunnel SSH entre ma machine A et mon serveur
SERV_PRIV, sauf que, dans la définition du tunnel, je dois préciser
l'adresse Internet à laquelle je veux me connecter via le tunnel.
Exemple :
ssh -N -f SERV_PRIV -L110:pop.wanadoo.fr:110
Ceci me limite donc, pour le port 110 par exemple, à un seul serveur
accessible via le tunnel (ici, pop.wanadoo.fr).

Or, mon besoin est le suivant :
- création d'un tunnel SSH entre A et SERV_PRIV
- ajout de routes spéciales sur certains ports pour que les requêtes
correspondantes passent par SERV_PRIV et ensuite par le réseau R
A titre d'exemple, ainsi, si je fais une requête sur le port 110, par
exemple sur pop.wanadoo.fr, mais aussi sur pop.free.fr, je souhaiterais
que ces deux requêtes passent par mon tunnel puis par le réseau R.

Déjà, comme lors de la création de mon tunnel, je précise le serveur
distant (pop.wanadoo.fr dans l'exemple), j'ai un peu de mal à voir
comment modifier tout ça.

Avec les réponses que vous m'avez données, j'imagine bien une sorte de
serveur proxy sur mon serveur SERV_PRIV qui redirigerait les requêtes
qui lui arrivent sur les réseau R (comme il le fait actuellement vers
pop.wanadoo.fr). Dans ce cas, j'établirais, sur mon ordinateur A, un
tunnel avec une syntaxe du genre :
ssh -N -f SERV_PRIV -L5000:proxy_serv_priv:5000
Mais alors, que puis-je mettre comme serveur proxy ?
Et ensuite, comment dire à une requête de passer par ce serveur proxy
(par exemple, dans Evolution, comment lui dire que mon serveur POP est
pop.wanadoo.fr via proxy_serv_priv ?

J'espère avoir été un peu plus clair dans mes explications...

Merci d'avance.

David.


signature.asc
Description: Ceci est une partie de message	numériquement signée


RE: Tunnel SSH et redirection générique pour un port...

2006-09-27 Par sujet David BERCOT
Re-bonjour,

Le mercredi 27 septembre 2006 à 11:00 +0200, Mathieu JANIN a écrit :
 Bonjour,
 je me permets d'intervenir parcequ'il me parait qu'il y a un problême à la
 base:
 dis moi si je me trompe, mais tu veux pouvoir par exemple crypter ton
 traffic pop avec tes différents services de mail ?

Non, pas du tout. Je veux juste passer par une machine intermédiaire.
Donc, mon trafic sera crypté entre ma machine A et SERV_PRIV, mais pas
entre SERV_PRIV et mon serveur POP (par exemple). Cela ne me pose aucun
problème.
En fait, d'où je suis, je n'ai pas accès au serveur POP. Mais en
utilisant mon tunnel et en passant par SERV_PRIV, là, j'y ai accès ;-)

 Et bien quoi que tu fasse, tant que tu attaqueras un serveur pop3, il y aura
 toujours une partie non cryptée, à savoir, de SERV_PRIV vers tes differents
 serveurs pop, la communication se fera en clair.
 Par ailleurs, etant donné que tu n'as pas de masquerading de A jusqu'au
 serveur pop, les paquets en retour (toujours non cryptés) prendront la route
 directe vers ta machine A, sans repasser par R ni SERV_PRIV.

Là, il ne me semble pas que ce soit le cas... Pour l'instant, j'ai juste
ceci :
ssh -N -f SERV_PRIV -L110:pop.wanadoo.fr:110
et ça marche. Si les paquets, au retour, allaient directement du serveur
de Wanadoo à ma machine, ils n'arriveraient pas. Or, là, je les reçois
bien...

 Si tu installes un proxy (poproxy, par exemple) sur SERV_PRIV, les paquets
 reviendront bien jusqu'à ton proxy, mais en non crypté entre le proxy et le
 serveur pop.
 Enfin ce que j'en dis...

Tu as raison, je n'avais peut être pas été suffisamment clair...

David.

 ++
 
  -Message d'origine-
  De : David BERCOT [mailto:[EMAIL PROTECTED]
  Envoyé : mercredi 27 septembre 2006 10:16
  À : Debian [User-French]
  Objet : Re: Tunnel SSH et redirection générique pour un port...
  
  
  Bonjour,
  
  Le mardi 26 septembre 2006 à 21:00 +0200, Paul Filo a écrit :
En tous cas, sachant que la sécurité du tunnel SSH me 
  convient, si
j'avais un moyen (proxy ?) de pouvoir y faire transiter 
  le trafic que je
souhaite (une sélection uniquement !), ça me conviendrait
parfaitement...

Merci d'avance pour les indices que vous pourrez me donner ;-)
   
   Tu as essayé vtun (http://vtun.sourceforge.net/) ? Tu fais un tunnel
   vtun dans ton tunnel ssh et avec les bonnes routes coté 
  client, tu dois
   pouvoir t'en tirer (ce que tu veux faire n'est pas très clair).
  
  J'ai trouvé quelques exemples sur vtun, mais toujours avec 3 réseaux
  reliés ensemble et j'ai du mal à adapter tout ça à mes besoins...
  
  Je vais donc essayer d'expliquer plus clairement mon problème...
  
  J'ai un ordinateur A, connecté à Internet.
  J'ai un réseau privé R, dont un serveur SERV_PRIV est connecté à
  Internet et accessible via SSH.
  J'arrive donc à faire un tunnel SSH entre ma machine A et mon serveur
  SERV_PRIV, sauf que, dans la définition du tunnel, je dois préciser
  l'adresse Internet à laquelle je veux me connecter via le tunnel.
  Exemple :
  ssh -N -f SERV_PRIV -L110:pop.wanadoo.fr:110
  Ceci me limite donc, pour le port 110 par exemple, à un seul serveur
  accessible via le tunnel (ici, pop.wanadoo.fr).
  
  Or, mon besoin est le suivant :
  - création d'un tunnel SSH entre A et SERV_PRIV
  - ajout de routes spéciales sur certains ports pour que les requêtes
  correspondantes passent par SERV_PRIV et ensuite par le réseau R
  A titre d'exemple, ainsi, si je fais une requête sur le port 110, par
  exemple sur pop.wanadoo.fr, mais aussi sur pop.free.fr, je 
  souhaiterais
  que ces deux requêtes passent par mon tunnel puis par le réseau R.
  
  Déjà, comme lors de la création de mon tunnel, je précise le serveur
  distant (pop.wanadoo.fr dans l'exemple), j'ai un peu de mal à voir
  comment modifier tout ça.
  
  Avec les réponses que vous m'avez données, j'imagine bien une sorte de
  serveur proxy sur mon serveur SERV_PRIV qui redirigerait les requêtes
  qui lui arrivent sur les réseau R (comme il le fait actuellement vers
  pop.wanadoo.fr). Dans ce cas, j'établirais, sur mon ordinateur A, un
  tunnel avec une syntaxe du genre :
  ssh -N -f SERV_PRIV -L5000:proxy_serv_priv:5000
  Mais alors, que puis-je mettre comme serveur proxy ?
  Et ensuite, comment dire à une requête de passer par ce serveur proxy
  (par exemple, dans Evolution, comment lui dire que mon serveur POP est
  pop.wanadoo.fr via proxy_serv_priv ?
  
  J'espère avoir été un peu plus clair dans mes explications...
  
  Merci d'avance.
  
  David.
  
 
 


signature.asc
Description: Ceci est une partie de message	numériquement signée


Configuration de socks et iptables [Was Re: Tunnel SSH et redirection générique pour un port...]

2006-09-27 Par sujet David BERCOT
Bon, je continue à réfléchir sur le sujet (je ne vais quand même pas
attendre que ça m'arrive tout cuit ;-))) et, finalement, j'ai
l'impression qu'un serveur socks installé sur mon serveur SERV_PRIV
devrait faire l'affaire, non ?

Ensuite, pour les applis qui peuvent utiliser un serveur proxy, je les
redirige vers le serveur socks et, pour celles qui ne peuvent pas (genre
Evolution ?), il doit suffire de rajouter des règles iptables du genre :
demande vers pop.wanadoo.fr sur port 110 doit passer par serveur socks.

Est-ce que ça vous semble jouable ?

Maintenant, socks étant un terme générique, j'admets que je n'ai rien
trouvé de satisfaisant en terme d'exemple... Auriez-vous un lien ou
deux ?
De la même manière, ne pratiquant pas du tout iptables, auriez-vous un
exemple ou un lien pour ce que je dois faire ?

Merci d'avance.

David.

Le mercredi 27 septembre 2006 à 10:15 +0200, David BERCOT a écrit :
 Bonjour,
 
 Le mardi 26 septembre 2006 à 21:00 +0200, Paul Filo a écrit :
   En tous cas, sachant que la sécurité du tunnel SSH me convient, si
   j'avais un moyen (proxy ?) de pouvoir y faire transiter le trafic que je
   souhaite (une sélection uniquement !), ça me conviendrait
   parfaitement...
   
   Merci d'avance pour les indices que vous pourrez me donner ;-)
  
  Tu as essayé vtun (http://vtun.sourceforge.net/) ? Tu fais un tunnel
  vtun dans ton tunnel ssh et avec les bonnes routes coté client, tu dois
  pouvoir t'en tirer (ce que tu veux faire n'est pas très clair).
 
 J'ai trouvé quelques exemples sur vtun, mais toujours avec 3 réseaux
 reliés ensemble et j'ai du mal à adapter tout ça à mes besoins...
 
 Je vais donc essayer d'expliquer plus clairement mon problème...
 
 J'ai un ordinateur A, connecté à Internet.
 J'ai un réseau privé R, dont un serveur SERV_PRIV est connecté à
 Internet et accessible via SSH.
 J'arrive donc à faire un tunnel SSH entre ma machine A et mon serveur
 SERV_PRIV, sauf que, dans la définition du tunnel, je dois préciser
 l'adresse Internet à laquelle je veux me connecter via le tunnel.
 Exemple :
 ssh -N -f SERV_PRIV -L110:pop.wanadoo.fr:110
 Ceci me limite donc, pour le port 110 par exemple, à un seul serveur
 accessible via le tunnel (ici, pop.wanadoo.fr).
 
 Or, mon besoin est le suivant :
 - création d'un tunnel SSH entre A et SERV_PRIV
 - ajout de routes spéciales sur certains ports pour que les requêtes
 correspondantes passent par SERV_PRIV et ensuite par le réseau R
 A titre d'exemple, ainsi, si je fais une requête sur le port 110, par
 exemple sur pop.wanadoo.fr, mais aussi sur pop.free.fr, je souhaiterais
 que ces deux requêtes passent par mon tunnel puis par le réseau R.
 
 Déjà, comme lors de la création de mon tunnel, je précise le serveur
 distant (pop.wanadoo.fr dans l'exemple), j'ai un peu de mal à voir
 comment modifier tout ça.
 
 Avec les réponses que vous m'avez données, j'imagine bien une sorte de
 serveur proxy sur mon serveur SERV_PRIV qui redirigerait les requêtes
 qui lui arrivent sur les réseau R (comme il le fait actuellement vers
 pop.wanadoo.fr). Dans ce cas, j'établirais, sur mon ordinateur A, un
 tunnel avec une syntaxe du genre :
 ssh -N -f SERV_PRIV -L5000:proxy_serv_priv:5000
 Mais alors, que puis-je mettre comme serveur proxy ?
 Et ensuite, comment dire à une requête de passer par ce serveur proxy
 (par exemple, dans Evolution, comment lui dire que mon serveur POP est
 pop.wanadoo.fr via proxy_serv_priv ?
 
 J'espère avoir été un peu plus clair dans mes explications...
 
 Merci d'avance.
 
 David.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Re: Tunnel SSH et redirection générique pour un port...

2006-09-26 Par sujet David BERCOT
Bonjour,

Suite à vos différents conseils, j'ai effectué des recherches
supplémentaires. Mais pour l'instant, je n'arrive pas encore à faire ce
que je veux...

Tout d'abord, une petite parenthèse rapide :
Le dimanche 24 septembre 2006 à 20:30 +0200, Jean-Michel Schelcher a
écrit : 
 Si j'ai bien compris, tu veux rediriger toutes les requÃtes pop
 sortantes vers le port 110 local, donc dans le tunnel ?
 Dans ce cas...
 iptables -t nat -I OUTPUT -p tcp --dport 110 -j DNAT --to 127.0.0.1:110
 ... devrait fonctionner.
 Ce qui signifie en gros, pour tous les paquets en sortie avec le port
 destination a 110/tcp, on rÃÃcrit l'adresse de destination a 127.0.0.1

En fait, je ne crois pas que ce soit tout à fait ça. Avec la règle SSH
établissant le tunnel [ssh -N -f monserveur -L110:pop.wanadoo.fr:110],
si je rajoute la règle iptables ci-dessus, le résultat devrait être que
tous les requêtes à destination du port 110 seraient redirigées vers le
serveur de Wanadoo via le tunnel, non ?
En fait, je souhaiterais quelque chose de plus générique...

Le dimanche 24 septembre 2006 à 16:15 +0200, Gilles Mocellin a écrit :
 Le dimanche 24 septembre 2006 15:47, David BERCOT a écrit :
  Bonjour,
 
  Je reviens sur mon problème de tunnel SSH. J'arrive bien à le mettre en
  oeuvre et à effectuer la redirection pour un serveur particulier sur un
  port particulier. Mais maintenant, je souhaiterais effectuer la
  redirection pour un port particulier, mais pour n'importe quel
  serveur !!! Par exemple, je voudrais effectuer la redirection pour le
  port 110. Ainsi, si je fais appel au serveur pop1 (avec le port par
  défaut, soit 110), la demande passera par le tunnel. Si je fais appel au
  serveur pop2, le chemin sera le même...
 
 Ça ne s'appelle plus un tunnel mais un proxy !
 Ou du routage via un VPN.
 Pour du proxy TCP quelconque, il y a socks.
 Pour du routage via VPN, il y a openvpn, de l'IPSEC...
 
 Dans tous les cas, il faut être admin du serveur qui fera proxy/routeur pour 
 installer et configurer ces serveurs.
 Quoique, sans être admin, mais avec un compte, on doit pouvoir compiler les 
 proxies applicatifs dans son home et les faire tourner sur des ports  1024.

Concernant les problèmes de droits, y'a aucun souci !!!
Maintenant, comme il s'agit effectivement de trafic TCP quelconque,
pourquoi pas la solution du proxy.
J'ai fait quelques recherches sur socks sans vraiment trouver mon
bonheur (j'ai bien trouvé des choses sur connect-proxy ou dante mais
sans explication réelle de mise en oeuvre). D'autre part, j'ai un petit
problème conceptuel. En effet, dans mon tunnel SSH, je précise toujours
le serveur cible (dans l'exemple vu plus haut, il s'agissait de
pop.wanadoo.fr). Or, là, j'aurais besoin de ce tunnel pour n'importe
quel serveur...

J'ai aussi regardé openvpn qui devrait pouvoir me convenir, mais là non
plus, je n'ai rien trouvé de vraiment satisfaisant (les exemples étaient
surtout basé sur SSL et sur des clients Windows).

Sinon, j'ai aussi vu un truc qui s'appelle secvpn mais sans plus de
détail...

En tous cas, sachant que la sécurité du tunnel SSH me convient, si
j'avais un moyen (proxy ?) de pouvoir y faire transiter le trafic que je
souhaite (une sélection uniquement !), ça me conviendrait
parfaitement...

Merci d'avance pour les indices que vous pourrez me donner ;-)

David.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Tunnel SSH et redirection générique pour un port...

2006-09-24 Par sujet David BERCOT
Bonjour,

Je reviens sur mon problème de tunnel SSH. J'arrive bien à le mettre en
oeuvre et à effectuer la redirection pour un serveur particulier sur un
port particulier. Mais maintenant, je souhaiterais effectuer la
redirection pour un port particulier, mais pour n'importe quel
serveur !!! Par exemple, je voudrais effectuer la redirection pour le
port 110. Ainsi, si je fais appel au serveur pop1 (avec le port par
défaut, soit 110), la demande passera par le tunnel. Si je fais appel au
serveur pop2, le chemin sera le même...

Savez-vous si c'est possible ? Et si oui, comment ;-)

Merci d'avance.

David.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Re: Tunnel SSH et redirection générique pour un port...

2006-09-24 Par sujet Gilles Mocellin
Le dimanche 24 septembre 2006 15:47, David BERCOT a écrit :
 Bonjour,

 Je reviens sur mon problème de tunnel SSH. J'arrive bien à le mettre en
 oeuvre et à effectuer la redirection pour un serveur particulier sur un
 port particulier. Mais maintenant, je souhaiterais effectuer la
 redirection pour un port particulier, mais pour n'importe quel
 serveur !!! Par exemple, je voudrais effectuer la redirection pour le
 port 110. Ainsi, si je fais appel au serveur pop1 (avec le port par
 défaut, soit 110), la demande passera par le tunnel. Si je fais appel au
 serveur pop2, le chemin sera le même...

 Savez-vous si c'est possible ? Et si oui, comment ;-)

 Merci d'avance.

 David.

Ça ne s'appelle plus un tunnel mais un proxy !
Ou du routage via un VPN.
Pour certains services il y a des proxies dédiés : squid pour le web, P3Scan 
pour le courrier POP, Perdition ou IMAP proxy pour l'IMAP...

Pour du proxy TCP quelconque, il y a socks.
Pour du routage via VPN, il y a openvpn, de l'IPSEC...

Dans tous les cas, il faut être admin du serveur qui fera proxy/routeur pour 
installer et configurer ces serveurs.
Quoique, sans être admin, mais avec un compte, on doit pouvoir compiler les 
proxies applicatifs dans son home et les faire tourner sur des ports  1024.


pgpSFwxkfpzUt.pgp
Description: PGP signature