Home

Securiser ses connexions avec SSH A quoi sert SSH ?

image

Contents

1. http www ssh com Exploitation du canal cach induit par le padding al atoire dans SSHv1 A la demande g n rale merci de ne pas en faire mauvais usage Voici donc comment exploiter le canal cach subliminal induit par le fait que le padding est al atoire dans SSHvI et v2 Je d cline toute responsabilit concernant les attaques cardiaques des plus parano aques La structure d un paquet SSHvI est la suivante taille du paquet champs taille et padding exclus donc taille longueur type longueur data longueur CRC bourrage al atoire sa taille est ajust e pour que la partie chiffr e ait une longueur multiple de huit 5 p donn es variable gt 0 Seul le champ taille n est pas chiffr La longueur de la partie chiffr e est toujours multiple de huit ajust e gr ce au padding Le padding est toujours pr sent si la longueur des trois derniers champs est d j multiple de huit le padding comporte alors huit octets galement 5 p n congrus 0 modulo 8 Soit C la fonction de chiffrement sym trique effectu e en mode CBC et C celle de d chiffrement Pour simplifier on ne va traiter que les paquets dont le padding a exactement huit octets un huiti me statistiquement Lorsqu un tel paquet se pr sente au lieu de le remplir avec un vrai al a on va y mettre un contenu C M de huit octets en l occurrence c est dire le d chiffrement d un message M avec la fonc
2. que je math matiques IRMAR pourrais mal r sumer dans les quelques paragraphes qui suivent dans le d partement SPM Sciences Physique et Math matiques A quoi sert SSH Au premier ordre et historiquement SSH la commande ssh est une version s curis e de rsh et rlogin SSH veut dire Secure SHell l image de rsh qui veut dire Remote SHell Donc quand rsh permet d obtenir un shell distant ais ment mais sans m canisme d authentification satisfaisant du point de vue de la s curit ssh procure le m me service de fa on hautement s curis e en cumulant plusieurs niveaux pour assurer la s curit Si on voulait faire tr s bref pour l utilisateur basique qui ne veut pas en savoir plus ni en faire plus on pourrait s arr ter ici en affirmant raison que une fois que l administrateur des machines serveurs et clientes a correctement effectu son travail cela est relativement ais d sormais il suffit d utiliser la commande ssh la place des commande telnet rsh et rlogin et tout marche pareil mais en plus s curis donc avec une b n fice au pire gal en g n ral tr s sup rieur et cela tr s moindre effort Donc quand vous faisiez 2 rlogin serveur org Ou telnet serveur org vous faites ssh serveur org et c est d j bien mieux Et pour terminer dans le bref je m avancerais dire que aujourd hui tout incident de s curit qui aurait pu
3. quoi que ce soit ni que bien grand monde ne s en inqui te Bref je ne vais pas d velopper plus longtemps les impr cisions et contraintes du r gime l gal actuel fran ais concernant la cryptologie pendant ce temps l Etat allemand plus pragmatique peut tre finance le d veloppement de GnuPG et vire Microsoft des applications militaires Je ne retiendrai que cet extrait du projet de la LSI Article 37 alin a 1 L utilisation des moyens de cryptologie est libre qui r sume j esp re le r gime venir Pour une r ponse officielle l avis du DCSSI doit tre celui autoris A noter pour terminer la recommandation du Parlement Europ en d utiliser le chiffrement et les produits open source pour s curiser les communications dans son rapport tr s int ressant concernant le r seau Echelon http www europarl eu int tempcom echelon pdf prechelon_fr pdf j utilise dans ce paragraphe le terme cryptologie dans le sens ou c est celui utilis par les textes l gaux m me si cela ne correspond pas n cessairement la signification technique stricte Site Web maintenu par l quipe d dition LinuxFocus Translation information Bernard Perrot some rights reserved see linuxfocus org license http www LinuxFocus org fr gt Bernard Perrot lt bernard perrot at univ rennes1 fr gt 2005 01 14 generated by lfparser_pdf version 2 51
4. utilisant un mode de connexion s curis chiffr permettant le tunneling il pourra faire peu pr s ce qu il veut sans possibilit pour vous de le tracer efficacement Dans ce registre il faut galement noter que les rootkits bien faits contiennent en g n ral un d mon SSH pour permettre le retour discret chez vous mais un peu modifi 1l n coute pas sur le port standard 22 videmment il a le bon go t de ne plus rien loguer bien entendu il est nomm comme un autre d mon banal httpd par exemple et non visible sur un ps qui lui est en g n ral galement un peu trafiqu par le m me rootkit Cela va sans doute venir mais je n ai pas encore vu de rootkit modifiant Isof qui devient alors un bon moyen de d tecter des processus cach s par les rootkits classiques A contrario il ne faut pas fantasmer trop sur le danger que repr senterait un d mon SSH permettant aux intrus de passer encore plus inaper us vous savez j esp re qu il est possible de mettre n importe quoi dans quasi n importe quoi en IP y compris en d tournant les protocoles indispensables m me via un firewall tunneling dans HTML tunneling dans ICMP tunneling dans DNS Ce qui vous met en danger c est d allumer votre ordinateur pas d y installer SSH L utilisation de SSH doit donc naturellement tre un l ment coh rent d une politique de s curit globale et en particulier doit se faire en compl ment d une
5. A partir du moment o la cl est transmise il n y a plus n cessit de pre d chiffrer le padding perverti avant de l injecter dans le paquet il est possible d utiliser les padding de tailles quelconques si on veut y ajouter encore plus de choses des secrets pr lev s sur le poste de travail par exemple ce qui permet en plus de r v ler la communication de faire fuir des secrets qui ne seraient pr sents que sur le poste sans avoir besoin de s y connecter Les deux parties de la communication connaissant la ou les cl s il suffit qu une seule des deux soit perverse pour que ce syst me fonctionne l insu du plein gr de l autre On peut galement imaginer qu une des deux parties utilise un produit perverti son insu un binaire commercial par exemple qui v rifie au b n fice d un tiers et ce tiers pourra compromettre la communication au d triment des deux parties L utilisation de ce canal cach est absolument ind tectable il faut veiller cependant surchiffrer comme indiqu le message cach afin que l entropie du bloc ne r v le pas le stratag me Il est ind tectable car comme par d finition le padding est al atoire on ne peut v rifier aucune coh rence Il ne faut jamais faire du padding al atoire dans un produit de cryptologie jamais Ce qui rend ce canal plus dangereux que les autres dans le protocole celui induit par les messages de type SSH_MSG_IGNORE par exemple est que celu
6. LinuxFocus article number 273 http linuxfocus org Securiser ses connexions avec SSH 4 DRAI par Bernard Perrot R sum lt bernard perrot at univ rennes1 fr gt Cet article a t publi dans un num ro sp cial sur la s curit de Linux Magazine France L diteur les auteurs les traducteurs ont L auteur aimablement accept que tous les articles de ce num ro hors s rie soient publi s dans LinuxFocus En cons quence LinuxFocus vous Bernard est Ing nieur offrira ces articles au fur et mesure de leur traduction en Anglais Syst me et R seau au CNRS Merci toutes les personnes qui se sont investies dans ce travail Ce depuis 1982 Il a par r sum sera reproduit pour chaque article ayant la m me origine exemple t charg de mission la s curit Cet article a pour ambition de vous faire conna tre SSH quoi il sert informatique l Institut et vous donner les l ments de choix pour d cider de l utiliser ou non National de Physique sauf que si vous d cidez de ne pas l utiliser j ai rat mon coup Ce Nucl aire et de Physique des n est pas un mode d emploi didactique ni un manuel d installation Particules n2p3 Il travaille mais plut t une introduction au vocabulaire et fonctionnalit s de SSH maintenant dans un institut Les liens et documentations indiqu es ici contiennent en d tail toutes de recherches en les informations n cessaires au d ploiement en mieux que ce
7. a possibilit d en n gocier un privatif pour un cercle d usagers particulier par exemple cela me semble indispensable mais pour l usage courant je pense qu terme AES a vocation devenir le standard et alors pourquoi ne pas s en tenir lui Si AES devait tre compromis les soucis de s curit d passeraient tr s largement ceux induits dans SSH Redirection de ports tunneling SSH permet de rediriger forward n importe quel flux TCP dans le tunnel de la session SSH Cela veut dire que le flux de l application consid r e au lieu d tre v hicul entre les ports client et serveur habituels directement le sera encapsul l int rieur du tunnel cr par la connexion session SSH voir sh ma ci dessous Il le fait sans effort pour l utilisateur pour le protocole X11 avec gestion transparente des displays et propagation en continuit de ceux ci lors de connexions en cascades Il le fait la demande pour d autres flux gr ce une option de la ligne de commande et ce dans les deux sens au choix Connexion directe entre client et serveur alice org bob org connexion directe exemple user alice telnet bob org Redirection de port local client vers port distant serveur alice org bob org me ou me mn a a mue mn men 1 SSH tunnel exemple user alicez ssh L 1234 bob org 143 bob org ce syst me permet d acc der depuis alice org au s
8. a utiliser ce tunnel chiffr pour se connecter au d mon felnetd du serveur Le sleep va s interrompre apr s une minute il n y a donc qu une minute pour lancer le telnet mais SSH ne fermera le tunnel que lorsque la connexion du dernier client l utilisant sera termin e Principales distributions gratuites disponibles Il va falloir distinguer la disponibilit des clients et ou serveurs selon les plates formes et pour cause d incompatibilit entre version 1 et version 2 Les r f rences en fin d article vont permettront de trouver les impl mentations non cit es ici ce tableau se cantonne des produits gratuits et suffisamment stables et fonctionnels Versions voir OpenSSH Unix www openssh com let2 ci dessous TTSSH TTSSH Windows version 1 wWWwW Zip com au roca ttssh html tmlversion 1 3 b ta www chiark e sgtatham putt SSH secure d mlversions PERENE me shell Windows et 2 ET commercial NiftytelnetSSH NiftytelnetSSH Macos version 1 www lysator liu se jonasw freeware niftysst www lysator www lysator liu se jonasw freeware niftyssH se jonasw freeware niftyssh MacSSH MacSSH Macost version 2 Jwww macsshcom www macssh com versions 2 MindTerm Java version 1 www mindbright se commerciales A noter que MindTerm est la fois une impl mentation en Java ind pendante il faut juste un runtime Java et une servlet qui peut donc tre ex cut e l int rieur d un
9. articuli rement appr ci en environnement Windows ou MacOS o le client SSH peut ne pas poss der l ergonomie favorite de l utilisateur Par exemple la partie mulation de terminal du client Mindterm client SSH en Java donc fonctionnel sur tout syst me moderne souffre du manque de performance du langage il peut tre avantageux d utiliser ce client uniquement pour ouvrir le tunnel SSH puis d y faire passer y compris son client telnet favori On peut galement par ce biais lancer un client du type xterm distant en l occurrence travers la redirection X11 automatique de SSH ce qui permet l utilisation de SSH sur des dispositifs ne poss dant pas de client natif terminaux X par exemple cependant il faut une machine d l gataire proxy sur le r seau local et la connexion entre ce proxy et le TX n est pas s curis e Notez que le tunnel est maintenu ouvert tant qu il y a un flux redirig qui l utilise m me s il ne s agit pas de celui qui l a cr Ainsi la commande sleep devient tr s utile pour ouvrir un tunnel SSH et y rediriger un autre flux TCP 2 ssh n f L 2323 serveur org 23 serveur org sleep 60 telnet localhost 2323 welcome to serveur org La premi re ligne ouvre le tunnel ex cute la commande sleep 60 sur le serveur et redirige le port local 2323 vers le port distant 23 telnet La deuxi me lance un client telnet sur le port local 2323 et donc v
10. e cryptographie modernes l algorithmique cl publique sert assurer le secret de l change des cl s secr tes al atoires et volatiles En SSHv1 il y en a une par session identique pour les deux sens de communication En SSHv2 il y en a une par sens de communication donc deux par session r g n r es A cela s ajoute la passphrase de l utilisateur qui permet de prot ger la composante priv e du bi cl asym trique de celui ci cette protection tant assur e en chiffrant l aide d un algorithme sym trique le fichier contenant la cl priv e La cl secr te utilis e pour chiffrer ce fichier est d riv e de cette passphrase Les m thodes d authentification Il existe plusieurs m thodes d identification des utilisateurs choisir en fonction des besoins de la politique de s curit Le fichier de configuration du serveur permet d autoriser ou non telle et telle m thode en fonction de cette politique Voici les principales cat gories la telnet Il s agit de l authentification traditionnelle par mot de passe lors de la connexion apr s avoir d clin son identit l utilisateur est invit entrer un mot de passe qui est transmis au serveur qui le compare celui associ l utilisateur je simplifie en g n ral il est compar une empreinte de ce password afin de ne pas stocker celui ci en clair sur un support lisible Le probl me celui encore cause d un nomb
11. e cryptologie est LE moyen classique et basique de le pervertir me semble incompr hensible d autant qu il est imm diat de le supprimer Il peut tre int ressant ce propos de lire ce papier de Bruce Schneier concernant l impl mentation de tels dispositifs dans certains produits influenc s par des agences gouvernementales http www counterpane com crypto gram 9902 html backdoors Je terminerai pour signaler que j avais pour ma part lors du portage de SSF d couvert un trou de s curit dans le codage des versions Unix de SSH ant rieures la version 1 2 25 ayant pour cons quence que le g n rateur d al as tait pr visible cette situation pouvant tre consid r e comme f cheuse dans un produit cryptographique je n entre pas dans les d tails techniques mais cela devait permettre de compromettre une communication en tant simplement l coute L quipe de d veloppement de SSH avait l poque bien entendu corrig le probl me une seule ligne de code a corriger mais curieusement c est un bug qui n a fait l objet d aucune alerte de leur part ni aucune autre part ni m me la moindre mention dans le changelog du produit on aurait voulu que cela ne se sache pas qu on aurait pas fait autrement Aucun rapport bien entendu avec l article sus cit Ce probl me est clairement identifi puisque le document de l IETF SSH Transport Layer Protocol indique The protocol was no
12. e pour cause de patent sur le produit dans certains pays Depuis la fin de l t 2000 RSA est libre de droits et donc cette contrainte a disparu Je n ai pas d avis pr cis sur le bon ou mauvais choix signalons quand m me que DSA est un pur produit de la NSA mais qu est ce qui ne l est pas directement ou indirectement actuellement dans la cryptographie grand public et commerciale Pour le chiffrement sym trique il y a presque trop le choix Le protocole impose un algorithme commun et devant tre pr sent dans toutes les impl mentations le friple DES trois cl s Par cons quent c est celui qui sera utilis si la n gociation entre le client et le serveur choue sur une autre concordance Cependant s il est possible d en n gocier un autre c est pr f rable le 3DES tant maintenant un des moins performants On cartera sauf n cessit les exotiques ou trop anciens arc4 DES RC4 pour se limiter IDEA plus performant que le 3DES mais non totalement libre de droits dans certaines conditions c tait souvent celui configur par d faut dans la version Unix Blowfish tr s rapide probablement s r mais algorithme en fait peu prouv AFS le nouveau standard le rempla ant du DES s il est disponible pour les deux parties le prendre il est fait pour a Personnellement je m interroge sur l utilit de proposer autant d algorithmes que le protocole pr voit l
13. elle m me prot g e par mot de passe on parle ici en g n ral de passphrase afin de notifier qu il n est pas raisonnable de s en tenir un seul mot Si l utilisateur ne prot ge pas correctement pas du tout sa cl priv e celle ci peut tre utilis e par un tiers qui aura alors acc s toutes les ressources de l utilisateur Je dis que cette s curit ne repose que sur le s rieux la confiance de l utilisateur car dans un tel syst me l administrateur de la machine serveur n a aucun moyen de savoir si cette cl priv e est prot g e ou non et actuellement SSH ne sait pas g rer de listes de r vocation pas grand monde ne les g rent d ailleurs non plus dans les PKIs actuellement Par exemple si une cl priv e est stock e sans passphrase sur une machine domestique domicile il n y a pas de m chants domicile quoi bon s emb ter avec une passphrase et que la dite machine part en d pannage au SAV d une la grande surface quelconque ne riez pas c est ce qui va arriver quand la signature lectronique va se d velopper le d panneur son fils ses copains pourra r cup rer les cl s priv es de tout ce qui va passer sur sa table La configuration de ce m canisme d authentification pour l utilisateur est l g rement diff rente selon que l on utilise SSHv1 SSHv2 ou OpenSSH ou bien un client MacOS ou Windows Les principes et tapes retenir sont O g n rat
14. erveur imap de bob org qui refuserait les connexions externes son r seau local et sera alors accessible l adresse localhost port 1234 vu du client imap ex cut sur alice org O 1 l utilisateur sur alice org ouvre connexion le tunnel SSH O 2 l utilisateur sur alice org configure le client local imap pour qu il acc de au serveur imap localhost sur le port 1234 Redirection de port distant client vers port local serveur alice org bob org SSH tunnel exemple root alicez ssh R 1234 bob org 143 bob org ce syst me permet d acc der depuis bob org au serveur imap de alice org qui refuserait les connexions externes son r seau local et sera alors accessible l adresse localhost port 1234 vu du client imap ex cut sur bob org Dans le cas pr sent l initiative d ouvrir le tunnel est prise par l administrateur de alice org qui poss de donc les privil ges requis pour ex cuter cette commande ssh qui d sire offrir une solution pour acc der cependant son serveur imap O 1 l administrateur sur alice org ouvre connexion le tunnel SSH O 2 l utilisateur sur bob org configure le client local imap pour qu il acc de au serveur imap localhost sur le port 1234 Cette fonctionnalit tr s puissante vaut parfois SSH l appellation de tunnel du pauvre Il faut comprendre ici que la notion de pauvret est celle qui signifie ne pas poss der de privil ges dr
15. i ci est utilisable sans connaitre pr alablement les cl s de chiffrement Pour viter cet effet pervers du padding al atoire il suffit de convenir dans la d finition du protocole que le padding est d terministe couramment on utilise du self describing padding c est dire que l octet d offset n contient n Le padding est rest al atoire dans SSH v2 c est un choix dont acte le format des paquets est diff rent la m thode expos e ici doit donc tre adapt e sans plus Pour conclure je dirais juste que si je critique ce canal cach c est parce que je souhaiterais qu un produit comme SSH qui se revendique de haute s curit offre v ritablement toutes les garanties Il n chappera maintenant personne qu il doit tre possible d imaginer beaucoup de perversions potentielles dans les produits commerciaux actuels de toute nature seuls les produits open source offrent le pr requis indispensable la possibilit de v rifier le code utilis m me si cette v rification reste souvent faire A t on le droit d utiliser SSH en France Question r currente A la date de r daction de cet article le r gime l gal fran ais concernant la cryptologie est toujours restrictif Ce r gime est celui ci instaur par les derniers d crets de mars 1999 fixant en particulier une limite entre les r gimes d claratifs et d autorisation pr alable 128 bits de cl L algorithme par d faut uti
16. ion d un bi cl asym trique c est dire un couple cl priv e cl publique RSA ou DSA sur une machine en g n ral la machine cliente si on utilise plusieurs machines clientes on effectue cette g n ration en g n ral sur une seule d entre elles puis on recopie les cl s sur les autres Certains clients Windows et MacOS n ont pas d utilitaire de g n ration des bi cl s il faut alors les g n rer sur une machine Unix puis les recopier apr s sur la machine voulue Ce bi cl est stock dans un sous r pertoire sside l utilisateur O copie de la cl publique sur les machines serveur sur lesquelles on souhaite pouvoir utiliser cette authentification Cela consiste ajouter la ligne correspondant la cl publique pr sente dans le r pertoire o elle a t g n r e dans un fichier du serveur dans le m me r pertoire sstde l utilisateur le nom d pend de la version de SSH authorized keys ou authorization O et c est tout si ce type d authentification a t configur au niveau du serveur le client demandera alors la passphrase au moment de le s quence de connexion En compl ment il est utile de conna tre au moins les deux points suivants propos de l authentification ssh agent Une des raisons qui incite ne pas prot ger sa cl priv e est l agacement devoir entrer celle ci chaque utilisation et de plus l impossibilit de le faire si on souhaite utilise
17. lis par SSH en l absence d accord n goci sur un autre est le triple DES trois cl s l galement assimil en France un algorithme utilisant une cl de 168 bits Formellement il faudrait donc demander une autorisation pr alable pour utiliser SSH ce jour Le Premier ministre a annonc en janvier 1999 intention du gouvernement de totalement lib raliser l usage de la cryptologie mais les lois et d crets correspondants n ont toujours pas vu le jour La lib ralisation de la cryptologie est incluse dans la Loi sur la Soci t de l Information au milieu de plein de choses sans aucun rapport Le projet de texte de cette LSI vient juin 2001 d tre accept en conseil des ministres 1l ne reste plus qu le faire voter par le Parlement et en publier les d crets d application cela peut prendre encore tr s longtemps Et dans les faits Dans la vraie vie du vrai monde personne ne sait vraiment comment s appliquent les textes actuels un produit comme OpenSSH pour lequel il n y a pas de fournisseur au sens des textes actuels et qui formellement ne contient pas de code cryptographique En effet OpenSSH utilise en g n ral dynamiquement la biblioth que OpenSSL pour les services de chiffrement OpenSSL est tr s largement import e install e et utilis e en France pour en particulier impl menter des serveurs Web s curis s https Et cela sans que pas grand monde personne n ait d clar
18. ma part et je ne suis pas le seul qu un produit de cryptologie multiplateforme devrait avoir un comportement d montrable d montr d termin et constant quelle que soit la plate forme aussi bien en consid rant liminant les caract ristiques propres de celle ci que son volution dans le temps releases syst me par exemple Ces r serves faites les impl mentations concurrentes libres n tant pas si nombreuses et mieux loties je crois qu il est pragmatique de consid rer qu actuellement OpenSSH est la pire des impl mentations l exclusion de toutes les autres Un chantier utile la communaut serait une remise plat et une reprise du codage z ro cependant Mauvaises nouvelles SSH n est pas miraculeux Il fait bien ce pour quoi il a t con u il ne faut pas en attendre plus En particulier il n emp chera pas les connexions autoris es si un compte est compromis par ailleurs il sera bien entendu possible pour un intrus de se connecter via SSH sur votre machine m me si c est le seul moyen puisqu il poss de l authentification L utilisation de SSH n est donc pleinement efficace que corr l e une politique et une pratique de la s curit coh rente si on poss de le m me mot de passe partout et que l on n utilise pas SSH partout le risque potentiel n est que faiblement diminu Il faut noter que dans cette situation SSH peut m me se retourner contre vous car lintrus
19. navigateur Web bien n Malheureusement les derni res versions de cet excellent produit viennent de devenir commerciales Impl mentation OpenSSH Cette impl mentation est aujourd hui sans doute celle qu il faut utiliser en environnement Unix Linux suivi constant bonne r activit open source et gratuite mais n est malheureusement pas exempte de d faut mes yeux Au d part le d veloppement de OpenSSH a d but sur une base originale SSH 1 2 12 de Tatu Ylonen la derni re tre suffisamment libre dans le cadre de OpenBSD 2 6 via OSSH Actuellement OpenSSH est d velopp par deux quipes l une n effectuant que le d veloppement relatif OpenBSD et l autre adaptant constamment ce code pour en faire une version portable Tout cela a certaines cons quences en particulier le code est devenu et tend tre de plus en plus une monstrueuse adaptation constante je sens le syndrome sendmail poindre l horizon et cela n est pas tr s sain pour une application de cryptologie qui devrait tre extr mement rigoureuse et claire j viterai ici mon classique couplet sur les produits de cryptologie open source que tout le monde peut relire mais que personne n a jamais relu et qui alors dans les faits ne procurent qu une confiance non d montr e et donc totalement artificielle voire surfaite et surestim e En dehors de la propret et de la lisibilit du code deux autres points fondamentaux me
20. oits administrateur sur la machine cliente car sauf cas particuliers la redirection d un port local non privil gi donc sup rieur 1024 ne n cessite pas de droits super utilisateur root pour tre utilis e Par contre la redirection d un port local privil gi devra tre r alis e par un compte root ou bien le client devra tre install avec les droits du super utilisateur suid car la redirection d un port local privil gi permet en fait de red finir un service standard Comme avec IP il est assez ais de mettre tout dans tout et r ciproquement il est non seulement possible de rediriger ainsi des flux TCP particuliers mais galement un flux PPP ce qui permet de r aliser un vrai tunnel IP dans IP qui plus est chiffr donc s curis La description compl te de la m thode d passe le cadre de ce court article on pourra se r f rer au Linux VPN HOWTO pour d tails et script de mise en oeuvre il existe galement des solutions natives de VPN sous Linux comme stunnel qu il faut galement consid rer avant de faire un choix d finitif A noter qu une des premi res possibilit s de la redirection est de rediriger le flux telnet cela peut sembler totalement inutile puisque SSH impl mente la connexion interactive par d faut Cependant en redirigeant le flux telnet il est possible d utiliser un client pr f r la place du mode interactif natif de SSH Cela peut tre peut tre p
21. on d un cot et la poursuivre vers l autre partie qui croit toujours avoir faire au partenaire habituel J aime aussi habituellement signaler une faiblesse incompr hensible du protocole concernant le padding aussi bien en protocole version 1 que 2 les paquets pour avoir une longueur multiple de 64 bits sont padd s avec un al a Cela est assez inhabituel et m nage une faille classique et connue des impl mentations de produits cryptologiques un canal cach ou subliminal voir article sur la crypto dans ce m me num ro pour d finition et d tails Habituellement on padde avec une s quence v rifiable comme par exemple inscrire la valeur n pour l octet de rang n self describing padding Dans SSH la s quence tant par d finition al atoire elle n est pas v rifiable En cons quence il est possible pour une des parties de la communication de l utiliser pour pervertir compromettre la communication par exemple l usage d un tiers l coute On peut galement imaginer une impl mentation pervertie l insu des deux parties facile r aliser sur un produit fourni en binaire seul comme le sont en g n ral les produits commerciaux L utilisation de ce canal est facile voir encadr et ne n cessite ici de pervertir que le client ou le serveur Laisser cet norme d faut dans le protocole alors qu il est universellement connu que l installation d un canal cach dans un produit d
22. perturbent OpenSSH utilise pour les services de cryptographie la biblioth que OpenSSL et en g n ral soit que l on utilise une distribution binaire packag e soit que l on construise le produit avec les habitudes classiques cette librairie est utilis e dynamiquement Dans le cadre d une impl mentation d un outil de cryptologie destin procurer un niveau de s curit et confiance maximum cette approche me semble totalement erron e En effet une attaque sur la biblioth que vaudra attaque sur le produit Et au del d une attaque perverse les caract ristiques qualit s cryptographiques de OpenSSH sont seront celles de la biblioth que qui vivra sa vie ind pendamment de OpenSSH OpenSSH utilise pour certains services sensibles g n rateur de pseudo al as par exemple les services syst me de OpenBSD Dans ce seul contexte je ferai d j la m me remarque de d pendance externe que celle concernant OpenSSL Plus g nant encore la version portable de OpenSSH destin e tourner sur d autres plates formes d l gue les services requis OpenBSD des m canismes divers selon la plate forme cible Par exemple selon la disponibilit ou non d un g n rateur d al as sur le syst me on l utilisera ou on en utilisera un interne pas vraiment valid En cons quence l entropie effective de OpenSSH devient d pendante de la plate forme d ex cution voire moyennement d terministe Je pense pour
23. politique d acc s et de filtrage SSH n est pas exempt non plus de trous de s curit qui peuvent se situer au niveau de l impl mentation de nombreux ont t corrig s par le pass il n y a pas de programmes parfaits mais aussi au niveau du protocole Ces trous m me s il sont parfois annonc s de fa on tr s alarmantes sont en g n ral des faiblesses dont l exploitation reste tr s technique et complexe r aliser il ne faut pas perdre de vue que les incidents de s curit qui auraient pu tre vit s par la seule utilisation de SSH sont quotidiens alors que ceux pour lesquels il aurait t d montr qu ils ne sont d s qu l exploitation d une faiblesse actuelle de SSH ne restent sans doute que th oriques On lira avec int r t cette tude concernant les attaques du type man in the middle http www hsc fr ressources presentations mitm index html fr Il faudra cependant prendre en compte ce type de vuln rabilit potentielle dans le cadre d applications de haute s curit bancaire militaire o les moyens de l attaquant tr s motiv par l enjeu et le b n fice escompt s peuvent tre importants Attaque man in the middle alice org bob org L homme au milieu L attaquant intercepte les paquets des deux parties et g n re les siens afin de faire croire chacun qu il est l autre diff rents sc narios sont possibles jusqu cl re la connexi
24. r SSH dans des scripts d tach s A cela il existe une r ponse l agent SSH c est un utilitaire ssh agent qui une fois activ sous votre contr le va vous permettre de stocker des tripl s identifiants username hostname passphrase et les soumettra votre place lorsqu ils seront requis par une connexion Comme cela demande de ne donner qu une seule fois son mot de passe par connexion sur le poste client on peut dire que c est une sorte de SSO Single Sign On Voil vous tes pr venus rien ne vous contraint ne pas prot ger vos cl s priv es si vous le faites ce sera de la n gligence vous serez responsable des cons quences mode verbose Il arrive que la connexion choue pour une raison qui chappe l utilisateur utiliser alors l option v pour verbose de la commande ssh Celle ci va avoir pour cons quence de d tailler par de tr s nombreux messages affich s l cran la s quence de connexion et tr s souvent permettre de d couvrir la cause du rejet Les algorithmes de chiffrement Il faut distinguer ceux servant au chiffrement du canal de communication chiffrement cl s secr tes et ceux servant l authentification chiffrement cl s publiques Pour l authentification on a le choix entre RSA et DSA avec la version 2 du protocole et il n y a que RSA pour la version 1 donc pas de choix Le choix de DSA s imposait historiquement si RSA n tait pas utilisabl
25. re sid ral de piratages sur Internet est que ce mot de passe circule en clair sur le r seau et donc peut tre intercept par n importe qui l aide d un simple sniffer L apport de SSH ici est que tout va fonctionner l identique 1l s agit donc de la m thode facile apprendre pour un d butant migrant de telnet SSH puisqu il n y a rien apprendre sauf que le canal tant d j chiffr par le protocole le password clair est encapsul dans une communication secr te et devient donc inviolable sur le r seau Une variante plus s curis encore configurable si on poss de ce qu il faut sur le poste serveur est l utilisation de mots de passe usage unique S Key en l occurrence c est sans doute tr s bien encore plus s r videmment mais l ergonomie contraignante de ce syst me le r serve sans doute des sites bien particuliers Rappelons que le principe des syst mes de mots de passe usage unique est le suivant apr s avoir d clin son identit au lieu de demander son mot de passe statique l utilisateur le serveur lui soumet un challenge auquel il doit r pondre Ce challenge tant toujours diff rent la r ponse le sera galement Ainsi donc le fait d intercepter cette r ponse est sans importance puisque cela ne peut pas resservir La contrainte indiqu e vient du fait essentiel que cette r ponse n cessite un dispositif pour tre calcul e calculette externe
26. t designed to eliminate covert channels For example the padding SSH_MSG_IGNORE messages and several other places in the protocol can be used to pass covert information and the recipient has no reliable way to verify whether such information is being sent Je consid re le canal cach dans le padding plus grave que les autres car encore plus cach Conclusion Je reprendrai ce que j ai crit en introduction SSH sans tre miraculeux ni r soudre tous les probl mes de s curit lui seul permet de traiter tout fait efficacement la majorit des aspects fragiles des modes de connexions interactifs historiques moindre effort quasi nul En cons quence son utilisation devrait se substituer naturellement celle des telnet rsh rlogin et autres R commandes et modes de connexion interactifs Tout incident de s curit qui aurait t limit par l usage de SSH est impardonnable Bibliographies liens essentiels Les deux ouvrages suivants couvrent SSH version 1 et SSH version 2 SSH the Secure Shell Daniel J Barret amp Richard E Silverman O Reilly ISBN 0 596 00011 1 Unix Secure Shell Anne Carasik McGraw Hill ISBN 0 07 134933 2 S 1l faut ne retenir qu un URL celui ci vous permettra de tout retrouver en particulier la rubrique Alternatives pour les autres impl mentations http www openssh com Et si vous voulez tout prix d p nser de l argent voici un d part tout indiqu
27. tion C utilis e pour chiffrer le canal le fait que M soit d chiffr sans avoir t pr alablement chiffr est sans importance d un strict point de vue math matique je ne d taille pas les d tails d impl mentation pratiques comme la n cessit de dupliquer les contextes des routines de chiffrement 4 padding p 1 8 au bon moment pour cause de mode CBC Ensuite on effectue le traitement habituel du paquet savoir le chiffrement de celui ci par tranches de huit octets Le r sultat sera le suivant 8 octets de padding chiffr s donc C C M type data CRC chiffr s Que se passe t il devant nos petits yeux bahis Le premier bloc chiffr contient C c M Hors P Pp y p comme C est une fonction de chiffrement sym trique C C M M Ce premier bloc se trouve donc tre mis en clair dans un flux chiffr Cela veut tout simplement dire que toute personne espionnant la communication et au courant du stratag me saura exploiter cette information Bien entendu il est tout fait concevable que le message M soit lui m me chiffr par ailleurs contre une cl publique par exemple ce qui vite de d poser un secret dans le code perverti ce qui le rend toujours ind chiffrable pour qui n est pas au parfum Il suffit par exemple de trois paquets de ce type pour y passer la cl de session triple DES 168bits et ensuite l observateur du flux pourra d chiffrer toute la communication
28. tocole Diffie Hellman cl de session valable pour toute la cl s de session renouvel es session Le trousseau de cl s SSH utilise plusieurs types de cl s voici leurs d finitions rapides Ja cl utilisateur user key c est une paire cl publique cl priv e un bi cl asym trique cr e par l utilisateur et permanente stock e sur disque Elle permet l authentification de l utilisateur si ce mode d authentification cl publique est utilis voir ci apr s la cl h te host key c est une paire cl publique cl priv e un bi cl asym trique cr e par l administrateur du serveur en g n ral l l installation configuration du produit Elle est permanente et stock e sur disque Elle permet l authentification des machines entre elles la cl serveur server key c est une paire cl publique cl priv e un bi cl asym trique g n r e par le d mon au d marrage et r guli rement r g n r e Elle reste uniquement en m moire et est utilis e dans SSHv1 pour s curiser l change de la cl de session en SSHv2 cet change utilise un protocole Diffie Hellman et cette cl n existe plus la cl de session session key c est une cl secr te destin e tre utilis e par l algorithme de chiffrement sym trique chiffrant le canal de communication Elle est al atoire et volatile comme toujours dans les produits d
29. tre contenu par le seul et simple usage de SSH la place de rsh rlogin telnet rel ve plus de la n gligence des parties victimes que de l absolue fatalit pour temp rer on admettra qu il n y aura n gligence qu partir du moment ou il n y avait pas ignorance de la solution Quels sont les besoins Pour d tailler plus voici quelques uns des aspects sensibles et fragiles des connexions interactives que l on souhaiterait voir r solus en premier lieu viter la compromission des mots de passe qui circulent en clair sur le r seau disposer d une authentification renforc e des machines pas seulement bas e sur le nom ou l adresse IP fortement sensibles la mascarade pouvoir ex cuter en toute s curit des commandes distance pouvoir transf rer des fichiers en toute s curit s curiser les sessions X11 tr s vuln rables ces besoins il existe des solutions connues non satisfaisantes les R commandes elles vitent en effet la circulation des mots de passe en clair mais en ayant recours au m canisme des rhosts qui posent alors de tr s gros probl mes de s curit les mots de passe usage unique One Time Password OTP ce m canisme ne prot ge que l authentification pas la communication ensuite et bien que ce soit un syst me tr s s duisant d un point de vue s curit 1l est tr s contraignant difficile faire accepter et de ce fait se tro
30. ulier normalis l IETF accompagn d un quatri me d crivant l architecture SSH Protocol Architecture SSH ARCH On trouvera tous les d tails l adresse http www ietf org html charters secsh charter html Sans entrer trop dans les d tails indiquons cependant que dans SSHv2 la couche transport prend en charge l int grit le chiffrement et la compression l authentification des machines la couche authentification prend en charge l authentification password hostbased cl s publiques la couche connexion prend en charge la gestion du tunnel shell agent SSH redirection de ports contr le de flux Les diff rences techniques essentielles entre les versions 1 et 2 sont SSH version 1 SSH version 2 Se s paration des couches authentification conception monolithique i connexion et transport int grit via HMAC hash int grit via CRC32 peu fiable ep oera oe nombre ind termin de canaux par un et un seul canal par session Sion n gociations plus d taill es chiffrement sym trique cl s publiques compression n gociation du seul chiffrement sym trique du tunnel cl de session et cl s de session compression et unique pour les deux sens int grit s par es pour les deux sens RSA seulement pour l algorithmique RSA et DSA pour l algorithmique cl s publiques cl s publiques cl de session transmise par le client a OI ES AVEC ER pro
31. utilitaire logiciel sur la machine cliente etc et que l entr e de la r ponse est tr s cabalistique six monosyllabes anglo saxonnes dans le meilleur des cas la rhosts hostbased Il s agit d une identification similaire celle pratiqu e avec les R commandes et les fichiers tels que etc rhosts ou rhosts qui certifient les sites clients Le seul apport de SSH est l identification accentu e des sites et l utilisation de fichiers shosts privatifs mais c est peu et je d conseille cette m thode utilis e seule Par cl s publiques Ici l authentification sera r alis e par un syst me bas sur la cryptographie asym trique voir cet article SSH version 1 utilise RSA pour ce mode et SSH version 2 a introduit DSA la cl publique de l utilisateur tant pr alablement d pos e sur la machine serveur et sa cl priv e stock e sur sa machine cliente Avec un tel syst me d authentification aucun secret ne circule sur le r seau et n est jamais fourni au serveur Ce syst me est excellent la contrainte pr s mon avis que sa s curit repose quasi exclusivement sur le s rieux de l utilisateur ce probl me n est alors pas particulier SSH mais est mon sens LE probl me majeur des syst mes cl s publiques tels que les PKIs actuellement la mode en effet afin d viter la compromission de la cl priv e sur la machine cliente celle ci est normalement
32. uve r serv des situations contextes bien particuliers dans lesquels la contrainte sur l ergonomie est acceptable telnet avec chiffrement cette solution ne couvre que telnet En particulier cela ne fournit pas de r ponse pour le protocole X11 indispensable pour beaucoup en compl ment Et il existe SSH qui va remplacer les R commandes ssh va se substituer rsh et rlogin scp rcp sftp ftp procurer une authentification forte bas e sur l algorithmique cryptographique cl s publiques aussi bien des machines que des utilisateurs permettre de rediriger tout flux TCP dans le tunnel de la session et en particulier X11 qui peut l tre automatiquement chiffrer le tunnel et au besoin et sur demande le compresser SSH version 1 et SSH version 2 Comme rien n est parfait en ce monde il y a deux versions incompatibles de SSH du protocole les versions 1 x 1 3 et 1 5 et la version 2 0 Le passage d une version l autre est sans douleur pour l utilisateur au d tail pr s qu il faut avoir le bon client avec le bon serveur pour cons quence de cette incompatibilit Le protocole est monolithique dans SSH version 1 tandis que SSH version 2 a red fini celui ci en trois couches 1 SSH Transport Layer Protocol SSH TRANS 2 SSH Authentication Protocol SSH AUTH 3 SSH Connection Protocol SSH CONN chacun faisant l objet d un document de sp cification partic

Download Pdf Manuals

image

Related Search

Related Contents

取扱説明書 ボールジョイント・プラー2 品番: 34201200 型式:YF6344  OFELIA Tutorial  Sécurité des procédures dans le domaine du nettoyage à sec avec  保 証 ー  Genius NX-Elite  Guide des Traces oct 2012 - Département de Médecine général    Mode d`emploi Eclosoir modulaire  4 - CNET Content Solutions  33-580型 33-590型 取扱説明書 ガス湯沸器・セントラルタイプ わくわく16  

Copyright © All rights reserved.
Failed to retrieve file