Die Fortsetzung des Titels würde lauten „bei begrenzten Kenntnissen der Internetsicherheit“.
Ich habe kürzlich einen kleinen Server mit einem Low-End-Computer eingerichtet, auf dem Debian läuft, mit dem Ziel, ihn als persönliches Git-Repository zu verwenden. Ich habe ssh aktiviert und war ziemlich überrascht über die Schnelligkeit, mit der es unter Brute-Force-Angriffen und dergleichen litt. Dann habe ich gelesen, dass dies durchaus üblich ist, und grundlegende Sicherheitsmaßnahmen zur Abwehr dieser Angriffe kennengelernt (viele Fragen und Duplikate zu Serverfehlern beschäftigen sich damit, siehe zum Beispiel diese oder diese ).
Aber jetzt frage ich mich, ob all dies die Mühe wert ist. Ich habe beschlossen, meinen eigenen Server hauptsächlich zum Spaß einzurichten: Ich konnte mich nur auf Lösungen von Drittanbietern verlassen, wie die von gitbucket.org, bettercodes.org usw. Während ein Teil des Spaßes darin besteht, etwas über Internetsicherheit zu lernen, habe ich es nicht getan genug Zeit, um mich darauf einzulassen, ein Experte zu werden und fast sicher zu sein, dass ich die richtigen Präventionsmaßnahmen ergriffen habe.
Um zu entscheiden, ob ich mit diesem Spielzeugprojekt weiterspielen werde, möchte ich wissen, was ich dabei wirklich riskiere. Inwieweit sind beispielsweise auch die anderen an mein Netzwerk angeschlossenen Computer bedroht? Einige dieser Computer werden von Personen verwendet, die noch weniger wissen als ich, auf denen Windows ausgeführt wird.
Wie groß ist die Wahrscheinlichkeit, dass ich ernsthafte Probleme bekomme, wenn ich grundlegende Richtlinien befolge, z. B. ein sicheres Kennwort, den deaktivierten Root-Zugriff für ssh, einen nicht standardmäßigen Port für ssh und möglicherweise die Deaktivierung der Kennwortanmeldung sowie eine der Regeln fail2ban, denyhosts oder iptables?
Anders ausgedrückt, gibt es einige große böse Wölfe, die ich fürchten sollte, oder dreht sich alles hauptsächlich darum, Drehbuchkinder zu verscheuchen?
keyboard-interactive
Authentifizierung und verwenden Sie nur diepubkey
Authentifizierung.Antworten:
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 würde immer noch eine Firewall (auf Geräteebene) zwischen Ihrer Box und dem eigentlichen Internet haben und nur die Portweiterleitung für SSH verwenden, aber das ist eine Vorsichtsmaßnahme gegen andere Dienste. SSH selbst ist ziemlich solide.
Ich habe gelegentlich Leute auf meinen SSH-Heimserver stoßen lassen (offen für Time Warner Cable). Hatte nie einen wirklichen Einfluss.
Einige zusätzliche Dinge, die Sie tun können, um SSH sicherer zu machen, sind das Verhindern wiederholter Versuche von derselben IP-Adresse für einen Heimcomputer wie
In / etc / ssh / sshd_config können Sie festlegen, wie viele Verbindungen hintereinander hergestellt werden können, bevor Sie sich erfolgreich anmelden.
quelle
Das Einrichten eines öffentlichen Schlüsselauthentifizierungssystems mit SSH ist sehr einfach und dauert etwa 5 Minuten .
Wenn Sie alle SSH-Verbindungen zwingen, diese zu verwenden, wird Ihr System so widerstandsfähig, wie Sie nur hoffen können, ohne viel in die Sicherheitsinfrastruktur zu investieren. Ehrlich gesagt ist es so einfach und effektiv (solange Sie nicht über 200 Konten verfügen - dann wird es chaotisch), dass die Nichtbenutzung eine Straftat sein sollte.
quelle
Ich betreibe auch einen persönlichen Git-Server für SSH, der für die ganze Welt offen ist, und ich habe dieselben Brute-Force-Probleme wie Sie, sodass ich mit Ihrer Situation sympathisieren kann.
TheFiddlerWins hat bereits die wichtigsten Sicherheitsrisiken behoben, die sich aus dem Öffnen von SSH auf einer öffentlich zugänglichen IP-Adresse ergeben. Das beste Tool IMO als Reaktion auf Brute-Force-Versuche ist jedoch Fail2Ban - eine Software, die Ihre Authentifizierungsprotokolldateien überwacht, Einbruchsversuche erkennt und Firewall-Regeln hinzufügt lokale
iptables
Firewall des Computers . Sie können sowohl die Anzahl der Versuche vor einer Sperre als auch die Dauer der Sperre konfigurieren (meine Standardeinstellung ist 10 Tage).quelle
Eine andere Möglichkeit, dies zu handhaben, besteht darin, ein VPN einzurichten. Anstatt eine direkte Verbindung zu SSH-Ports auf Ihrem Heimserver herzustellen, stellen Sie zuerst eine Verbindung zum VPN her und führen dann den gesamten Datenverkehr über die verschlüsselte, sichere Verbindung aus.
Dies lässt sich am besten mit einer Firewall umgehen, die einen VPN-Endpunkt enthält. Sie können jedoch auch einen Windows-Computer als VPN-Server einrichten.
Hier ist ein Beispiel:
http://www.howtogeek.com/135996/
Denken Sie jetzt daran, dass eine ordnungsgemäße Sicherheitskonfiguration einen öffentlichen (oder halböffentlichen) Computer umfasst, der von Ihrem internen Netzwerk isoliert ist. Ein Webserver oder ein Computer, auf dem öffentlich zugängliche Dienste gehostet werden, sollte sich außerhalb des sicheren Netzwerks Ihres Hauses oder Büros befinden. Sie würden 2 Router verwenden, um eine sichere Zone oder eine DMZ zwischen Ihnen und dem Internet zu erstellen.
Auf diese Weise kann Ihr Server, wenn er gehackt wird, nicht als Vektor verwendet werden, um Ihre anderen Computer anzugreifen.
Das Setup würde also so aussehen:
quelle
Die Antworten sind sehr gut, ich würde nur zwei Dinge empfehlen:
quelle