Outils pour utilisateurs

Outils du site


openbsd.org:openssh:history

— [ OpenBSD ] [ OpenSSH ] ~ Traduction française de la page OpenSSH History : (v1.55 ; 16/04/2020)

OpenSSH Histoire

En 1999, certains développeurs d'OpenBSD se sont mis à la tâche de libérer SSH, de corriger les problèmes de licences, et de maintenir la base du code pour le futur.

OpenSSH est dérivé de la version originale gratuite de SSH 1.2.12 par Tatu Ylönen. Cette version était une des dernières suffisamment libre pour être réutilisable. Des parties d'OpenBSD encore sous la licence de Tatu étaient contenues dans cette version. Cette version, et les précédentes, utilisaient des fonctions mathématiques depuis la bibliothèque libgmp, qui était directement incluse à l'époque. Elle est maintenant disponible sous la Licence GNU Public Lesser (GNU/LGPL), mais des versions de cette époque étaient sous la Licence GPL.

Une licence combinée pour toutes ces pièces est disponible sur : https://cvsweb.openbsd.org/src/usr.bin/ssh/LICENCE.

Rapidement après la sortie de la 1.2.12 de Tatu, les nouvelles versions ont été portées vers des licences plus restrictives, bien que la libgmp était toujours incluse et nécessaire pour utiliser le logiciel. Dans les faits, SSH violait la GPL. La première de ces licences restrictives interdisait aux personnes de faire une version pour Windows ou DOS. Plus tard, des licences restreignaient l'utilisation de ssh en environnement commercial, obligeant ainsi les entreprises à acheter une version coûteuse à une société appelé DataFellows.

Début 1999, Björn Grönvall redécouvrit la vieille version gratuite et commença à fixer les bogues. Sa version de SSH était appelée OSSH et supportait seulement le protocole SSH 1.3. Selon le bouche à oreille, OSSH a été intégrée à l'époque dans certains produits commerciaux en Suède. OSSH n'a jamais pris en charge le protocole SSH 2. Probablement Björn cessa le développement puisqu'OpenSSH devenait mûre.

Les membres du projet OpenBSD ont pris connaissance du travail de Björn moins de deux mois avant la sortie d'OpenBSD 2.6. Nous cherchions à inclure la prise en charge du protocole SSH dans la version 2.6, mais nous devions être sûrs qu'il soit parfait. En conséquence, nous décidions immédiatement de le dériver de la version d'OSSH, et de poursuivre rapidement le développement en utilisant le même processus d'audit de sécurité que celui d'OpenBSD. L'import initial a été fait le 26 Septembre 1999, et au moment de livrer deux mois plus tard, beaucoup des fichiers du code source étaient déjà à la révision 1.34, certains avaient même atteint 1.66. Le développement a en effet été très rapide, puisque nous avions un délai à respecter.

Les membres suivants de l'équipe ont participé :

  • Theo de Raadt (CANADA) a démarré en supprimant ce qui n'était pas portable et qui rendait le code difficile à lire - le but étant de simplifier le code source, afin que les trous de sécurité et d'autres problèmes puissent être repérés plus facilement.
  • Niels Provos (d'ALLEMAGNE mais vivant aux USA) a supprimé rapidement des composants cryptographiques sous GPL en faisant des voyages en voiture vers le Canada, afin que nous puissions nous retrouver avec une base de code source complètement et librement réutilisable.
  • Markus Friedl (ALLEMAGNE) est intervenu et a très rapidement remplacé le code du protocole SSH 1.3 venant de la version 1.2.12 par une implémentation compatible du protocole SSH 1.5 avec la série des “ssh 1.2.27” modernes (ce changement a nécessité de tenir compte de beaucoup de clients SSH compatibles Windows dont le support pour le protocole SSH 1.3 manquait). Il a ajouté la prise en charge du protocole SSH 1.5 de telle manière à ce que la prise en charge du protocole SSH 1.3 soit maintenu opérationnel. Plus tard, il a aussi ajouté la prise en charge du protocole SSH 2 et de SFTP.
  • Bob Beck (CANADA) aida avec le magique Makefile afin de nous permettre de compiler OpenSSL sans utiliser d'algorithmes sous brevets. Puisque OpenBSD 2.6 a été livrée avant l'expiration de la date du brevet RSA, nous avions besoin de livrer notre CD avec les bibliothèques partagées libssl et libcrypto qui n'avaient pas RSA. Au moment de l'installation, l'utilisateur était capable de remplacer ces bibliothèques via FTP ou HTTP sur Internet. Heureusement ce type de hackage n'est plus nécessaire.
  • Aaron Campbell (CANADA) améliora de nombreux défauts de documentation et certains autres problèmes de code. C'est surtout grâce à lui que les pages de manuels sont si completes.
  • Dug Song (USA) aida pour certains problèmes d'authentification dans le contexte de KerberosIV (ses modifications ont été soigneusement vérifiées pour s'assurer qu'elles n'avaient pas recours à la cryptographie, et qu'elles affectaient seulement des problèmes d'authentification).

