Warum ist die SSH-Passwortauthentifizierung ein Sicherheitsrisiko?

Warum ist die SSH-Passwortauthentifizierung ein Sicherheitsrisiko?

Die meisten Anleitungen zur OpenSSH-Konfiguration empfehlen, die Kennwortauthentifizierung zu deaktivieren und stattdessen eine schlüsselbasierte Authentifizierung zu verwenden. Meiner Meinung nach hat die Kennwortauthentifizierung jedoch einen erheblichen Vorteil: Man kann sich von überall aus ohne Schlüssel verbinden. Wenn sie immer mit einem starken Kennwort verwendet wird, sollte dies kein Sicherheitsrisiko darstellen. Oder doch?

Antwort1

Es gibt Vor- und Nachteile sowohl bei der Passwort- als auch bei der schlüsselbasierten Authentifizierung.

In manchen Fällen ist beispielsweise die schlüsselbasierte Authentifizierungwenigersicherer als die Passwortauthentifizierung. In anderen Fällen ist die Passwort-basierte Authentifizierung weniger sicher. In manchen Fällen ist sie bequemer, in anderen weniger.

Im Grunde läuft alles darauf hinaus: Wenn Sie eine schlüsselbasierte Authentifizierung durchführen,mussSichern Sie Ihren Schlüssel mit einer Passphrase. Sofern Sie keinen SSH-Agenten ausführen (SSH-Agent erspart Ihnen die Eingabe Ihrer Passphrase jedes Mal), haben Sie in Sachen Benutzerfreundlichkeit nichts gewonnen. Sicherheit ist umstritten: Der Angriffsvektor hat sich jetzt vom Server auf SIE, Ihr Konto oder Ihren persönlichen Computer verlagert (...) – diese sind möglicherweise leichter zu knacken, möglicherweise aber auch nicht.

Denken Sie bei dieser Entscheidung über den Tellerrand hinaus. Ob Sie an Sicherheit gewinnen oder verlieren, hängt von Ihrer restlichen Umgebung und anderen Maßnahmen ab.

edit: Oh, ich habe gerade gesehen, dass du von einem Home-Server sprichst. Ich war in der gleichen Situation, "Passwort" oder "USB-Stick mit Schlüssel darauf" immer dabei? Ich habe mich für ersteres entschiedenAberhabe den SSH-Abhörport auf einen anderen Wert als 22 geändert. Das hält all diese lahmen Script-Kiddies davon ab, ganze Netzwerkbereiche mit Brute Force zu manipulieren.

Antwort2

Die Verwendung von SSH-Schlüsseln bietet im Vergleich zur Kennwortanmeldung eine einzigartige Funktion: Sie können die zulässigen Befehle angeben. Dies kann durch Ändern ~/.ssh/authorized_keysder Datei auf dem Server erfolgen.

Zum Beispiel,

command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

würde nur den Befehl „/usr/local/bin/your_backup_script.sh“ mit diesem bestimmten Schlüssel zulassen.

Sie können auch die zulässigen Hosts für den Schlüssel angeben:

from="yourclient,yourotherclient", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

Oder kombinieren Sie beides:

from="yourbackupserver", command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

Mit Schlüsseln können Sie auch einem Benutzer (z. B. einem Berater) vorübergehenden Zugriff auf einen Server gewähren, ohne das Passwort für dieses bestimmte Konto preiszugeben. Nachdem der Berater seine Arbeit beendet hat, kann der temporäre Schlüssel entfernt werden.

Antwort3

Sie können das Beste aus beiden Welten herausholen, indem Sie die Kennwortauthentifizierung nur innerhalb Ihres Netzwerks zulassen. Fügen Sie am Ende Ihrer Folgendes hinzu sshd_config:

PasswordAuthentication no
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

Antwort4

SSH-Schlüssel verhindern Man-In-The-Middle-Angriffe auf Ihr Passwort.

Wenn Sie versuchen, sich mit einem Schlüssel anzumelden, erstellt der Server eine Herausforderung auf Grundlage Ihres öffentlichen Schlüssels und sendet sie an Ihren Client. Dieser entschlüsselt sie und erstellt eine entsprechende Antwort zum Senden.

Ihr privater Schlüssel wird nie an den Server gesendet und jeder, der mithört, kann nichts tun, außer diese einzelne Sitzung abzufangen.

mit einem Passwort hätten sie Ihre Anmeldeinformationen.

Meine Lösung besteht darin, einen portablen SSH-Schlüssel in geeigneten Formaten auf einer verschlüsselten Partition auf einem USB-Stick zu haben. Dadurch kann ich:
den Schlüssel bei Verlust einfach zurückziehen,
einschränken, auf welche Server ich damit zugreifen kann,
und ihn trotzdem mit mir herumtragen.

allerdings ist die Installation der Mount-Software mühsam (Truecrypt)

verwandte Informationen