SSH aus öffentlichem Netzwerk?

7

Ist es sicher, eine SSH-Verbindung zu einem Computer herzustellen, während ich an öffentlichen Orten ein unsicheres WLAN-Netzwerk verwende? Die Maschine würde sich auch hinter einem Router befinden.

HackToHell
quelle
1
Da keine der hier gegebenen Antworten dies direkt anspricht: SSH steht für Secure Shell und verschlüsselt standardmäßig alles. Solange der Client (dh die Maschine) nicht kompromittiert wird, sollte es gut sein.
Mahn

Antworten:

10

Ein paar Dinge, die Sie beachten sollten:

Brute-Force-Angriffe auf Ihren SSH-Server

Wenn Sie einen öffentlichen SSH-Server starten, möchten Sie möglicherweise die Protokolldateien überprüfen, um festzustellen, ob ständig versucht wird, eine Verbindung zu diesem Server herzustellen. Sie versuchen möglicherweise, Ihr Kennwort "brutal zu erzwingen" oder den SSH-Server auf andere Weise auszunutzen. Es ist möglicherweise eine gute Idee, den SSH-Server auf einen anderen Port zu verschieben (anstatt auf den Standardport 22). Dies kann jedoch Probleme verursachen, wenn Benutzer Firewall-Lücken speziell für SSH eingerichtet haben. (Dies macht Port 443 zu einer beliebten Wahl, wenn der Computer kein HTTPS-Server ist.)

Eine weitere Strategie für Brute - Force - Angriffe zu mildern ist es, eingehende Verbindungen zu Ihrem SSH - Server zu drosseln (Sie können dies tun , leicht auf Linux mit so etwas wie ufwoder was auch immer Firewall - Tool Ihrer Plattform verwendet)

Man-in-the-Middle-Angriffe

Wenn Sie zum ersten Mal eine Verbindung zu Ihrem SSH-Server herstellen, wird ein Schlüsselfingerabdruck an Ihren SSH-Client gemeldet, der ihn zwischenspeichert. Überprüfen Sie den Fingerabdruck sorgfältig. SSH warnt Sie mit einer beängstigend aussehenden Fehlermeldung, falls sich dies jemals ändert. Wenn dies passiert, achten Sie darauf! Sie können diese Fehlermeldung auch erhalten, wenn Sie den Server neu erstellen und ein neuer Schlüssel generiert wird.

Authentifizierung mit öffentlichem Schlüssel

SSH unterstützt die Authentifizierung mit öffentlichen Schlüsseln. Dies bedeutet, dass Sie ein öffentliches / privates Schlüsselpaar generieren können, in dem Sie einen privaten Schlüssel + eine Passphrase lokal speichern und der Server weiß, dass Ihr öffentlicher Schlüssel (der diesem privaten Schlüssel zugeordnet ist) zur Verbindung berechtigt ist. Auf diese Weise können Sie Ihr Passwort von Ihrer Authentifizierung trennen. (Wenn es jemandem gelingt, einen Man-in-the-Middle-Angriff durchzuführen oder Ihren Server auf andere Weise zu kompromittieren oder einen Keylogger auf Ihren Client zu übertragen, benötigt er weiterhin Ihren privaten Schlüssel.) Abgesehen von den Sicherheitsvorteilen ist dies auch der Fall Dies ist bequemer, da Sie in der Regel nicht jedes Mal Ihr Kennwort eingeben müssen, wenn Sie eine Verbindung herstellen. (Sie geben Ihre Passphrase nur einmal ein, wenn Sie Ihren privaten Schlüssel zwischenspeichern.)

mpontillo
quelle
2
Ziemlich gute Antwort. Um die Brute-Force-Angriffe zu vermeiden, benutze ich Portknocking. ( debian-administration.org/articles/268 ) Portknocking ist nicht die beste Sicherheit, hält aber zumindest Bots vom ssh-Daemon fern.
Geeklab
2

Es wäre so sicher wie (1) Ihre sshd-Implementierung und (2) Ihr Router. Im Allgemeinen ja.

Ernest Friedman-Hill
quelle
1
und der Client: Ist es frei von Malware / Keylogger
Rich Homolka
0

Im Allgemeinen ja. Ich würde jedoch vorschlagen, Ihren eigenen Computer anstelle des von anderen zu verwenden und einen generierten Schlüssel anstelle eines Passworts zu verwenden. Im Allgemeinen bieten diese beiden ausreichend Sicherheit.

Beachten Sie auch, dass Sie nur die erforderlichen Ports weiterleiten sollten.

bubu
quelle