OpenSSH version 4.4 fait dans la finesse

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
0
6
oct.
2006
Sécurité
Décidément, OpenSSH devient de plus en plus indispensable. Pour ceux qui ne connaissent pas encore, OpenSSH implémente un système client-serveur permettant l'accès à distance à une machine, ceci de manière sécurisé et normalisé (protocole SSH). OpenSSH est une suite logicielle libre sous licence BSD.

La version 4.3 nous avait offert le support intégré d'un tunnel VPN (Virtual Private Network) à l'aide de la primitive "PermitTunnel" à mettre dans la configuration du serveur.

La nouvelle version 4.4 sortie le 27 septembre 2006 ajoute au serveur sshd une couche de configuration conditionnelle grâce à la primitive "Match". Un des avantages est que l'on peut maintenant faire des réglages, comme la redirection du flux X-Window, en fonction de l'utilisateur et de la machine cliente. Cette fonctionnalité permet finalement d'affiner les réglages possibles, donc de n'autoriser que ce qui est nécessaire aux utilisateurs et par la même, améliorer encore la sécurité du système d'information.

D'autres ajout, a priori moins important, ont été faits, notamment au niveau des sous-systèmes du serveur (SubSystem). Cette dernière amélioration devrait permettre d'avoir dans le futur des sous-systèmes comme sftp plus souple.

Vous pouvez soutenir le développement du projet OpenSSH en faisant un don ou en achetant des tshirts et des posters. La nouvelle primitive "Match" introduit un test conditionnel et marque le début d'un bloc qui se finit sur la primitive "Match" suivante. Les mot-clefs définis dans le bloc modifient la configuration globale du serveur ssh pour toutes les connections vérifiant le ou les critères.

Seuls quelques paramètres sont ainsi modifiables : AllowTcpForwarding, ForceCommand, GatewayPorts, PermitOpen, X11DisplayOffset, X11Forwarding, et X11UseLocalHost. C'est déjà pas mal. Cependant, d'autres paramètres pourront être modifiés dans le futur dans les blocs "Match".

La condition peut se faire sur une combinaison du nom de l'utilisateur, du groupe de celui-ci, du nom de la machine distante ou de son adresse IP.

Un petit exemple valant mieux qu'un long discours :

Match Address 192.168.1.10 User toto,titi
X11Forwarding yes
AllowTcpForwarding yes

Et voila, le retour X-Window ne fonctionnera que pour les utilisateurs toto et titi depuis la machine cliente 192.168.1.10.

On remarque aussi l'ajout de la primitive "ForceCommand" qui est particulièrement adaptée à un bloc "Match". Cette primitive ignore la commande demandée par le client et force l'exécution de la commande spécifié. La commande originelle du client est passée par la variable d'environnement "SSH_ORIGINAL_COMMAND". Cette primitive est l'alter ego de l'option command="..." possible dans le fichier ~/.ssh/authorized_keys.

Dans le même ordre d'idée, l'option permitopen="..." de ce même fichier authorized_keys est aussi possible dans un bloc "Match" par la primitive "PermitOpen". Cette primitive permet de définir les ports TCP qui peuvent être retransmis (forwarding) vers une autre machine.

