Wie riskant ist es, einen Home-Server hinter SSH zu betreiben?
Wenn Sie etwas in Ihrem Heimnetzwerk für das größere Internet öffnen müssen, ist ein SSH-Tunnel eine sichere Möglichkeit, dies zu tun?
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
Super-User-Leser Alfred M. möchte wissen, ob er mit Verbindungssicherheit auf dem richtigen Weg ist:
Ich habe kürzlich einen kleinen Server mit einem Low-End-Computer eingerichtet, auf dem Debian ausgeführt wird, mit dem Ziel, es als persönliches Git-Repository zu verwenden. Ich habe ssh aktiviert und war ziemlich überrascht, wie schnell es unter Brute-Force-Angriffen und dergleichen gelitten hat. Dann habe ich gelesen, dass dies ziemlich üblich ist und über grundlegende Sicherheitsmaßnahmen zur Abwehr dieser Angriffe informiert wurde (viele Fragen und Duplikate auf Serverfault befassen sich damit, siehe zum Beispiel diese oder diese)..
Aber jetzt frage ich mich, ob das alles die Mühe wert ist. Ich habe mich dazu entschieden, meinen eigenen Server hauptsächlich zum Spaß einzurichten: Ich konnte mich einfach auf Lösungen von Drittanbietern verlassen, wie sie von gitbucket.org, bettercodes.org usw. angeboten werden. Ein Teil des Spaßes besteht darin, etwas über das Thema Internet-Sicherheit zu lernen genug Zeit, um mich darauf zu konzentrieren, ein Experte zu werden und fast sicher zu sein, dass ich die richtigen Präventionsmaßnahmen ergriffen habe.
Um zu entscheiden, ob ich weiterhin mit diesem Spielzeugprojekt spielen werde, würde ich gerne wissen, was ich wirklich riskiere. Inwiefern sind beispielsweise auch die anderen an mein Netzwerk angeschlossenen Computer bedroht? Einige dieser Computer werden von Personen mit noch weniger Wissen als meinem Computer unter Windows verwendet.
Wie hoch ist die Wahrscheinlichkeit, dass ich echte Probleme bekomme, wenn ich grundlegende Richtlinien befolge, wie z. B. starkes Kennwort, deaktivierten Root-Zugriff für ssh, nicht standardmäßigen Port für ssh und möglicherweise Deaktivieren der Kennwortanmeldung und Verwenden einer der Regeln fail2ban, denyhosts oder iptables?
Anders ausgedrückt: Gibt es ein paar große böse Wölfe, vor denen ich Angst haben sollte, oder geht es hauptsächlich darum, Skript-Kinder wegzuwerfen?
Sollte Alfred auf Drittanbieterlösungen setzen, oder ist seine DIY-Lösung sicher?
Die Antwort
SuperUser-Mitwirkender TheFiddlerWins versichert Alfred, dass es ziemlich sicher ist:
IMO SSH ist eines der sichersten Dinge, die man im offenen Internet hören kann. Wenn Sie wirklich besorgt sind, sollten Sie einen nicht standardmäßigen High-End-Port abhören. Ich hätte immer noch eine (Geräteebene) Firewall zwischen Ihrer Box und dem eigentlichen Internet und benutze nur Portweiterleitung für SSH, aber das ist eine Vorsichtsmaßnahme gegen andere Dienste. SSH selbst ist verdammt solide.
ich haben Hatten Leute gelegentlich meinen Heim-SSH-Server (offen für Time Warner Cable). Hatte nie einen wirklichen Einfluss.
Ein anderer Mitarbeiter, Stephane, zeigt auf, wie einfach es ist, SSH weiter zu sichern:
Das Einrichten eines Public-Key-Authentifizierungssystems mit SSH ist wirklich trivial und die Einrichtung dauert etwa 5 Minuten.
Wenn Sie alle SSH-Verbindungen dazu zwingen, es zu verwenden, wird Ihr System damit so belastbar, wie Sie hoffen können, ohne viel in die Sicherheitsinfrastruktur investieren zu müssen. Ehrlich gesagt, es ist so einfach und effektiv (solange Sie nicht über 200 Konten verfügen - dann wird es unordentlich), dass es nicht öffentlich sein sollte, es nicht zu verwenden.
Schließlich bietet Craig Watson einen weiteren Tipp, um Eindringversuche zu minimieren:
Ich betreibe auch einen persönlichen Git-Server, der auf SSH für die Welt offen ist, und ich habe auch die gleichen Brute-Force-Probleme wie Sie, so dass ich mit Ihrer Situation sympathisieren kann.
TheFiddlerWins hat sich bereits mit den wichtigsten Sicherheitsaspekten befasst, wenn SSH auf einer öffentlich zugänglichen IP geöffnet ist. Das beste Tool IMO als Reaktion auf Brute-Force-Versuche ist die Fail2Ban - Software, die Ihre Authentifizierungsprotokolldateien überwacht, Eindringversuche erkennt und Firewall-Regeln hinzufügt Maschine lokal
iptables
Firewall Sie können sowohl die Anzahl der Versuche vor dem Verbot als auch die Dauer des Verbots konfigurieren (meine Standardeinstellung ist 10 Tage)..
Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.