- tinysshd ist ein minimalistischer SSH-Server, der nur einen Teil der SSHv2-Funktionen implementiert
- Unterstützt mindestens 128-Bit-Sicherheit und nur sichere Kryptografie, die gegen Cache-Timing-Angriffe ausgelegt ist
- Veraltete Kryptografie wie RSA, DSA, HMAC-MD5, HMAC-SHA1, 3DES und RC4 wird nicht implementiert
- Unsichere Funktionen wie Passwort- oder hostbasierte Authentifizierung werden nicht implementiert
- Funktionen wie das SSH1-Protokoll, Komprimierung, Port-Forwarding, Agent-Forwarding und X11-Forwarding werden ebenfalls nicht angeboten
- Verwendet keine dynamische Speicherzuweisung, daher gibt es keine Probleme wie Allokationsfehler
Kryptografische Primitive
- Moderne Kryptografie: ssh-ed25519, curve25519-sha256, chacha20-poly1305@openssh.com
- Frühere Standards (in Version 20190101 entfernt): ecdsa-sha2-nistp256, ecdh-sha2-nistp256, aes256-ctr, hmac-sha2-256
- Gegen Quantencomputer ausgelegte Kryptografie: sntrup761x25519-sha512@openssh.com, chacha20-poly1305@openssh.com
Projekt-Zeitleiste
- Experimentelle Phase (2014): Diente experimentellen Zwecken
- Alpha-Phase (2015–2017): Nicht für Produktionsumgebungen geeignet, aber für Tests vorbereitet
- Beta-Phase (seit 2018 bis heute): Für den Produktionseinsatz geeignet
- Stabilisierungsphase: Wird voraussichtlich für Produktionsumgebungen geeignet sein, einschließlich gegen Quantencomputer ausgelegter Kryptografie
Aktuelles Release (20240101)
- Der Code besteht aus 63899 Wörtern.
- Befindet sich im Beta-Release-Status.
Ausführung
- 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: In der Datei
/etc/inetd.conf ssh stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeydir hinzufügen
- SYSTEMD: Dienst über die Dateien
tinysshd.socket und tinysshd@.service konfigurieren und starten
Meinung von GN⁺
- tinysshd ist ein SSH-Server mit minimalem Funktionsumfang, dessen auf Sicherheit fokussiertes Design hervorsticht. Das bringt den Vorteil mit sich, dass er durch den Verzicht auf überflüssige Funktionen leichtgewichtig ist und wahrscheinlich weniger Sicherheitslücken aufweist.
- Da SSH-Server ein Kernelement der Netzwerksicherheit sind, kann ein minimalistischer Ansatz wie bei tinysshd besonders in sicherheitskritischen Umgebungen nützlich sein.
- Für einige Nutzer kann jedoch das Fehlen fortgeschrittener Funktionen wie Port-Forwarding oder X11-Forwarding ein Nachteil sein.
- Die Unterstützung von gegen Quantencomputer ausgelegter Kryptografie ist ein zukunftsorientierter Ansatz und spiegelt das anhaltende Interesse an Sicherheit und kontinuierlichen Updates wider.
- Ein anderes Open-Source-Projekt mit ähnlicher Funktionalität ist OpenSSH; es bietet mehr Funktionen, ist dafür aber komplexer und bringt mehr sicherheitsrelevante Aspekte mit sich, die verwaltet werden müssen.
- Bei der Einführung von tinysshd sollte geprüft werden, ob die funktionalen Einschränkungen zu den Anforderungen des Projekts passen; die Vorteile liegen in Einfachheit und erhöhter Sicherheit, der Nachteil im Fehlen einiger fortgeschrittener Funktionen.
1 Kommentare
Hacker-News-Kommentare
Anwendungsfälle für TinySSH:
Links zu TinySSH:
Meinung zum Codeumfang von TinySSH:
Unterstützungsumfang von TinySSH:
Auditierbarkeit von TinySSH:
Frage nach den Unterschieden zwischen TinySSH und Dropbear SSH.
Meinung zu einem Ersatz für OpenSSH:
Lob für die Arbeit des TinySSH-Entwicklers:
Sicherheitsfunktionen von TinySSH: