Gibt es ein Sicherheitsrisiko bei der Weitergabe Ihrer SSH-Datei known_hosts?

32

Ich spreche nächste Woche auf einer Konferenz über einige Software-Tools, die ich erstellt habe. Mein Laptop wird während dieser Präsentation auf einem Projektorbildschirm angezeigt. Die Präsentation wird auf Video aufgezeichnet und auf YouTube veröffentlicht. Wenn ich aus irgendeinem Grund ~/.ssh/known_hostswährend dieser Präsentation meine Datei öffnen und bearbeiten kann, muss ich dann den Projektor vom Computer trennen? Gibt es ein Sicherheitsrisiko bei der Offenlegung meiner known_hosts-Datei?

Matt Korostoff
quelle
7
Warum ersetzen Sie nicht einfach Ihre aktuelle known_hostswährend der Präsentation durch eine gefälschte?
Sven
1
... oder wenn Sie den Host-Fingerabdruck überhaupt nicht überprüfen ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@host, umgehen Sie die Frage nach dem Fingerabdruck und vermeiden Sie die Überprüfung vorhandener bekannter_Hosts.
Lekensteyn
@ Da die Datei known_hosts an sich nicht Teil der Präsentation ist, muss ich meine known_hosts für die Software, die ich vorführe, gelegentlich bearbeiten. Das Publikum muss dies nicht sehen (daher verwende ich die Blind-Bearbeitung, wie es mehrere Kommentatoren hier vorgeschlagen haben), aber das Bearbeiten einer gefälschten Datei known_hosts würde mein Ziel einfach nicht erreichen.
Matt Korostoff

Antworten:

43

Die Datei known_hosts enthält die vertrauenswürdigen öffentlichen Schlüssel für Hosts, mit denen Sie in der Vergangenheit verbunden waren. Diese öffentlichen Schlüssel erhalten Sie einfach, indem Sie versuchen, eine Verbindung zu diesen Hosts herzustellen. Daher ist es an sich kein Sicherheitsrisiko.

Aber: Es enthält eine Liste der Hosts, mit denen Sie verbunden sind. Die Informationen können beispielsweise von einem potenziellen Angreifer verwendet werden, um die Organisationsinfrastruktur zu verbessern. Außerdem werden potenzielle Angreifer darüber informiert, dass Sie wahrscheinlich Zugriff auf bestimmte Hosts haben und dass der Diebstahl Ihres Laptops ihnen ebenfalls Zugriff gewährt.

Bearbeiten: Um zu vermeiden, dass Ihre known_hosts-Datei angezeigt wird, empfehle ich Ihnen, das ssh-keygenDienstprogramm zu verwenden. Entfernt ssh-keygen -R ssh1.example.orgbeispielsweise die vertrauenswürdigen Schlüssel für ssh1.example.orgIhre known_hosts.

Richard
quelle
15

Daran ist nichts besonders Gefährliches. Möglicherweise möchten Sie diese identifizierenden Informationen jedoch nicht weitergeben. Manchmal zeigt die Existenz von Gastgebern gute Angriffslinien für diejenigen, die geneigt sind. Sie können HashKnownHostsdie Datei entweder verwenden oder bearbeiten, ohne sie anzusehen.


Blind Edit:
sed -i 25d .ssh/known_hostsLöscht Zeile 25, ohne dass Inhalte auf dem Bildschirm angezeigt werden.

HashKnownHosts
Gibt an, dass ssh (1) Hostnamen und -adressen hashen soll, wenn sie zu ~ / .ssh / known_hosts hinzugefügt werden. Diese Hash-Namen werden normalerweise von ssh (1) und sshd (8) verwendet, geben jedoch keine identifizierenden Informationen preis, falls der Inhalt der Datei offengelegt wird. Die Standardeinstellung ist "nein". Beachten Sie, dass vorhandene Namen und Adressen in bekannten Hostdateien nicht automatisch konvertiert werden, sondern manuell mit ssh-keygen (1) gehasht werden können.

84104
quelle
4
Anstatt die Zeilennummer manuell zu berechnen und mit sed zu entfernen, können Sie auch verwenden ssh-keygen -R example.com.
Lekensteyn
4
Sie können auch verwenden, ssh-keygen -H -f ~/.ssh/known_hostsum alle Namen / Adressen in der Datei zu hashen.
Barmar