Pour éditer le wiki, il faut demander un compte à un Lapin !

Difference between revisions of "Passerelle SSH"

From Le L∞p's Wiki
Jump to: navigation, search
m (+cat +wikify)
m (Text replace - "</tt>" to "</code>")
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Comment donner un acces distant sur le reseau du Loop, sans en compromettre la securite, ni alourdir la gestion de [[:Category:Infrastructure|l'infrastructure]] ?
+
Comment donner un accès distant sur le réseau du Loop sans en compromettre la sécurité ni alourdir la gestion de [[:Category:Infrastructure|l'infrastructure]] ?
  
== Premieres idées et résultats de recherche ==
+
== Cahier des charges ==
  
A la mano :
+
* On doit pouvoir atteindre une machine du LAN sans avoir un compte sur la passerelle ; la passerelle ne doit pas gérer les comptes utilisateurs.
* ssh user@passerelle "ssh user@cible"
+
* SSH version 2 uniquement<ref>[http://www.snailbook.com/faq/ssh-1-vs-2.auto.html What's the difference between versions 1 and 2 of the SSH protocol?]</ref>
* Cette méthode demande 2 mots de passe.
+
  
En configurant ~/.ssh/config sur le client :
+
== Recherche ==
* [http://blog.anotherhomepage.org/post/2009/11/09/Utilisation-transparente-d-une-passerelle-SSH Utilisation transparente d'une passerelle SSH]
+
* Automatisation de la méthode précédente, 2 mdp a rentrer.
+
  
 +
=== Situation actuelle ===
  
au final aller voir : [http://www.ohmytux.com/belier/ ca]
+
Pour l'instant on rebondit sur la passerelle :
  
== Questions en cours ==
+
  ssh user@passerelle "ssh user@cible"
  
N'autoriser que ssh ( dans un chroot ?) pour rebondir vers sa machine du reseau local du loop.  
+
Ceci peut être automatisé par l'utilisation de <code>~/.ssh/config</code><ref>[http://blog.anotherhomepage.org/post/2009/11/09/Utilisation-transparente-d-une-passerelle-SSH Utilisation transparente d'une passerelle <code>ssh</code> via <code>ProxyCommand</code>]</ref>. Par exemple pour se connecter sur le [[Serveur_MPD|MPD]] :
* [http://www.queret.net/blog/post/2010/03/03/Chrooter-une-session-SSH-utilisateur SSH dans un chroot]
+
  
Comment faire pour utiliser les users et mdp de la machine cible, pour ne pas avoir a gerer les users sur la passerelle ?
+
  Host mpd
* authoriser toute connexion mais killer toute session qui serait pas un ssh vers une machine locale (limiter le rebond vers l'exterieur par n'importe qui) toutes les X secondes. (X = 10 ?). Cette solution répond aussi a la question du nombre de mdp ... est-ce possible seulement ?
+
      HostName lan.leloop.org
** [http://www.linux-france.org/article/devl/sshcvs_fr.html CVS via SSH] un contournement, mais ca parait lourd coté client ...
+
      HostKeyAlias mpd
* obligation d'utiliser un user-agent pour utiliser une clef RSA ? (impossible de la stocker la clef privée sur la passerelle ...)
+
      Port 2345
 +
      ProxyCommand ssh -q lan.leloop.org nc -q0 mpd.lan.leloop.org 6789
  
Comment faire pour n'avoir a rentrer son mdp qu'une seule fois ? (ou 0 sans mdp sur la clef).  
+
Problème : il faut un compte sur la passerelle, et on ne veut pas forcément multiplier les comptes sur le routeur.
* [http://linux-attitude.fr/post/Connexion-sans-mot-de-passe utilisation des clefs RSA]
+
* [http://www.unixwiz.net/techtips/ssh-agent-forwarding.html avec le user-agent]
+
  
== Mise en place ==
+
=== Chroot ===
  
reste a trouver une petite machine, y mettre une debian de base avec juste ssh. et forwarder le port 22 de la freebox vers la passerelle.
+
N'autoriser que <code>ssh</code> (dans un <code>chroot</code> ?) pour rebondir vers sa machine sur le réseau local du Loop :
 +
* [http://www.queret.net/blog_old/post/2010/03/03/Chrooter-une-session-SSH-utilisateur <code>ssh</code> dans un <code>chroot</code>]
  
Configuration de base :
+
=== Autres pistes ===
* Root non autorisé.
+
 
* Utilisation de la version 2 uniquement.
+
Comment faire pour utiliser les identifiants et mots de passe de la machine cible sans avoir à les gérer sur la passerelle :
 +
* Autoriser toute connexion mais tuer toute session qui ne serait pas <code>ssh</code> vers une machine locale (limiter le rebond vers l'extérieur par n'importe qui) toutes les ''X'' secondes (''X'' = 10 ?). Cette solution répond aussi à la question du nombre de mots de passe... Est-ce seulement possible ?
 +
 
 +
== Voir aussi ==
 +
 
 +
=== Documentation ===
 +
 
 +
* [http://linux-attitude.fr/post/Connexion-sans-mot-de-passe Utilisation de <code>ssh-agent</code>]
 +
* [http://www.unixwiz.net/techtips/ssh-agent-forwarding.html An Illustrated Guide to SSH Agent Forwarding]
 +
 
 +
=== Outils ===
 +
 
 +
* [http://www.ohmytux.com/belier/ Belier] : automatisation de rebonds par génération de scripts.
 +
 
 +
== Références ==
 +
 
 +
<references />
  
 
[[Category:Projets]]
 
[[Category:Projets]]
[[Category:Logistique]]
 

Latest revision as of 23:31, 12 April 2013

Comment donner un accès distant sur le réseau du Loop sans en compromettre la sécurité ni alourdir la gestion de l'infrastructure ?

Cahier des charges

  • On doit pouvoir atteindre une machine du LAN sans avoir un compte sur la passerelle ; la passerelle ne doit pas gérer les comptes utilisateurs.
  • SSH version 2 uniquement[1]

Recherche

Situation actuelle

Pour l'instant on rebondit sur la passerelle :

 ssh user@passerelle "ssh user@cible"

Ceci peut être automatisé par l'utilisation de ~/.ssh/config[2]. Par exemple pour se connecter sur le MPD :

 Host mpd
     HostName lan.leloop.org
     HostKeyAlias mpd
     Port 2345
     ProxyCommand ssh -q lan.leloop.org nc -q0 mpd.lan.leloop.org 6789

Problème : il faut un compte sur la passerelle, et on ne veut pas forcément multiplier les comptes sur le routeur.

Chroot

N'autoriser que ssh (dans un chroot ?) pour rebondir vers sa machine sur le réseau local du Loop :

Autres pistes

Comment faire pour utiliser les identifiants et mots de passe de la machine cible sans avoir à les gérer sur la passerelle :

  • Autoriser toute connexion mais tuer toute session qui ne serait pas ssh vers une machine locale (limiter le rebond vers l'extérieur par n'importe qui) toutes les X secondes (X = 10 ?). Cette solution répond aussi à la question du nombre de mots de passe... Est-ce seulement possible ?

Voir aussi

Documentation

Outils

  • Belier : automatisation de rebonds par génération de scripts.

Références

  1. What's the difference between versions 1 and 2 of the SSH protocol?
  2. Utilisation transparente d'une passerelle ssh via ProxyCommand