An dem Terminal eines Synology meldet man sich typischerweise mit dem Admin Benutzer und dem zugehörigen Passwort an. Neben der Authentifizierung mittels Password bietet ssh die Möglichkeit, sich mit einem Schlüssel anzumelden.
Die Schlüsselauthentifizierung basiert auf einer asymmetrischen Verschlüsselung mit öffentlichem und privatem Schlüssel. Die Schlüssellänge kann frei gewählt werden, wodurch ein wesentlich höheres Sicherheitsniveau erreicht werden kann.
Darüber hinaus ist eine Automatisierung per Skript wie z.B. das Ausführen von Befehlen aus der Ferne oder Dateioperationen mit scp oder rsync nur mit Schlüsselauthentifizierung möglich.
Erstellung eines RSA Schlüsselpaars
Das benötigte RSA Schlüsselpaars wird mit diesem Aufruf erzeugt.
ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): rsa_key_for_server_1
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in rsa_key_for_server_1
Your public key has been saved in rsa_key_for_server_1.pub
The key fingerprint is:
SHA256:93WWj+SuXkuRTM4+eeIiJE5rykAD+8WWPphDFCf5x6M root@localhost.localdomain
The key's randomart image is:
+---[RSA 4096]----+
| o.. |
| .+ |
| . .. . . |
| + ...+ = ..|
| . + =oS.. O.o|
| + BE o... = *.|
| * oo + . X o|
| + .+ . .= = |
| oo ooo+ |
+----[SHA256]-----+
Was ist die empfohlene RSA Schlüssellänge?
Die Sicherheit des Schlüsselpaars hängt entscheidend von der Länge ab. Mit steigender Rechenleistung ändern sich die Empfehlungen des amerikanischen Instituts für Standards und Technologie NIST oder des deutschen Bundesamts für Sicherheit in der Informationstechnologie BSI.
Für asymmetrische Verschlüsselungen auf RSA Basis empfiehlt das BSI ab Januar 2024 Schlüssellängen von mindestens 3000 Bits.
Quelle: BSI Technische Richtlinie Stand 09.Januar 2023 Seite 19
Zum Vergleich: Ein 3072 Bit langer RSA Schlüssel entspricht einer 128 Bit symmetrischen Verschlüsselung. Dies ist äquivalent zu einem 16 Zeichen langen Passwort, das an jeder Stelle ein willkürliches Zeichen der 256 Zeichen eines Zeichensatzes nutzt. Diese Passwortqualität ist über die Tastatur nicht praktikabel zu erreichen, weil die meisten der 256 Zeichen nur über Umwege eingegeben werden können. Ein Schlüssel nutzt diese Bandbreite in beliebiger Länger vollständig aus..
SSH Schlüssel mit Passwort absichern - Sicherheit versus Funktionalität
Der privaten Schlüssel gibt volle Kontrolle auf alle verknüpften Systeme. Er muss deswegen wie ein Passwort besonders geschützt werden. Der Schlüsselgenerator fordert bei der Erstellung des Schlüssels zur Eingabe eines Passworts auf, mit dem der Schlüssel gesondert gesichert werden kann.
Soll der Schlüssel zur Erhöhung der Sicherheit für SSH Anmeldungen verwendet werden, so wird dringend empfohlen, an dieser Stelle ein starkes Passwort zu verwenden.
Soll der Schlüssel hingegen zur Automatisierung in Skripten verwendet werden, so steht die jedes Mal erforderliche Passworteingabe einer Automatisierung entgegen. In diesem Fall muss der Schlüssel ohne Passwort erstellt werden und die Schlüsseldatei über das Betriebssystem entsprechend bestmöglich abgesichert werden.
SSH Schlüssel auf den Server kopieren
Mit dem ssh-copy-id Befehl wird der öffentliche Schlüssel auf den Server übertragen.
ssh-copy-id -i rsa_key_for_server_1.pub user@server.name
Alternativ kann der Schlüssel auch manuell auf den Server kopiert werden. Hierzu wird der öffentliche Schlüssel in die authorized_keys Datei im Home Verzeichnis des jeweiligen Benutzers auf dem Server eingetragen.
#Öffentlichen Schlüssel anzeigen
cat rsa_key_for_server_1.pub
#In die authorized_keys Datei auf dem Server per copy/paste eintragen
nano ~/.ssh/authorized_keys
Automatisches SSH Login in Skripten nutzen
Nachdem der öffentliche Schlüssel auf dem Server hinterlegt wurde kann das Login am Server mit dem privaten Schlüssel erfolgen. Wurde der private Schlüssel ohne Passwort erzeugt ist keine weitere Interaktion erforderlich.
ssh -l root -i rsa_key_for_server_1.pub server.name
Zusammenfassung
Mit den richtigen Parametern verwendet verbessert die SSH Schlüsselauthentifizierung die Sicherheit erheblich.
Bei manchen Anwendungsfällen muss zwischen Sicherheit und Funktionalität abgewogen werden.
Die SSH Schlüsselanmeldung kann die Sicherheit von SSH Logins erheblich verbessern. Bestimmte Funktionalitäten auf Shell Ebene können nur mit einer Schlüsselanmeldung realisiert werden.
Neben der Schlüssellänge und dem Schlüsselpasswort erhöht auch der Umgang mit dem Schlüssel die Sicherheit maßgeblich. Sollte der Schlüssel in falsche Hände geraten, so erschweren es die unten genannten acht Tipps einem Angreifer ganz erheblich, diesen Schlüssel zu verwenden.
8 Tipps zur Absicherung der SSH Schlüssel Authentifizierung
1. Große Schlüssellängen
Schlüssellängen gemäß den Vorgaben des NIST und BSI verwenden.
2. Privaten Schlüssel mit Passwort schützen
Sofern der Anwendungsfall das zulässt wird dringend empfohlen, den privaten Schlüssel mit einem Passwort zu schützen.
3. Privaten Schlüssel über Betriebssystem schützen
Insbesondere dann, wenn kein Passwort für den privaten Schlüssel vergeben wurde, den Schlüssel so gut wie möglich über das Betriebssystem schützen.
4. Keine Kommentare verwenden
Es sollten keine Kommentare verwendet werden aus denen hervorgeht, wie und wo der Schlüssel zu verwenden ist. Gelangt ein Schlüssel in falsche Hände kann er nicht verwendet werden, wenn nicht bekannt ist, was er schließt.
5. Dateinamen nichtssagend wählen
Was für die Kommentare gilt gilt auch für die Dateinamen. Auch aus dem Dateinamen sollte nicht hervorgehen wofür der Schlüssel verwendet werden kann.
6. SSH Port verstecken
Bei Servern, die aus dem Internet erreichbar sind empfiehlt es sich, nicht die Standardports zu verwenden, sondern den jeweiligen Port in einem hohen Portbereich “zu verstecken“.
7. Intrusion Reaction bei Port Scans
Ist der SSH Port in einem Portbereich verlegt, muss er mittels Portscan gefunden werden. Ein Angreifer probiert hierzu der Reihe nach tausende von Ports durch. Diese Verbindungsversuche können erkannt werden und als Reaktion darauf kann der SSH Port für diese Quelle geschlossen werden.
8. Passwort basierte Authentifizierung deaktivieren
Die Schlüssel Authentifizierung ist nur dann besonders sicher wenn keine alternativen schwächeren Verfahren zur Verfügung stehen. Aus diesem Grund sollte die Passwort basierte Authentifizierung deaktiviert werden.
Schreiben sie uns
Kontakt
für alle Anfragen
Kontaktinformation
- Nas-Central
- Alzenachstr. 14, 54294 Trier
- Email: info@nas-central.de
- Telefon: +49 (0)651 9949 700
- www.nas-central.de