web-dev-qa-db-de.com

Sollte ich den Standard-SSH-Port auf Linux-Servern ändern?

Gibt es einen Vorteil beim Ändern des SSH-Ports? Ich habe Leute gesehen, die das getan haben, aber ich kann den Grund dafür nicht finden.

Wenn Sie ein sicheres Passwort und/oder ein Zertifikat haben, ist es für irgendetwas nützlich?

Bearbeiten:

Ich sollte auch erwähnen, dass ich iptables-Regeln verwende, um Brute-Forcing-Angriffe zu begrenzen. Pro Minute und IP-Adresse sind nur 5 Anmeldeversuche zulässig.

100
sharp12345

Das Internet ist ein wilder und beängstigender Ort voller Unzufriedener, deren Motive von Neugier bis hin zu kriminellen Unternehmungen reichen. Diese Unappetitlichen suchen ständig nach Computern, auf denen Dienste ausgeführt werden, die sie nutzen möchten. In der Regel die gängigsten Dienste wie SSH, HTTP, FTP usw. Die Scans fallen normalerweise in eine von zwei Kategorien:

  1. Recon scannt, um festzustellen, unter welcher IP-Adresse diese Dienste geöffnet sind.
  2. Exploit-Scans für IP-Adressen, bei denen festgestellt wurde, dass sie einen bestimmten Dienst ausführen.

Wenn man bedenkt, wie groß das Internet ist, ist es normalerweise nicht möglich, an jedem Port jeder IP-Adresse nachzusehen, was überall zuhört. Dies ist der Kern des Ratschlags, Ihren Standardport zu ändern. Wenn diese unzufriedenen Personen SSH-Server suchen möchten, prüfen sie jede IP-Adresse an Port 22 (sie können auch einige gängige Alternativen wie 222 oder 2222 hinzufügen). Sobald sie ihre Liste der IP-Adressen mit geöffnetem Port 22 haben, starten sie ihre Brute Force für das Erraten von Benutzernamen/Passwörtern oder starten das Exploit-Kit ihrer Wahl und testen bekannte (zumindest für sie) Schwachstellen auf dem Zielsystem.

Dies bedeutet, dass Sie, wenn Sie Ihren SSH-Port auf 34887 ändern, von diesem Sweep weitergeleitet werden, was wahrscheinlich dazu führt, dass Sie nicht vom nachfolgenden Einbruch betroffen sind.

Scheint rosig, oder? Es gibt jedoch einige Nachteile.

  1. Client-Support: Jeder, der eine Verbindung zu Ihrem Server herstellt, muss den geänderten Port kennen und verwenden. Wenn Sie sich in einer stark verwalteten Umgebung befinden, kann diese Konfiguration auf die Clients übertragen werden, oder wenn Sie nur wenige Benutzer haben, sollte die Kommunikation einfach sein.
  2. Dokumentationsausnahmen: Die meisten Netzwerkgeräte, wie z. B. Firewalls und IDS, sind vorab eingerichtet, damit allgemeine Dienste an gemeinsamen Ports ausgeführt werden können. Alle Firewall-Regeln, die sich auf diesen Dienst auf diesem Gerät beziehen, müssen überprüft und möglicherweise geändert werden. In ähnlicher Weise werden IDS-Signaturen so optimiert, dass nur eine SSH-Überprüfung an Port 22 durchgeführt wird. Sie müssen jede Signatur bei jeder Aktualisierung mit Ihrem neuen Port ändern. (Als Datenpunkt gibt es derzeit 136 VRT- und ET-Snort-Signaturen mit SSH).
  3. Systemschutz: Moderne Linuxes werden häufig mit einem Kernel-Layer-MAC- und/oder RBAC-System (z. B. SELinux auf RedHat-Basis oder AppAmor auf Debian-Basis) ausgeliefert, mit dem nur Anwendungen genau das tun können, was sie tun sollen. Dies kann vom Zugriff auf die Datei /etc/hosts Bis zum Schreiben in eine bestimmte Datei oder dem Senden eines Pakets im Netzwerk reichen. Abhängig von der Konfiguration dieses Systems kann sshd standardmäßig die Bindung an einen nicht standardmäßigen Port untersagt werden. Sie müssten eine lokale Richtlinie pflegen, die dies zulässt.
  4. Überwachung durch andere Parteien: Wenn Sie eine externe Abteilung für Informationssicherheit haben oder die Überwachung auslagern, müssen diese über die Änderung informiert werden. Wenn ich eine Sicherheitsbewertung durchführe oder Protokolle nach Sicherheitsbedrohungen analysiere und einen SSH-Server auf einem nicht standardmäßigen Port (oder einen SSH-Server auf einem Nicht-UNIX/Linux-Port) sehe, behandle ich ihn als potenzielle Hintertür und rufen Sie den kompromittierten Systemteil des Verfahrens zur Behandlung von Vorfällen auf. Manchmal wird es innerhalb von 5 Minuten behoben, nachdem der Administrator angerufen und informiert wurde, dass es legitim ist. An diesem Punkt aktualisiere ich die Dokumentation, manchmal wird wirklich um die Schlechtigkeit gekümmert. In jedem Fall kann dies zu Ausfallzeiten für Sie oder zumindest zu einem nervenaufreibenden Anruf führen, wenn Sie Ihren Anruf annehmen und hören: "Hallo, das ist Bob vom Informationssicherheitsbüro. Ich habe ein paar Fragen an Sie . "