Par conséquent, la version d'OpenSSH était basée sur de vieilles versions de ssh 1.2.1, mais dont les bogues étaient supprimées et de récentes fonctionnalités ajoutées à nouveau :

  • tous les composants restreints par nature (tels que des brevets, voir ssl) ont directement été supprimés du code source ; tous composants sous licences ou brevets étaient appelés depuis des bibliothèques externes.
  • la prise en charge de l'authentification de mot de passe à usage unique avec skey.
  • des centaines d'autres changements que des personnes ont repérés dans les nouvelles pages de manuels et dans le code source.

Cela a marqué la sortie d'OpenSSH 1.2.2, qui a été livrée avec OpenBSD 2.6, le 1er Décembre 1999. À partir de ce moment, la plupart du développement d'OpenSSH a été fait par Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and Dug Song. Nous remercions toutes les personnes qui ont trouvé des bogues et les ont rapportés.

Porter OpenSSH

Presque immédiatement après que nous ayons livré notre implémentation du protocole 1, de nombreux groupes non OpenBSD ont été très, très intéressés. Damien Miller, Philip Hands, et pleins d'autres ont commencé à porter OpenSSH vers Linux et de nombreux autres systèmes d'exploitation Unix. Dès le début de nos propres efforts, nous avons estimé que le code original de SSH était bien trop compliqué, il y avait trop de dépendances liées aux systèmes d'exploitation. Notre approche d'écrire un code complètement solide et sécurisé évite de traiter avec de telles différences excessives. Ainsi, afin de nous rendre le processus de développement plus facile, nous avons décidé de séparer nos efforts de développement du noyau des développements pour la portabilité. Cela a très bien fonctionné pour nous. (À titre d'exemple, comparez le nombre de lignes de code entre la base et les versions portables).

Le Support du Protocole SSH 2

Avec la sortie d'OpenBSD 2.6, Markus Friedl décida de continuer la prise en charge du protocole SSH 2. En travaillant comme un esclave pendant des mois, il a réussi à garder OpenSSH léger et clair, tout en réussissant à le transformer en un seul logiciel qui pourrait faire à la fois les protocoles SSH 1 et SSH 2. Cette version, appelée OpenSSH 2.0, a été livrée avec OpenBSD 2.7 le 15 Juin 2000. La plupart des vérifications des changements de Markus ont été faites par Niels Provos et Theo de Raadt. Bob Beck est aussi remercié pour la mise à jour de la bibliothèque externe SSL vers sa nouvelle version.

Le Support de SFTP

La prise en charge pour le serveur du sous-protocole SFTP a été écrite par Markus Friedl et livrée dans la version 2.3.0, en Novembre 2000. Aussitôt après, Damien Miller démarra le travail sur un client sftp, qui fut livré dans la version 2.5.0.

Scanner les Versions de Serveurs SSH

Afin de faciliter la supervision de serveurs SSH déployés, e.g. pour le réseau d'une société, Niels Provos écrit l'outil scanssh. scanssh scanne une liste d'adresses et de réseaux pour exécuter des serveurs SSH et connaître leur numéro de version. Il prend en charge la sélection aléatoire d'adresses IP sur un large ensemble de réseaux pour la collecte de statistiques sur l'utilisation de serveurs SSH dans une entreprise ou sur l'ensemble d'Internet. Ces statistiques incluent le protocole SSH supporté, et les versions des logiciels utilisés.


Cette page est la traduction officieuse de la page “History” officielle de OpenSSH.
En cas de doute, merci de vous y référer !

Si vous voulez participer à l'effort de traduction, merci de lire ce topic.


Contribut(rice|eur)s :

jibe pengouinpdt
openbsd.org/openssh/history.txt · Dernière modification: 2020/08/19 04:00 de pengouinpdt