[ssh] sécurisé ?

Discussions autour de la sécurité des systèmes
jml
Messages : 98
Inscription : 29 janv. 2018, 09:47
Localisation : Biévres (91570)

[ssh] sécurisé ?

Message par jml » 04 août 2018, 11:23

Bonjour,

N'étant pas cryptologue, je me pose des questions et souhaitais vous
faire part de certaines réflexions...

L'idée est d'initialiser ici un topic relatif aux aspects connexions
sécurisées entre équipements, sujet sensible surtout sur les systèmes
embarqués type ARM avec des ressources de calcul pas toujours
performantes (objets type connectés sur batterie). Pour mémoire, les
instructions de calcul numérique spécifiques ne sont pas toujours
disponibles selon les SoC (j'entend ici les équivalents de AES-NI de
Intel). Pour mémoire, sur les plateformes ARM modernes, il y a des
équivalents de ce type d'instruction et certaines autres plus ou moins
bien supportées en standard sous Linux... et sur certains
compilateurs.

En premier point, le document de l'ANSSI
https://www.ssi.gouv.fr/uploads/2014/01/NT_OpenSSH.pdf
permet de faire une première passe sur les bonnes pratiques lors de la
mise en oeuvre de SSH.

Je vous invite à bien vérifier que vous êtes compatibles (bien sure!)
de toutes les exigences décrites dans ce document. Le respect dans un
premier temps de ces exigences représente déjà un travail énorme sur
un parc d'équipements hétérogènes.

A propos d'un parc hétérogène de version d'OS et de plateformes,
https://en.wikipedia.org/wiki/Comparison_of_SSH_clients
on peut s'intéroger sur le niveau de sécurité de toutes ces
implémentations ?, pour ma part je n'utilise que les versions
d'Openssh de Debian, quelque soit les architectures matérielles, ce
qui limite bien entendu cette problématique. Donc pensez à bien
regarder l'état des implémentations sur votre parc !

Concernant openssh, et avec une hypothèse d'utiliser les courbes
récentes (pas forcément bien à jour de ce coté dans le doc de
l'ANSSI), on s'intéroge également sur le bien fondé du fichier
/etc/ssh/moduli fournie dans les distributions, vue le patch proposé (!)
https://entropux.net/article/openssh-moduli/
Un autre document incontournable est bien entendu celui de Stéphane
Bortzmeyer
http://www.bortzmeyer.org/7748.pdf
dans la page 3, il est fait une critique de l'ANSSI, pas cool....et
facheux...., si certains avaient une lecture 'humaine' des
coefficients de ces courbes, je suis preneur...

De même, je vous invite à parcourir
https://stribika.github.io/2015/01/04/s ... shell.html
qui propose des solutions avec des choix justifiés...
De mon modeste point de vue utilisateur, l'usage de ces nouvelles
courbes devrait être un accélérateur pour une évolution du doc
https://www.ssi.gouv.fr/uploads/2014/01/NT_OpenSSH.pdf qui dans sa
dernière version (1.3) ne propose que l'évolution de la charte
graphique. Ce serait super qu'une 1.4 voit le jour en racontant une histoire sur
ces coefficients à mettre/ne pas mettre ainsi qu'un positionnement des
choix pour les futurs usages.

En attendant, je vais upgrader mon parc avec un bout d'Ansible qui va faire le
travail. Car la mise à jour du fichier moduli sur ARM, quelque soit le
nombre de coeurs, prends plusieurs jours ... ce qui n'est pas
acceptable.
Il convient donc de dissocier cette étape et la faire faire par une plateforme type Intel.
Une alternative plus raisonnable serait de comprendre et vérifier si les Debian sur armhf et/ou arm64 sont bien configurées en ce qui concerne l'usage des accélérateurs internes type VFP et NEON pour /usr/bin/ssh-keygen.

Code : Tout sélectionner

ansible@srv-orangepi0-3:~$ ldd /usr/bin/ssh-keygen
        linux-vdso.so.1 (0xbefd5000)
        libcrypto.so.1.0.2 => /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.2 (0xb6de2000)
        libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6dcf000)
        libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xb6daf000)
        libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6cc1000)
        /lib/ld-linux-armhf.so.3 (0xb6f80000)
Cordialement

Répondre