tinysshd est un serveur SSH minimal qui n’implémente qu’une partie des fonctionnalités de SSHv2
- Il prend en charge une sécurité minimale de 128 bits et ne propose que des algorithmes sûrs, protégés contre les attaques par timing sur le cache
- Il n’implémente pas les anciens algorithmes de chiffrement comme RSA, DSA, HMAC-MD5, HMAC-SHA1, 3DES et RC4
- Il n’implémente pas non plus de fonctionnalités peu sûres comme l’authentification par mot de passe ou basée sur l’hôte
- Il ne fournit pas non plus de fonctionnalités comme le protocole SSH1, la compression, le port forwarding, l’agent forwarding ou le X11 forwarding
- Il n’utilise pas d’allocation mémoire dynamique, ce qui évite les problèmes comme les échecs d’allocation
Primitives cryptographiques
- Cryptographie moderne :
ssh-ed25519, curve25519-sha256, chacha20-poly1305@openssh.com
- Anciennes normes (supprimées dans la version 20190101) :
ecdsa-sha2-nistp256, ecdh-sha2-nistp256, aes256-ctr, hmac-sha2-256
- Cryptographie préparée à l’ère des ordinateurs quantiques :
sntrup761x25519-sha512@openssh.com, chacha20-poly1305@openssh.com
Chronologie du projet
- Phase expérimentale (2014) : destinée à l’expérimentation
- Phase alpha (2015-2017) : non adaptée à la production, mais prête pour les tests
- Phase bêta (de 2018 à aujourd’hui) : adaptée à la production
- Phase de stabilisation : devrait convenir à la production, y compris avec une cryptographie préparée à l’ère quantique
Version actuelle (20240101)
- Le code se compose de 63899 mots.
- Il s’agit d’une version bêta.
Exécution
- TCPSERVER :
tcpserver -HRDl0 0.0.0.0 22 /usr/sbin/tinysshd -v /etc/tinyssh/sshkeydir &
- BUSYBOX :
busybox tcpsvd 0 22 tinysshd -v /etc/tinyssh/sshkeydir &
- INETD : ajouter
ssh stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeydir au fichier /etc/inetd.conf
- SYSTEMD : configurer et lancer le service via les fichiers
tinysshd.socket et tinysshd@.service
Avis de GN⁺
tinysshd est un serveur SSH aux fonctionnalités minimales, avec une conception clairement orientée sécurité. Son absence de fonctionnalités superflues le rend léger et réduit potentiellement la surface de vulnérabilité.
- Un serveur SSH étant un élément central de la sécurité réseau, une approche minimaliste comme celle de
tinysshd peut être particulièrement utile dans les environnements où la sécurité est critique.
- En revanche, pour certains utilisateurs, l’absence de fonctions avancées comme le port forwarding ou le X11 forwarding peut être un inconvénient.
- La prise en charge d’une cryptographie préparée à l’ère des ordinateurs quantiques reflète une approche tournée vers l’avenir et un effort continu de mise à jour en matière de sécurité.
- Parmi les autres projets open source offrant des fonctions similaires, on peut citer OpenSSH, qui propose davantage de fonctionnalités, mais s’accompagne aussi d’une complexité plus élevée et de davantage d’aspects de sécurité à gérer.
- Avant d’adopter
tinysshd, il faut vérifier que ses limitations fonctionnelles correspondent bien aux besoins du projet ; ses avantages sont la simplicité et une sécurité renforcée, tandis que son principal compromis est l’absence de certaines fonctions avancées.
1 commentaires
Avis sur Hacker News
Cas d’usage de TinySSH :
Liens liés à TinySSH :
Avis sur la taille du code de TinySSH :
Portée du support de TinySSH :
Possibilité d’audit de TinySSH :
Question sur la différence entre TinySSH et Dropbear SSH.
Avis sur le remplacement d’OpenSSH :
Éloges sur le travail du développeur de TinySSH :
Fonctions de sécurité de TinySSH :