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
(Premieres idées et résultats de recherche)
m (Text replace - "</tt>" to "</code>")
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Premieres idées et résultats de recherche ==
+
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]] ?
  
A la mano :
+
== Cahier des charges ==
* ssh user@passerelle "ssh user@cible"
+
* Cette méthode demande 2 mots de passe.
+
  
En configurant ~/.ssh/config sur le client :
+
* 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.
* [http://blog.anotherhomepage.org/post/2009/11/09/Utilisation-transparente-d-une-passerelle-SSH Utilisation transparente d'une passerelle SSH]
+
* 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>
* Automatisation de la méthode précédente, 2 mdp a rentrer.
+
  
 +
== Recherche ==
  
au final aller voir : [http://www.ohmytux.com/belier/ ca]
+
=== Situation actuelle ===
  
== Questions en cours ==
+
Pour l'instant on rebondit sur la passerelle :
  
* n'autoriser que ssh ( dans un chroot ?) pour rebondir vers sa machine du reseau local du loop.
+
  ssh user@passerelle "ssh user@cible"
** [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 ?
+
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]] :
** 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 ?
+
*** [http://www.linux-france.org/article/devl/sshcvs_fr.html CVS via SSH] un contournement, mais ca parait lourd coté client ...
+
** obligation d'utiliser un user-agent pour utiliser une clef RSA ? (impossible de la stocker la clef privée sur la passerelle ...)
+
  
* Comment faire pour n'avoir a rentrer son mdp qu'une seule fois ? (ou 0 sans mdp sur la clef).  
+
  Host mpd
** [http://linux-attitude.fr/post/Connexion-sans-mot-de-passe utilisation des clefs RSA]
+
      HostName lan.leloop.org
** [http://www.unixwiz.net/techtips/ssh-agent-forwarding.html] avec le user-agent
+
      HostKeyAlias mpd
 +
      Port 2345
 +
      ProxyCommand ssh -q lan.leloop.org nc -q0 mpd.lan.leloop.org 6789
  
== Mise en place ==
+
Problème : il faut un compte sur la passerelle, et on ne veut pas forcément multiplier les comptes sur le routeur.
  
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.
+
=== Chroot ===
:Configuration de base :
+
 
:Root non autorisé.
+
N'autoriser que <code>ssh</code> (dans un <code>chroot</code> ?) pour rebondir vers sa machine sur le réseau local du Loop :
:Utilisation de la version 2 uniquement.
+
* [http://www.queret.net/blog_old/post/2010/03/03/Chrooter-une-session-SSH-utilisateur <code>ssh</code> dans un <code>chroot</code>]
 +
 
 +
=== 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 <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]]

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