Bevor Sie Ihren Port ändern, müssen Sie all dies berücksichtigen, damit Sie wissen, dass Sie die beste Entscheidung treffen. Einige dieser Nachteile gelten möglicherweise nicht, andere jedoch mit Sicherheit. Überlegen Sie auch, wovor Sie sich schützen möchten. Oft ist es einfach einfacher, Ihre Firewall so zu konfigurieren, dass nur von bestimmten Hosts aus auf 22 zugegriffen werden kann, im Gegensatz zum gesamten Internet.

86
Scott Pack

Ja, dies kann nicht durch Erhöhen der Sicherheit geschehen, sondern Sie können die Anzahl der fehlgeschlagenen Anmeldeversuche auf Ihrem Server verringern. Ich ändere immer mein Standard-SSH, um die Warnungen zu reduzieren, die ich von ossec erhalte. Auch wenn Sie einen wirklich zufälligen Port verwenden und immer noch jemand versucht, auf Ihren Computer zuzugreifen, ist die Wahrscheinlichkeit höher, dass es sich eher um einen gezielten Angriff als um einen zufälligen Scanner handelt.

14
Lucas Kauffman

Wie bereits erwähnt, ist es unwahrscheinlicher, wenn SSH an einem anderen Port als 22 angeschlossen wird, wenn ein zufälliger Scan durchgeführt wird. Sie werden ins Visier genommen, wenn der Angreifer versucht, Ihren Server zu erhalten, keinen Server.

Ich habe einen Server mit ssh, der an einen zufälligen hohen Port gebunden ist. Und ich habe einen SSH-Honeypot an Port 22, der auf jeden Anmeldeversuch mit der Meldung "Zugriff verweigert" antwortet.

Ich denke nicht, dass es ein Verteidigung durch Dunkelheit ist, aber Verteidigung in der Tiefe: Um meinen Server anzugreifen, muss der Angreifer zuerst den Port finden. Wenn ich ein paar gefälschte Honeypots habe (viele Ports, die zum selben Honeypot umleiten), trifft der Angreifer viele Fakes und kann nicht wissen, ob er den echten SSH getroffen hat oder nicht.

Es ist jedoch nur die Verteidigung. Ich habe auch portsentry aktiv. Wenn also jemand einen Portscan versucht, wird er für eine Stunde blockiert. Wenn sie das Passwort auf dem rechten SSH brutal erzwingen, erhalten sie für eine Stunde "Zugriff verweigert". Wenn sie das Passwort erfolgreich erraten haben, wird ihnen eine PAM-Eingabeaufforderung angezeigt, in der sie nach dem Google Auth-Token gefragt werden.

Die Kosten für den Hafenwechsel sind sehr gering, und ich denke, die Nachteile sind durch die Vorteile gerechtfertigt.

9
ThoriumBR

