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 (Pas de HTML ! Et pas trop de formatage plz...)
(update, wikify)
Line 1: Line 1:
 
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]] ?
 
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]] ?
  
== Premières idées et résultats de recherche ==
+
== Cahier des charges ==
  
=== À 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 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>
  
  ssh user@passerelle "ssh user@cible"
+
== Recherche ==
  
Cette méthode demande 2 mots de passe.
+
=== Situation actuelle ===
  
=== En configurant <tt>~/.ssh/config</tt> sur le client ===
+
Pour l'instant on rebondit sur la passerelle :
  
* [http://blog.anotherhomepage.org/post/2009/11/09/Utilisation-transparente-d-une-passerelle-SSH Utilisation transparente d'une passerelle <tt>ssh</tt>] ;
+
  ssh user@passerelle "ssh user@cible"
* Automatisation de la méthode précédente (2 mots de passe à rentrer).
+
  
Au final, allez voir [http://www.ohmytux.com/belier/ ça].
+
Ceci peut être automatisé par l'utilisation de <tt>~/.ssh/config</tt><ref>[http://blog.anotherhomepage.org/post/2009/11/09/Utilisation-transparente-d-une-passerelle-SSH Utilisation transparente d'une passerelle <tt>ssh</tt> via <tt>ProxyCommand</tt>]</ref>. Par exemple pour se connecter sur le [[Serveur_MPD|MPD]] :
  
== Questions en cours ==
+
  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 <tt>ssh</tt> (dans un <tt>chroot</tt> ?) pour rebondir vers sa machine sur le réseau local du Loop :
 
N'autoriser que <tt>ssh</tt> (dans un <tt>chroot</tt> ?) pour rebondir vers sa machine sur le réseau local du Loop :
 
* [http://www.queret.net/blog/post/2010/03/03/Chrooter-une-session-SSH-utilisateur <tt>ssh</tt> dans un <tt>chroot</tt>]
 
* [http://www.queret.net/blog/post/2010/03/03/Chrooter-une-session-SSH-utilisateur <tt>ssh</tt> dans un <tt>chroot</tt>]
  
Comment faire pour utiliser les identifiants et mots de passe de la machine cible, pour ne pas avoir a gérer les utilisateurs sur la passerelle :
+
=== 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 <tt>ssh</tt> 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 ?
 
* Autoriser toute connexion mais tuer toute session qui ne serait pas <tt>ssh</tt> 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 ?
**[http://www.linux-france.org/article/devl/sshcvs_fr.html <tt>cvs</tt> via <tt>ssh</tt>] Un contournement, mais ça paraît lourd coté client...
 
* Obligation d'utiliser un ''user-agent'' pour utiliser une clé RSA ? Impossible de stocker la clé privée sur la passerelle...
 
  
Comment faire pour n'avoir à rentrer son mot de passe qu'une seule fois (ou jamais sans mot de passe lié à la clé) :
+
== Voir aussi ==
* [http://linux-attitude.fr/post/Connexion-sans-mot-de-passe Utilisation des clés RSA]
+
 
* [http://www.unixwiz.net/techtips/ssh-agent-forwarding.html Avec le ''user-agent'']
+
=== Documentation ===
 +
 
 +
* [http://linux-attitude.fr/post/Connexion-sans-mot-de-passe Utilisation de <tt>ssh-agent</tt>]
 +
* [http://www.unixwiz.net/techtips/ssh-agent-forwarding.html An Illustrated Guide to SSH Agent Forwarding]
  
== Mise en place ==
+
=== Outils ===
  
Reste à trouver une petite machine, y mettre une Debian de base avec <tt>ssh</tt> uniquement et transférer le port 22 de la Freebox vers la passerelle.
+
* [http://www.ohmytux.com/belier/ Belier] : automatisation de rebonds par génération de scripts.
  
Configuration de base :
+
== Références ==
* Root non autorisé.
+
* Utilisation de la version 2 uniquement.
+
  
 +
<references />
  
 
[[Category:Projets]]
 
[[Category:Projets]]

Revision as of 19:01, 18 December 2012

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