Liens connexes

Dépêche modérée par

Dépêche éditée par

: OpenSSH v5.4 : Certificat et Révocation

Posté par Sytoka Modon (page perso, ). Modéré le 15 mars 2010.
59
Si je ne me trompe, la dernière annonce sur LinuxFr concernant OpenSSH date d'octobre 2006, c'était la version 4.4. Depuis, du boulot, des améliorations mais dans la continuité. Cependant, le 8 mars 2010 tombe dans les bacs la version 5.4 qui apporte des changements de grandes ampleurs qui sont passés en revue dans la seconde partie de la dépêche.

Petite présentation pour commencer: OpenSSH implémente un client et un serveur pour les différentes versions du protocole SSH ainsi que le support pour le SFTP (à ne pas confondre avec le FTPS qui est du FTP dans un tunnel SSL). OpenSSH est distribué sous licence libre BSD et c'est un peu le fer de lance des développeurs d'OpenBSD. Il permet de se connecter à distance sur une machine et intègre un nombre impressionnant d'opérations utiles : shell distant, transfert de fichier, redirection de ports, tunnel...

> Lire la suite (65 commentaires, moyenne: 2,9).   [dépêche : 5384 caractères]

Les changements importants dans la version 5.4 sont listés ci-dessous :

- La version 1 du protocol SSH est maintenant désactivée par défaut. Cela fait 10 ans que ce protocole est obsolète et il faudra désormais explicitement l'activer si l'on souhaite l'utiliser vers les rares machines qui ne peuvent migrer vers une version supérieure.

- Ajout du support pour les tokens PKCS#11 en lieu et place de l'ancien code concernant OpenSC. PKCS#11 a été développé par les laboratoires RSA et définit une interface (API) pour gérer les périphériques cryptographiques.

- Ajout d'un nouveau système d'authentification par certificat en plus du système par clefs. Le format choisi est propre à OpenSSH et n'est pas le X.509 (cela semble au premier abord un peu dommage). Les certificats des machines ou des personnes contiennent un clef publique, l'identité de la personne ou de la machine, une plage de validité temporelle (début et/ou fin) et sont signés par une clef publique SSH standard. Toutes ces opérations se réalisent avec le même programme que pour générer des clef : ssh-keygen.

Les clefs maîtresses (CA keys) faisant autorité doivent être déclarées comme telles, soit dans le fichier authorized_keys ou sshd_config (via la nouvelle directive TrustedUserCAKeys) pour les certificats utilisateurs, soit dans le fichier known_hosts pour l'authentification de machine.

- Complémentaire du point précédent, il est maintenant possible de révoquer des clefs. Le bogue introduit dans OpenSSL par Debian avait montré les limites d'un système sans révocation et sans date limite... À l'époque, les développeurs Debian avaient mis en urgence un système de révocation.

Le système mis en place dans OpenSSH est assez simple, le paramètre de configuration du serveur "RevokedKeys" indique un fichier donnant la liste des clefs interdites : cela peut être indifféremment des clefs serveurs ou utilisateurs.