Aller plus loin

  • # OpenSSH roxorz

    Posté par  . Évalué à 1.

    Vraiment bien comme soft.
    Je me demande s'il y a encore des gens qui utilisent le vieux telnet tout pourrave (enfin à part les gens sous windows je veux dire ^^)

    Par contre, un truc manque et qui serait bien ça serait la possibilité de faire du resume avec scp ...
    • [^] # Re: OpenSSH roxorz

      Posté par  (site web personnel) . Évalué à 6.

      Par contre, un truc manque et qui serait bien ça serait la possibilité de faire du resume avec scp ...

      scp n'est pas fait pour ça, regarde plutôt du côté d'rsync.
      • [^] # Re: OpenSSH roxorz

        Posté par  . Évalué à -9.

        Ouais rsync je connais justement ... Et j'évite de l'utiliser à part quand j'ai un grand nombre de fichiers à transférer ^^

        Partager le répertoire, pas de completion zsh, je sais même pas si ça fait de l'identification par clé (ça m'étonnerait), protocole qui change tous les 4 matins (le truc bien rassurant) etc ...

        Pour copier un seul fichier, scp est plus adapté je pense. Mais des fois le transfert bah ça peut échouer pour diverses raisons (déco 24h, wifi, ...), et sur un gros fichier c'est chiant de devoir tout recommencer. :)
        • [^] # Re: OpenSSH roxorz

          Posté par  (site web personnel) . Évalué à 10.

          > Partager le répertoire,

          Tu veux dire quoi ?

          > pas de completion zsh,

          Si.

          > je sais même pas si ça fait de l'identification par clé (ça m'étonnerait),

          Lis le man, et soit étonné. rsync utilise ssh, et permet tout ce que fait ssh.

          > protocole qui change tous les 4 matins (le truc bien rassurant)

          En effet, en faisant du rsync d'une Debian sid à une RedHat 7.2 sortie il y a 5 ans, j'ai un warning comme quoi ça marcherait mieux si j'upgradais mon serveur. Je suis super pas rassuré.

          > Pour copier un seul fichier, scp est plus adapté je pense.

          Cites-moi un seul avantage de scp par rapport à rsync ...

          Tu as mal regardé rsync, c'est un remplacement clairement amélioré en tous points de scp. Le seul cas où il est vraiment intéressant d'utiliser scp, c'est ... quand rsync n'est pas installé !
        • [^] # Re: OpenSSH roxorz

          Posté par  (site web personnel) . Évalué à -2.

          > Partager le répertoire,

          Tu veux dire quoi ?

          > pas de completion zsh,

          Si.

          > je sais même pas si ça fait de l'identification par clé (ça m'étonnerait),

          Lis le man, et soit étonné. rsync utilise ssh, et permet tout ce que fait ssh.

          > protocole qui change tous les 4 matins (le truc bien rassurant)

          En effet, en faisant du rsync d'une Debian sid à une RedHat 7.2 sortie il y a 5 ans, j'ai un warning comme quoi ça marcherait mieux si j'upgradais mon serveur. Je suis super pas rassuré.

          > Pour copier un seul fichier, scp est plus adapté je pense.

          Cites-moi un seul avantage de scp par rapport à rsync ...

          Tu as mal regardé rsync, c'est un remplacement clairement amélioré en tous points de scp. Le seul cas où il est vraiment intéressant d'utiliser scp, c'est ... quand rsync n'est pas installé !
        • [^] # Re: OpenSSH roxorz

          Posté par  . Évalué à 3.

          Mais des fois le transfert bah ça peut échouer pour diverses raisons (déco 24h, wifi, ...), et sur un gros fichier c'est [embêtant] de devoir tout recommencer.


          Je pense dire une bêtise, mais... Sftp est-il une solution à ton problème ? C'est livré avec Ssh non ?
        • [^] # Re: OpenSSH roxorz

          Posté par  . Évalué à 2.

          > Pour copier un seul fichier, scp est plus adapté je pense. Mais des fois le transfert bah ça peut échouer pour diverses raisons (déco 24h, wifi, ...), et sur un gros fichier c'est chiant de devoir tout recommencer. :)

          rsync -avP ton_gros_fichier la_destination

          et man rsync
      • [^] # Re: OpenSSH roxorz

        Posté par  . Évalué à 5.

        ben j'utilise rsync pour beaucoup de petits fichiers sans problème, mais j'ai été coincé en en faisant avec des gros : sur un iso de 700Mo, partiellement téléchargé avec scp, un rsync over ssh n'a rien donné : 300Mo de données transférées, et le fichier faisait toujours 180Mo... j'ai fini par abandonner.

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: OpenSSH roxorz

      Posté par  . Évalué à 10.

      Je me demande s'il y a encore des gens qui utilisent le vieux telnet tout pourrave (enfin à part les gens sous windows je veux dire ^^)
      Oui.
      - Tous ceux qui ne connaissent pas (les informaticients non-geeks, et il y'en a !)
      - Tous ceux qui bossent avec des un*x en tout genres sur lesquels ssh n'est pas installé et où ils n'ont pas le droit de l'installer (je sais de quoi je parle)
      - Et j'en oublie...

      Pour info, putty est très bien, sous windows, pour faire du ssh, et même pour le telnet il est infiniment mieux que celui de windows...
      • [^] # Re: OpenSSH roxorz

        Posté par  (site web personnel) . Évalué à 0.

        je plussoie, j'ai souvent recontré ce problème sur des systèmes restreints!
      • [^] # Re: OpenSSH roxorz

        Posté par  . Évalué à 8.

        J'en profites pour faire de la pub pour une version modifiée de Putty, PuttyTray :
        http://www.xs4all.nl/~whaa/putty/

        L'avantage c'est qu'il va se loger dans le tray, il permet de cliquer dans les liens qui apparait dans la session SSH, il se reconnecte automatiquement aprés un retour d'hibernation du poste de travail ...

        Il gère aussi la transparence et il a une icone plus sympa, bref Putty Tray c'est bien ;)
        • [^] # Re: OpenSSH roxorz

          Posté par  . Évalué à 9.

          Il gère aussi la transparence et il a une icone plus sympa, bref Putty Tray c'est bien ;)
          Mais c'est super, il ne manque plus que le support du protocole de msn et la gestion des smiley. On tient le bon bout.
          • [^] # Re: OpenSSH roxorz

            Posté par  . Évalué à 9.

            Tu as raison, voir le temps que tu peux perdre a poster un commentaire inutile, je te propose d'ecrire un patch qui enlève la gestion de la transparence dans Konsole, Aterm et consort.

            Si j'ai mis ces deux details avec un retour à la ligne, c'etait pour separé des choses pratiques utiles et des choses inutiles donc indispensable.
            • [^] # Re: OpenSSH roxorz

              Posté par  . Évalué à 4.

              Merci pour l'info, je ne connaissais pas ce programme.
              Il peut être utile a ceux qui utilisent putty pour ouvrir un tunnel ssh et qui doit rester ouvert tout le temps.

              A la prochaine occasion je vais l'utiliser.
        • [^] # Re: OpenSSH roxorz

          Posté par  . Évalué à 10.

          PuTTY Tray propose certes quelques babioles rigolotes par rapport à l'original qui arracheraient presque un demi-sourire à un apôtre de la console-toute-noire-pas-drôle tel que moi, mais... suis-je donc le seul à trouver que c'est, disons, pas glop que les sources de la bête ne soient pas disponibles ?

          Loin de moi l'idée de me positionner brutalement en extrémiste primaire du libre/open source/capucepalibre/débat philosophique du jour sur linuxfr (autrement connu sous le nom de "troll poilu"), mais diantre, il s'agit là d'un client ssh, tout de même.

          Votre paranoïaque médian,
          • [^] # Re: OpenSSH roxorz

            Posté par  (site web personnel) . Évalué à 8.

            Globalement pour quelqu'un qui a besoin d'acceder a de multiple serveur, TuTTY est bien mieu ( http://putty.dwalin.ru/ ) car il permet de "ranger" proprement ses serveurs (c'est aussi très pratique pour faire des consoles qui lancent directement des scripts sur les machines distantes) et donner un nom cohérent à la fenêtre (et en changer l'icône), le tout avec aussi un tray (un session manager a coller dans le menu Démarrer)

            Si vous voulez de la transparence comme PuTTY Tray, il suffit d'utiliser Vitrite avec ( http://www.framasoft.net/article2320.html ). Par contre ca rend toute la fenetre transprente, alors qu'il serait mieu que ce ne soit que le fond (avec les raccourci je "transparente" en live lorsque j'ai besoin de voir a travers, mais on ne voit plus rien a ce qu'on ecrit souvent dans ce cas, c'est chiant...

            J'avais trouvé aussi un outil permettant de modifier des paramètres avec toutes les (ou un partie des) sessions enregistrées de putty (trèèèès pratique), ca marche bien, mais pas quand les sessions sont dans des "sous repertoires". Malheureusement j'ai perdu le nom...

            J'ai pensé a faire mon propre putty tout patché avec ce que je voulais, mais il faut à priori VC que je n'ai pas (j'ai vaguement regardé comment faire sans, et ça m'a vite gonflé :P ).

            J'ai testé pleins de dérivé de putty, et franchement tutty est le mieu foutu, mais les outils pour putty même ne fonctionnet pas tous (genre celui qui permet d'envoyer le texte que tu tapes dans plusieurs fenetre en même temps)
            • [^] # Re: OpenSSH roxorz

              Posté par  . Évalué à 6.

              Sympa aussi cette modification.

              Ce que j'aimerai aussi en fonctionnalité, c'est un client avec des onglets, c'est ce qui me manque quand je suis sous Windows par rapport à Konsole (ça permet de switcher trés rapidement d'une session a une autre).

              J'utilise pas la transparence sous Putty Tray, car il me semble qu'elle s'applique aussi à toute la fenetre.
        • [^] # Re: OpenSSH roxorz

          Posté par  (site web personnel) . Évalué à 3.

          Pour se loger dans le tray tu as PuttyAgent qui le fait. Tu peux ainsi cliquer sur les liens et ne pas taper le mot de passe de ta clé (ssh-agent).

          Mais bon... il ne gère pas la transparence et l'icone est moche il faut l'avouer.
      • [^] # Re: OpenSSH roxorz

        Posté par  (site web personnel) . Évalué à 10.


        - Et j'en oublie...


        Moi, j'utilise encore telnet mais plus du tout dans son but original. C'est plutôt pour aller vérifier un serveur POP/IMAP/HTTP/....

        C'est quand même bien plus utile si on veut vraiment voir ce qu'il se passe à l'autre bout du net quand quelquechose merdoie.
      • [^] # Re: OpenSSH roxorz

        Posté par  . Évalué à 4.

        -ceux qui bossent sur de l'embarqué avec un systeme pour lequel avoir de la sécurité au niveau connexion est le dernier de leurs soucis.
    • [^] # Re: OpenSSH roxorz

      Posté par  . Évalué à 5.

      >Par contre, un truc manque et qui serait bien ça serait la possibilité
      >de faire du resume avec scp ...

      En tout cas j'utilise lftp pour mes transferts par sftp/ssh et je peux t'assurer que c'est possible question protocole...
      • [^] # Re: OpenSSH roxorz

        Posté par  (site web personnel) . Évalué à 3.

        sftp n'utilise pas le meme protocole que scp
        Le protocole est plus proche du ftp et donc supporte plus de choses comme le resume. Et a part les vieux serveurs qui ne supportaient pas le sftp, rien ne t'empeche de l'utiliser.
    • [^] # Re: OpenSSH roxorz

      Posté par  (site web personnel) . Évalué à 4.

      sftp est plus ou moins « deprecated »
      http://openssh.org/faq.html#2.10
      Sinon personnellement j'ai fait ça : http://www.krunch.be/vrac/sw/patches/scp-s.diff

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

      • [^] # Re: OpenSSH roxorz

        Posté par  (site web personnel) . Évalué à 3.

        sftp est plus ou moins « deprecated »
        http://openssh.org/faq.html#2.10

        Si je comprends bien, c'est plutôt scp qui est en voie d'extinction car non standardisé, tandis que sftp, qui l'est, est toujours développé.
        • [^] # Re: OpenSSH roxorz

          Posté par  (site web personnel) . Évalué à 4.

          en fait,
          - en SSH1, il y a scp et sftp
          - en SSH2, scp s'appuie sur sftp-subsystem (côté serveur, les commandes scp sont en fait du sftp, pour simplifier)

          Enfin, je parle de openssh tel que je le connaissais et l'avais compris, cela a changé ou évolué dans cette dernière version ?
        • [^] # Re: OpenSSH roxorz

          Posté par  (site web personnel) . Évalué à 2.

          C'est ce que j'ai voulu dire, pardon.

          pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: OpenSSH roxorz

      Posté par  . Évalué à 1.

      Par contre, un truc manque et qui serait bien ça serait la possibilité de faire du resume avec scp ...

      Utilise un client FTP qui gère le scp comme il faut. J'utilise yafc ( http://yafc.sourceforge.net ) et il permet le resume sur scp. Y en a d'autres (lftp il semblerait).
  • # historique de OpenSSH

    Posté par  . Évalué à 5.

    Je trouve OpenSSH génial. J'aimerais savoir l'historique du produit. Je sais qu'il dérive du projet OpenBSD. Je voudrais savoir qui a élaboré le protocole et comment a débuté le développement. Pourquoi OpenSSH semble avoir aucun concurrent? Pourquoi fait-il l'unanimité? Vous comprendrez que j'ai des connaisssances limitées sur le sujet.
    • [^] # Re: historique de OpenSSH

      Posté par  (site web personnel) . Évalué à 10.

      Je trouve OpenSSH génial. J'aimerais savoir l'historique du produit.

      http://openssh.org/fr/history.html
    • [^] # Re: historique de OpenSSH

      Posté par  . Évalué à 10.

      Il a un concurent libre et encore actif, lsh.

      Celà dit, ça va être dur de supplanter OpenSSH. Non seulement sur le plan fonctionnel, mais surtout en ce qui concerne la confiance des utilisateurs et des distros qui l'intègrent.

      En effet, en suivant le cvs, on remarque vite qu'OpenSSH est régulièrement audité par des spécialistes renommés. Je me rappele avoir vu passer quelques corrections de bugs identifiées par Solaar designer ou Ulrich Drepper, par ex. Ou, pour s'en tenir à ces derniers mois, des corrections venant d'audits par l'outil d'analyse statique « coverty » de standford, par l'outil « Saturne » et par la Google Security Team.

      Mais le gros de ce travail de (ré)audit permanent et d'amélioration continue de la sécurité tient à l'intégration d'OpenSSH dans un projet beaucoup plus large, OpenBSD. De là, de nombreux developpeurs d'OpenBSD participent régulièrement au ré-audit d'OpenSSH, avec en particulier des recherches ou améliorations « à thèmes » : séparation des privilèges (c'était il y a un moment déjà, mais plus récement: ), utilisation systématique de fonctions d'allocations renforcées ad hoc pour prévenir divers types de débordements, recherche systématique des int overflow, ré-audit systématique de la gestion des signaux, ré-audit systématique des paths d'erreurs, ...

      Autrement dit, à mon sens, le succès d'OpenSSH vient aussi du fait que sa sécurité n'est pas seulement améliorée par ses développeurs (au sens strict), pas si nombreux, mais par une équipe beaucoup plus large de développeurs experts en sécurité, l'équipe d'OpenBSD (même les développeurs du noyau ou de la libc d'Open participent régulièrement à l'amélioration de la sécurité d'OpenSSH).
    • [^] # Re: historique de OpenSSH

      Posté par  (site web personnel) . Évalué à 7.

      Il faut vraiment être motivé pour programmer une autre implémentation de SSH. OpenSSH est un logiciel libre, très bien supporté, qui n'a eu par le passé qu'un nombre limité d'alerte de sécurité. Par ailleurs, le logiciel évolue bien comme le montre les deux dernières versions. Bref, il est bien plus efficasse de participer au développement d'OpenSSH que de vouloir en faire un autre.

      Malheureusement, OpenSSH ne tourne pas en natif sous la plateforme Windows et c'est justement sous cette plate-forme que l'on voit des implémentations propriétaires du serveur SSH et l'implémentation libre du seul client avec putty (que l'on trouve maintenant aussi sous Linux).

      La meilleure version libre sous Windows du serveur est pour moi copSSH mais, un manque de confiance, et le fait que cela ne soit pas une application native (mais cygwin) fait que personnellement, je ne la dépoie pas sur tous les postes de bureau sous cet OS.

      Enfin, plutôt que de vouloir refaire OpenSSH, on voit apparaître une nouvelle manière d'avoir un accès distant avec les terminaux web au travers des serveurs AnyTerm et AjaxTerm. Il s'agit là d'utiliser un serveur Apache avec une application utilisant la philosophie Ajax pour la rendre plus réactive, chose absolument nécessaire pour un terminal. Personnellement, je n'ai pas encore testé ce genre de chose, je trouve que cela fait un peu usine à gaz. Je n'ai donc pas encore vraiment confiance d'un point de vue sécurité. Et puis, Apache, c'est quand même plus lourd en terme de charge système que sshd.

      copSSH
      http://www.itefix.no/phpws/

      AnyTerm
      http://anyterm.org/

      AjaxTerm
      http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm
  • # Houlala, on se dirige pas vers un gros caca là ?

    Posté par  (site web personnel) . Évalué à 0.

  • # Acheter les goodies OpenSSH/BSD

    Posté par  (site web personnel) . Évalué à 0.

    J'avoue que ça fait un bail que j'ai envie d'acheter leurs trucs, parce que 1. ils sont cools ; 2. j'aime beaucoup leur projets ; 3. ainsi que leur philosophie. Mais Ça avait l'air plutôt chiant...

    Est-ce que désormais on peut facilement acheter leurs produits ? Et avec quel type de moyen de paiement ?
  • # sftp depuis ssh

    Posté par  . Évalué à 1.

    ce que je trouverai bien serai de pouvoir du sftp ou stfp depuis un shell une fois logué.
    Je sais que le shell c'est bash donc ssh donne la main a /usr/bin/bash mais bon ça parait logique sur le plan de l'utillisation de pouvoir envoyer un fichier directement à l'endroit d'où on se connecte.
    • [^] # Re: sftp depuis ssh

      Posté par  . Évalué à 1.

      Y'a zssh:
      http://zssh.sourceforge.net/

      Je ne sais pas ça marche bien, et ça n'a plus l'air trop maintenu, mais si ça peut faire un heureux.
    • [^] # Re: sftp depuis ssh

      Posté par  . Évalué à 6.

      Tu peut toujours utiliser la sequence "~^V" pour suspendre le ssh et faire ton scp.

      L'ideal serait de rajouter un commande dans le shell ssh ("~C")

      PS chercher dans le man "ESCAPE CHARACTERS" pour plus d'info.
    • [^] # Re: sftp depuis ssh

      Posté par  . Évalué à 4.

      Pareil, j'ai souvent révé d'une command get (avec option récursive) dans un vrai shell, a la place d'utiliser l'interface limitée d'un client ftp.

Suivre le flux des commentaires

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