Da fast jeder hauptsächlich von Nachteilen spricht (die real sind), möchte ich hier einige Vorteile teilen:

  • sie möchten wirklich automatisierte Angriffe vermeiden. Sofern Sie kein hochkarätiger Benutzer sind, richtet sich die überwiegende Mehrheit der Angriffe nicht gegen Sie, sondern gegen automatisierte Best-Effort-Angriffe, bei denen nur Standardports ausprobiert werden. Das Vermeiden hilft auf verschiedene Weise:

    • sie reduzieren die Angriffsfläche (die meisten automatisierten Angriffe)
    • sie reduzieren Ihre Gefährdung aufgrund von Fehlern in den verwendeten SSH- oder Kryptobibliotheken
    • einige Fehler wie heartbleed ermöglichen das Ausnutzen Ihrer Server, indem Sie einfach eine Verbindung zu einem offenen Port herstellen, auch ohne Kennwörter oder Schlüssel zu kennen. Durch die Verwendung nicht standardmäßiger Ports vermeiden Sie dies.
    • einige Fehler wie schwache private Schlüssel ermöglichen automatisierte Angriffe auf Ihren Server, bevor Sie die Patches anwenden. Durch die erneute Verwendung von nicht standardmäßigen Ports werden die ersten Wellen von Angreifern vermieden und Sie haben mehr Zeit zum Patchen.
    • sie reduzieren die Unordnung in Ihren Protokollen, wodurch Sie beim Überprüfen von Protokollen viel Verwaltungszeit sparen und sich auf problematischere gezielte Angriffe konzentrieren können
    • es bietet besseren Schutz mit weniger Arbeit als Kludge, das Sie im Update erwähnt haben (Blockieren der IP nach 5 falschen Anmeldungen - was einige der Angriffe ermöglicht, insbesondere wenn sich die IP ständig ändert, insbesondere in der IPv6-Welt, in der jeder Angreifer Milliarden davon übrig hat; und der Kludge kann zu Fehlalarmen führen, die legitime Benutzer aussperren und mehr Supportanrufe verursachen.)
    • manchmal werden sogar gute Passwörter kompromittiert (möglicherweise durch andere Fehler an anderer Stelle oder durch unachtsame Benutzer, die sie auf Keylog-Computern eingeben) und in Wörterbüchern gespeichert, die später für Angriffe verwendet werden. Wiederum vermeidet ein zufälliger Port die überwiegende Mehrheit dieser Klasse automatisierter Angriffe (die meisten Keylogger speichern nur Benutzer-Passwort-Paare und suchen nicht nach Ports in Konfigurationen).
  • was auch immer der Angreifer nicht erwartet, es schaltet ihn entweder immer vollständig aus, schafft mehr Arbeit für ihn oder macht Sie zu einem weniger interessanten Ziel. Außerdem erhöht sich Ihre Zeit zum Erkennen und Verteidigen von Angriffen.

  • für die Ausführung auf Port> 1024 muss sshd nicht als Root ausgeführt werden. Dies ermöglicht die Ausführung von nur einem Benutzer, für den es benötigt wird, wodurch eine ganze Klasse von Fehlern vermieden wird (dies gilt auch dann, wenn einige sshd-Implementierungen besonders darauf achten, mit reduzierten Berechtigungen ausgeführt zu werden wenn nicht benötigt).

7
Matija Nalis

Ich nehme an, es hängt davon ab, wie schnell Sie Ihren Server patchen werden und ob Sie irgendeine Art von Firewall vor dem Server haben.

Wenn Sie den Server für die Welt offen lassen und nichts eingerichtet haben, um Sie zu benachrichtigen oder OpenSSH-Patches automatisch zu installieren, würde ich empfehlen, den Server auf einen zufälligen Port mit hoher Nummer zu verschieben.

Letztendlich schreckt das Verschieben der Portnummer nicht alle ab, aber es schreckt die Skriptkinder ab, die nur Port 80, 22, 23 usw. überprüfen, aber nicht, wenn jemand einen 1-65535-Scan durchführen würde.

2
David Rothera