- Ajout d'un mode "netcat" avec l'option -W (l'option -w est pour les tunnels). La commande ssh -W host:port connecte donc les entrées sorties (stdio) du client vers un unique port sur le serveur.

Il y a aussi quelques améliorations que l'utilisateur verra certainement moins facilement :

- Le multiplexage permettant de mélanger plusieurs sessions ssh dans le même tuyau supporte maintenant les opérations non bloquantes améliorant ainsi la latence. De plus, il est maintenant possible de rajouter des transferts de port (port forwarding) ainsi des transfert d'entrée/sortie (stdio -> netcat) dans le canal multiplexé.

- Amélioration dans le sous-système SFTP du serveur. Il est désormais possible d'avoir un mode en lecture seule. Dans le même esprit, la valeur du masque umask peut être explicitement définie et ne peut alors être surchargée par l'utilisateur (Voir sftp-server). D'un point de vue interface homme-machine, la commande "ls" supporte maintenant l'option "-h" qui affiche les unités sous un format plus facile pour un utilisateur. La ligne de commande supporte maintenant la complétion pour les commandes, les noms des fichiers sur le système local ou sur le système distant. Les commandes "get" et "put" supportent maintenant les transferts récursifs via une option.

- La plupart des options de la ligne de commande de "scp" sont maintenant supportées par "sftp". L'objectif à terme est tout simplement de remplacer "scp" par "sftp". Pour ce faire, et pour homogénéiser les options de ces deux commandes, l'ancienne option peu usitée -P de sftp qui donnait le chemin du serveur sftp devient l'option -D. En effet, cette option -P sert maintenant comme dans scp à fixer le port du serveur.

- Les nouvelles clefs RSA seront maintenant générées avec un exposant fixé à 65537 (RSA_F4 = 2^16+1) en lieu et place de l'ancienne valeur 35.

- Les clefs privées protégées par passphrase sont maintenant chiffrées avec l'algorithme AES-128 à la place du 3DES utilisé jusqu'à présent. En cas de modification de leur passphrase, les anciennes clefs bénéficieront de ce nouveau chiffrement.

Au final, un grand cru on l'espère. Vivement la version 6.4 !

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Excellent.

Posté par Sébastien SAUVAGE (page perso, ) le 15/03/2010 à 09:54. (lien). Évalué à 10.

Excellent.

ssh est l'un des plus formidables et utiles outils réseau jamais créés.
Console distante, transfer de fichiers, tunnelling... tout ça sécurisé, ça rend beaucoup de services.

Et je ne parle pas des applications greffées là dessus, comme NX (magnifique).

Il ne manque plus qu'une encapsulation HTTP... je rêve ?
(oui je sais il y a GnuHttpTunnel, OpenVPN...)

Incontournable

Posté par PhE () le 15/03/2010 à 10:56. (lien). Évalué à 10.

Vraiment incontournable dans des situations désespérées. Exemple :

Pas plus tard que samedi matin, je reçois un appel d'un ami qui n'arrivait pas à faire fonctionner une appli sur son portable.

Il avait une machine virtuel sous Virtual Box OSE qui faisait tourner un serveur de client léger sur le réseau filaire. Le tout fonctionnait (ou plutôt ne fonctionnait pas) sur un portable ayant un accès Internet par le WiFi via un portail captif universitaire.

Voici les étapes du dépannage :
* il a installé OpenSSH server sur son portable
* il s'est connecté sur un serveur publique sur Internet avec tunnel rentrant ;
* je me suis connecté sur le même serveur publique sur Internet avec tunnel sortant ;
* j'ai relié les 2 bouts des tunnels ;
* j'ai pu alors ouvrir de chez moi une connexion SSH directement sur son portable ;
* on a reconfiguré la VM pour disposer d'un connexion réseau privée avec le portable ;
* j'ai alors ouvert une connexion SSH sur la VM ;
* j'ai enfin ouvert une dernière connexion SSH vers le client léger pour diagnostiquer le problème ;

Il faut parfois un peu d'aspirine pour enchainer les tunnels SSH mais c'est vraiment incontournable et terriblement efficace !

Enfin.

Posté par Tonton Benoit (Jabber id, ) le 15/03/2010 à 11:55. (lien). Évalué à 4.

- La plupart des options de la ligne de commande de "scp" sont maintenant supportées par "sftp". L'objectif à terme est tout simplement de remplacer "scp" par "sftp". Pour ce faire, et pour homogénéiser les options de ces deux commandes, l'ancienne option peu usitée -P de sftp qui donnait le chemin du serveur sftp devient l'option -D. En effet, cette option -P sert maintenant comme dans scp à fixer le port du serveur.
J'ai toujours trouvé sftp -o Port=XXX chiant à taper !

Numéros de version ?

Posté par Romain Be. () le 15/03/2010 à 19:49. (lien). Évalué à 3.

Vivement la version 6.4 !

Juste par curiosité, y-a-t-il une raison particulière pour que les versions majeurs soient en .4 ?

--
If you are the big tree,
We are the small axe...

scp vs sftp

Posté par Matthieu C () le 15/03/2010 à 19:57. (lien). Évalué à 4.

La plupart des options de la ligne de commande de "scp" sont maintenant supportées par "sftp". L'objectif à terme est tout simplement de remplacer "scp" par "sftp".
C'est quoi les avantages de sftp par rapport à scp ?

Tout terrain

Posté par ackernul () le 15/03/2010 à 21:16. (lien). Évalué à 1.

Vraiment super pour tout type de machine que se soit un petit NAS pas cher, un gros serveur ou un poste client, il est vraiment polyvalent.

Existait-il un système similaire avant (libre ou non) ? Ou ssh est-il le premier (le seule ?) système de se genre ?

Revenir en haut de page