Durch Ändern des Ports werden nur automatische Angriffe auf Ihr SSH und einige Skriptkinder gestoppt. Wenn jemand auf Sie zielte, konnte er den neuen SSH-Port in Ordnung bringen. Der Vorteil ist, dass fehlgeschlagene Anmeldeversuche in Ihren Protokollen gestoppt werden. Ich habe normalerweise so etwas wie Logwatch und SSH auf einem anderen Port, auf dem PasswordAuthentication in meiner sshd_config auf no gesetzt ist.

2
Jamie H

Wie andere bereits bemerkt haben, bringt Ihnen das Ändern des Standard-SSH-Ports aus Sicherheitsgründen nicht viel. Dies kann jedoch weiterhin von Vorteil sein, wenn Sie beabsichtigen, über ein Netzwerk, in dem die Administratoren Port 22 gesperrt haben, eine Verbindung zum Computer herzustellen. (Viele Schulen, Arbeitsplätze und kostenlose WLAN-Hotspots blockieren den gesamten ausgehenden Datenverkehr mit Ausnahme des Standardverkehrs DNS-, HTTP- und HTTPS-Ports.) In diesem Fall können Sie beim Ändern Ihres SSH-Ports auf 53, 80 oder 443 (oder wenn Ihr Router einen dieser Ports an 22 weiterleitet) normalerweise beim Lernen/Arbeiten/auf Ihren Computer ssh. Reisen.

In seltenen Fällen blockieren diese Netzwerke möglicherweise nicht nur Ports, sondern untersuchen auch den Datenverkehr, um SSH-Verbindungen herauszufiltern. Für diese Situation müssen Sie andere Alternativen untersuchen .

2
Psychonaut

Dies ist eine philosophische Frage: "Ist Kontrolle X hilfreich?" Und wie die beste Antwort zeigte, sollten Sie auch überlegen, "wie hoch sind die Kosten (Client-Support, Ausnahmeregelungen für Dokumente, System-Support, Überwachungs-Support und direkte Kosten, Lizenzkosten usw.) für Control X?"

In bestimmten Kontexten ist alles hilfreich. Es ist eine gute Idee, sich zu fragen, in welchem ​​Kontext Sie sich befinden. Manchmal handelt es sich um einen Compliance-Kontext. Sie setzen Control X ein, um eine bestimmte Anforderung zu erfüllen. "Ich muss meinen SSH-Port verschieben, weil die Systemrichtlinie Listener auf Port 22 verbietet." Führen Sie dann entweder eine Ausnahme aus oder arbeiten Sie daran, die Richtlinie zu ändern. [Das wäre imho eine unkluge Politik.]

Hier lautet der Kontext wahrscheinlich: "Ich bin ein zufälliger Typ mit einem Host in einem unkontrollierten Netzwerk und möchte nicht die Kontrolle über meine Box verlieren." Angriffe haben immer eine Ermittlungsphase. Wenn die Untersuchung "Senden Sie eine SYN an Port 22 und sehen Sie, wer antwortet" lautet, schützen Sie sich vor diesem bestimmten Bedrohungsvektor. (Wenn die Untersuchung lautet "Führen Sie einen Port-Sweep durch, sammeln Sie Banner und prüfen Sie, ob etwas Interessantes auftaucht", hat Ihre Kontrolle keine Auswirkungen.) Aber jetzt haben Sie viel Arbeit für sich selbst geleistet - wenn Sie ein Tool verwenden Um eine Verbindung zum Server herzustellen, müssen Sie herausfinden, wie Sie an diesem nicht standardmäßigen Port arbeiten - und mit einigen Tools ist dies möglicherweise nicht einmal möglich. Alles in allem und in diesem Zusammenhang würde ich nicht empfehlen, die Ports zu wechseln.

Ein festgestellter Vorteil war die Reduzierung von Protokollereignissen, die mit falsch positiven Ergebnissen verbunden sind. Ich finde das eigentlich negativ! Der stetige Strom eingehender Angriffe auf Port 22 kann tatsächlich hilfreich sein. Wenn sie aufhören, wissen Sie, dass ein Problem mit Ihrem Internet-Feed vorliegt. Ich denke, der wahrgenommene Vorteil ist falsch - die richtige Antwort besteht darin, Ihr Anomalieerkennungssystem so einzustellen, dass erfolglose Anmeldeversuche aus externen Netzwerken herausgefiltert werden.

2
Robert Weaver