Erhöht das Ändern der Standardportnummer tatsächlich die Sicherheit?

69

Ich habe Ratschläge erhalten, wonach Sie für private Anwendungen unterschiedliche Portnummern verwenden sollten (z. B. Intranet, private Datenbank, alles, was kein Außenstehender verwenden wird).

Ich bin nicht ganz davon überzeugt, dass sich dadurch die Sicherheit verbessern lässt

  1. Port-Scanner sind vorhanden
  2. Wenn eine Anwendung anfällig ist, bleibt dies unabhängig von ihrer Portnummer der Fall.

Habe ich etwas verpasst oder meine eigene Frage beantwortet?

Sam
quelle
30
Eine Sache, die ich getan habe, ist die Verwendung bestimmter Standardports (z. B. SSH-Port 22) als Honigtöpfe. Jeder, der versucht, eine Verbindung zu diesen Ports herzustellen, wird für einen bestimmten xZeitraum vollständig blockiert . Es hat sich als wirksam gegen das Scannen von Ports erwiesen. Dies ist natürlich nur ein Werkzeug in der Sicherheitstoolbox.
Belmin Fernandez
Die allgemeine Frage zu Sicherheit durch Unbekanntheit wird hier gestellt: security.stackexchange.com/questions/2430/…
Tony Meyer
Nun, es ist vielleicht ein Hindernis für "Scripting Kids"
Lukasz Madon
1
@BelminFernandez, "ein Tool in der Sicherheitstoolbox" ? Nein, dies dient der Reduzierung der Serverlast (Leistung) und hat nichts mit Sicherheit zu tun, außer der bloßen Illusion. In Bezug auf die Sicherheit ist es völlig unnötig, wenn der Server bereits stark ist, und wenn der Server anfällig ist, wird er nicht sicherer.
Pacerier
@Pacerier, einigte sich darauf, dass die Bemühungen und der Schwerpunkt auf der Implementierung soliderer Sicherheitspraktiken liegen sollten. Es gibt jedoch keinen Grund, warum Sie nicht beides tun können.
Belmin Fernandez

Antworten:

68

Es bietet keine ernsthafte Verteidigung gegen einen gezielten Angriff. Wenn Ihr Server als Ziel ausgewählt wird, scannt er Sie, wie Sie sagen, und findet heraus, wo sich Ihre Türen befinden.

Wenn Sie jedoch SSH vom Standard-Port 22 entfernen, werden einige der nicht zielgerichteten und Amateur-Skript-Kiddie-Angriffe abgewehrt. Dies sind relativ unkomplizierte Benutzer, die mithilfe von Skripten große Blöcke von IP-Adressen gleichzeitig nach offenen Ports 22 durchsuchen und dann eine Art Angriff darauf starten (Brute Force, Wörterbuchangriff, usw). Befindet sich Ihr Computer in dem IP-Block, der gescannt wird, und auf dem kein SSH auf Port 22 ausgeführt wird, reagiert er nicht und wird daher nicht in der Liste der Computer angezeigt, auf denen dieser Skript-Kiddie angreifen soll. Ergo, es wird nur für diese Art opportunistischer Angriffe ein gewisses Maß an Sicherheit geboten.

Beispiel: Wenn Sie den Zeitprotokoll-Tauchgang auf Ihrem Server haben (vorausgesetzt, SSH befindet sich an Port 22) und alle eindeutigen fehlgeschlagenen SSH-Versuche ausführen, die Sie ausführen können. Verschieben Sie dann SSH von diesem Port, warten Sie einige Zeit und gehen Sie erneut zum Log-Tauchen. Sie werden zweifellos weniger Angriffe finden.

Ich habe Fail2Ban auf einem öffentlichen Webserver ausgeführt und es war wirklich, wirklich offensichtlich, als ich SSH von Port 22 verlegte. Dadurch wurden die opportunistischen Angriffe um Größenordnungen reduziert.

jdw
quelle
3
Einverstanden. Beim Experimentieren mit dem Verschieben von SSH auf einen nicht standardmäßigen Port sah ich einen sehr ähnlichen Rückgang. Glücklicherweise ist die Kennwortauthentifizierung deaktiviert und daher kein Problem.
EEAA
3
Beste Antwort hier bisher. Es kommt alles darauf an, wer angreift. Ich habe einmal bei der Administration eines Systems geholfen, das von einem Scan-Kiddie mit einem Zero-Day-Angriff getroffen wurde. Vermutlich in MS-RDP, da IIS nicht durch die Firewall verfügbar gemacht wurde. Unser Host erlaubte uns nicht, den RDP-Port (verwaltetes Hosting) zu ändern, so dass wir im Grunde genommen dort sitzen mussten, während sie an einem neuen Muster für ihre IDS / IPS-Filterung arbeiteten. Für etabliertere Server wie SSH, die offenbar weniger Sicherheitsprobleme haben als einige MS-Produkte, ist dies möglicherweise weniger hilfreich.
Matt Molnar
9
Stimme definitiv zu. Sicherheit dreht sich alles um Ebenen, und je mehr Sie haben, desto sicherer sind Sie. Dies kann eine schwache Schicht sein, aber dennoch eine Schicht. Solange nicht nur darauf vertraut wird, kann dies nur die Sicherheit erhöhen.
Paul Kroon
1
Ein weiterer Punkt, um SSH von Port 22 zu entfernen, ist, dass eine große Anzahl von SSH-Versuchen plus Dienste, da Fail2Ban manchmal wertvolle CPU-Zeit in Anspruch nehmen kann. Dies ist zwar bei der Hardware vernachlässigbar, bei einigen älteren Servern kann es jedoch zu CPU-Spitzen kommen. Die CPU-Zeit, der Arbeitsspeicher und die Bandbreite können für andere Aufgaben verwendet werden.
Artifex
Ich habe dasselbe mit RDP auf Server 2003 getan - es hat die Anzahl der fehlgeschlagenen Authentifizierungseinträge in der Ereignisanzeige erheblich reduziert.
Moshe
43

Es ist sehr hilfreich, die Protokolle sauber zu halten.

Wenn Sie mit sshd auf Port 33201 fehlgeschlagene Versuche sehen, können Sie davon ausgehen, dass die Person auf Sie zielt , und Sie haben die Möglichkeit, die entsprechenden Maßnahmen zu ergreifen, wenn Sie dies wünschen. durch Querverweise mit den IPs Ihrer registrierten Benutzer oder was auch immer) usw.

Wenn Sie den Standardport verwenden, können Sie nicht erkennen, ob Sie angegriffen werden oder ob es sich nur um zufällige Idioten handelt, die zufällige Scans durchführen.

Thomas Bonini
quelle
8
wunderbare Auszeichnung
ZJR
3
+1 Dies ist das beste Argument für die Änderung der Portnummern, die ich je gehört habe, und bislang das einzige, was mich dazu verleiten würde
squillman
2
+1 Das ist ein großartiger Punkt. Gezielte Bedrohungen sind viel gefährlicher als zufällige Tests (die Skript-Kiddies gehen einfach zu einfacheren Zielen über, wenn Sie angemessene Sicherheitsvorkehrungen treffen). Der angegriffene Angreifer weiß möglicherweise viel mehr über bestimmte Sicherheitsanfälligkeiten oder sogar Kennwortmuster. Es ist gut, diese Angriffe außerhalb des Spam-Schwarms auf Port 22 zu erkennen.
Steven T. Snyder,
1
Das ist falsch. Ich habe gesehen, dass mindestens ein Server durch einen Scan an einem nicht standardmäßigen SSH-Port kompromittiert wurde. Es gibt keinen inhärenten Grund, warum ein Angreifer nicht auch andere Ports scannen könnte.
Sven Slootweg
@SvenSlootweg, Richtig, gerade wenn Computer immer schneller und billiger werden, ist ein 65535-mal längerer Scan nicht mehr viel länger .
Pacerier
28

Nein, das tut es nicht. Nicht wirklich. Der Begriff dafür lautet Security by Obscurity und ist keine verlässliche Praxis. Sie haben in beiden Punkten Recht.

Security by Obscurity verhindert bestenfalls die gelegentlichen Versuche, nach Standardports zu suchen, da sie wissen, dass sie irgendwann jemanden finden , der die Haustür offen gelassen hat. Wenn es jedoch jemals ernsthafte Bedrohungen gibt, denen Sie beim Ändern des Deaktivierungsports gegenüberstehen, wird dies den anfänglichen Angriff höchstens verlangsamen, jedoch aufgrund dessen, worauf Sie bereits hingewiesen haben, nur geringfügig.

Tun Sie sich selbst einen Gefallen und lassen Sie Ihre Ports richtig konfiguriert, aber treffen Sie die richtigen Vorkehrungen, um sie mit einer richtigen Firewall, Berechtigungen, ACLs usw. zu sperren.

Squillman
quelle
17
Die Projektion von (starken) Passwörtern und Verschlüsselung in die Idee der Sicherheit durch Unbekanntheit ist meiner bescheidenen Meinung nach ein bisschen
schwierig
5
Bei Verwendung von nur 8 Zeichen mit dem vollen Bereich von alphabetischen und numerischen Zeichen (und ohne Sonderzeichen) beträgt die Anzahl der möglichen Kombinationen 62 ^ 8 (218.340.105.584.896). 65535 befindet sich nicht einmal im selben Universum wie dieses, selbst wenn Port-Scan-Detektoren verwendet werden. Beachten Sie, dass ich schwache Passwörter rabattiere.
squillman
3
Wiederum "ist es nicht so, als ob der Nicht-Standard-Port die gesamte Sicherheitsvorrichtung ist". Jedes bisschen hilft. Es ist eine 10-Sekunden-Optimierung, die Ihren Server davon abhält, sich mit jemandem in Verbindung zu setzen, der nach SSH sucht, um an die Türen zu klopfen.
Ceejayoz
8
Meh. Nicht-Standard-Ports im Auge zu behalten, lohnt sich in meinem Buch nicht. Ich bin damit einverstanden, mit niemandem einverstanden zu sein ... Das Hinzufügen weiterer Gegenmaßnahmen, die über das Ändern des Ports hinausgehen, ist sicherlich Teil der Gleichung, und ich überlasse die Dinge lieber diesen Puzzleteilen.
squillman
6
Nach dem, was ich gesehen habe, sind die nicht-standardmäßigen Ports zum Standard geworden. 2222 für ssh, 1080, 8080, 81, 82, 8088 für HTTP. Andernfalls wird es zu dunkel und Sie fragen sich, welcher Dienst sich auf Port 7201 befindet und warum Sie auf 7102 keine Verbindung zu ssh herstellen können.
BillThor
13

Es ist eine leichte Verschleierung, aber keine nennenswerte Geschwindigkeitsschwäche auf dem Weg zum Hacking. Es ist schwieriger, die Konfiguration auf lange Sicht zu unterstützen, da alles, was mit diesem bestimmten Dienst kommuniziert, über den unterschiedlichen Port mitgeteilt werden muss.

Es war einmal eine gute Idee, um Netzwerkwürmer zu vermeiden, da diese dazu neigten, nur einen Port zu scannen. Die Zeit des sich schnell vermehrenden Wurms ist jedoch vorbei.

sysadmin1138
quelle
2
+1 für schwierigere Konfigurations- und Supportprobleme. Verschwenden Sie Zeit damit, die Tür zu sichern (anstatt zu suchen, wo Sie sie in Ihrem Haus abgestellt haben).
Macke
12

Wie bereits erwähnt, bietet das Ändern der Portnummer nicht viel Sicherheit.

Ich möchte hinzufügen, dass das Ändern der Portnummer Ihrer Sicherheit schaden kann.

Stellen Sie sich das folgende vereinfachte Szenario vor. Ein Cracker scannt 100 Hosts. Neunundneunzig dieser Hosts verfügen über Dienste, die an diesen Standardports verfügbar sind:

Port    Service
22      SSH
80      HTTP
443     HTTPS

Aber dann gibt es einen Host, der sich von der Masse abhebt, weil der Systembesitzer versucht hat, seine Dienste zu verschleiern.

Port    Service
2222    SSH
10080   HTTP
10443   HTTPS

Nun, dies könnte für einen Cracker interessant sein, da der Scan zwei Dinge nahelegt:

  1. Der Besitzer des Hosts versucht, die Portnummern auf seinem System zu verbergen. Vielleicht denkt der Besitzer, dass das System etwas Wertvolles enthält. Dies ist möglicherweise kein gewöhnliches System.
  2. Sie wählten die falsche Methode, um ihr System zu sichern. Der Administrator hat einen Fehler begangen, indem er an die Verschleierung von Ports geglaubt hat, was darauf hinweist, dass es sich möglicherweise um einen unerfahrenen Administrator handelt. Vielleicht haben sie Port-Verschleierung anstelle einer richtigen Firewall oder eines richtigen IDS verwendet. Sie haben möglicherweise auch andere Sicherheitsfehler begangen und sind möglicherweise für zusätzliche Sicherheitsangriffe anfällig. Lassen Sie uns jetzt ein wenig weiter nachforschen, sollen wir?

Wenn Sie ein Cracker wären, würden Sie einen Blick auf einen der 99 Hosts werfen, auf denen Standarddienste auf Standardports ausgeführt werden, oder auf diesen einen Host, der die Portverschleierung verwendet?

Stefan Lasiewski
quelle
14
Ich würde mir die 99 Gastgeber ansehen, es sei denn, die Erfahrung hat mir etwas anderes beigebracht. Jemand, der Ports verschiebt, wird wahrscheinlich eher patchen und sichern, wenn Sie mich fragen.
Ceejayoz
4
Ich würde mir den einen Host ansehen, der auffiel, und zwar mit der Möglichkeit, dass ein PJ dachte: "Wenn ich die Portnummern ändere, bin ich unverkennbar!" hat aber das root Passwort auf "Passwort" gesetzt.
Andrew
3
@Ceejayoz, völlig einverstanden. Ich verwende SSH auf 2222, kein Sicherheitswert, aber weniger Script-Kiddies. Ich würde mir vorstellen, dass sie mich eher ignorieren, sich die Mühe machen, den Hafen zu wechseln, und wahrscheinlich auch andere Maßnahmen ergreifen. Offensichtlich ist es nicht alles Standardkonfiguration ...
Chris S
1
Ich verstehe, dass nicht alle meiner Meinung zustimmen. Aber meiner Erfahrung nach gab es viele Systembesitzer, die die Portverschleierung verwendeten, aber Fehler machten, wie OpenSSH nicht zu aktualisieren, nachdem einige kritische Sicherheitslücken aufgedeckt wurden, oder unverschlüsselte SSH-Schlüssel von einem gemeinsam genutzten Universitätssystem usw. zu verwenden Diese Systeme waren saftige Ziele.
Stefan Lasiewski
3
Im Endeffekt: Wenn Sie zu einem nicht standardmäßigen Port wechseln, entmutigen Sie eher die Script-Kiddies, aber auch erfahrene Hacker. Was wirft die Frage auf: Wovor haben Sie mehr Angst, ins Visier genommen zu werden?
Verspätung
9

Ich werde zumindest teilweise gegen den allgemeinen Trend vorgehen.

Das Wechseln zu einem anderen Port kann für sich genommen ein paar Sekunden dauern, während nach ihm gesucht wird. Wenn Sie jedoch nicht standardmäßige Ports mit Anti-Portscan-Maßnahmen kombinieren, kann dies zu einer wirklich lohnenden Erhöhung der Sicherheit führen.

Für meine Systeme gilt folgende Situation: Nicht öffentliche Dienste werden auf nicht standardmäßigen Ports ausgeführt. Jeder Verbindungsversuch zu mehr als zwei Ports von einer einzelnen Quelladresse, ob erfolgreich oder nicht, innerhalb einer bestimmten Zeit führt dazu, dass der gesamte Datenverkehr von dieser Quelle getrennt wird.

Um dieses System zu schlagen, müsste man entweder Glück haben (den richtigen Port treffen, bevor man blockiert wird) oder einen verteilten Scan, der andere Maßnahmen auslöst, oder eine sehr lange Zeit, die auch bemerkt und ausgeführt wird.

John Gardeniers
quelle
Kombinieren Sie dies mit dem Punkt von Andreas Bonini über gezielte Angriffe und es ist ein starkes Argument für die Verwendung alternativer Ports.
JivanAmara
5

Meiner Meinung nach erhöht das Verschieben des Ports, auf dem eine Anwendung ausgeführt wird, die Sicherheit überhaupt nicht - einfach aus dem Grund, dass dieselbe Anwendung (mit denselben Stärken und Schwächen) nur auf einem anderen Port ausgeführt wird. Wenn Ihre Anwendung eine Schwachstelle aufweist, wird die Schwachstelle nicht behoben, wenn der empfangene Port auf einen anderen Port verschoben wird. Schlimmer noch, es ermutigt Sie aktiv, die Schwachstelle NICHT anzusprechen, da sie jetzt nicht ständig durch automatisiertes Scannen bearbeitet wird. Es verbirgt das eigentliche Problem, das eigentlich gelöst werden sollte.

Einige Beispiele:

  • "Es bereinigt die Protokolle" - Dann haben Sie ein Problem mit dem Umgang mit Ihren Protokollen.
  • "Reduziert den Verbindungsaufwand" - Der Aufwand ist entweder unbedeutend (wie bei den meisten Überprüfungen der Fall) oder Sie benötigen eine vorgeschaltete Filterung / Denial-of-Service-Reduzierung
  • "Reduziert die Gefährdung der Anwendung" - Wenn Ihre Anwendung dem automatisierten Scannen und Ausnutzen nicht standhält, weist Ihre Anwendung schwerwiegende Sicherheitsmängel auf, die behoben werden müssen (dh, Sie müssen den Patch beibehalten!).

Das eigentliche Problem ist das administrative: Die Leute erwarten SSH bei 22, MSSQL bei 1433 und so weiter. Diese zu verschieben, ist eine weitere Ebene der Komplexität und der erforderlichen Dokumentation. Es ist sehr ärgerlich, sich in ein Netzwerk zu setzen und mit nmap herauszufinden, wo sich die Dinge bewegt haben. Die zusätzlichen Sicherheitsmerkmale sind bestenfalls kurzlebig und die Nachteile sind nicht unerheblich. Tu es nicht. Beheben Sie das eigentliche Problem.


quelle
2

Sie haben Recht, dass dies nicht viel Sicherheit bringt (da der TCP-Server-Portbereich nur 16 Bit Entropie enthält), aber Sie können dies aus zwei anderen Gründen tun:

  • Wie andere bereits gesagt haben: Eindringlinge, die viele Anmeldungen versuchen, können Ihre Protokolldateien überfrachten (auch wenn Wörterbuchangriffe von einer einzelnen IP-Adresse mit fail2ban blockiert werden können).
  • SSH benötigt Kryptografie mit öffentlichen Schlüsseln , um geheime Schlüssel auszutauschen und einen sicheren Tunnel zu erstellen (dies ist eine kostspielige Operation, die unter normalen Bedingungen nicht sehr oft durchgeführt werden muss). Wiederholte SSH-Verbindungen können die CPU-Leistung verschwenden .

Bemerkung: Ich sage nicht, dass Sie den Server-Port ändern sollten. Ich beschreibe nur vernünftige Gründe (IMO), um die Portnummer zu ändern.

Wenn Sie dies tun, müssen Sie meines Erachtens jedem anderen Administrator oder Benutzer klar machen, dass dies nicht als Sicherheitsmerkmal anzusehen ist und dass die verwendete Portnummer nicht einmal ein Geheimnis ist und dass dies als Sicherheitsmerkmal beschrieben wird das bringt echte sicherheit wird nicht als akzeptables verhalten angesehen.

neugierig
quelle
Protokolldateien können mit geeigneten Filtern problemlos übersichtlich dargestellt werden. Wenn Sie von Serverleistung aufgrund reduzierter Protokolle sprechen, dann sprechen wir nicht mehr von Sicherheit. Leistung ist ein ganz anderes Thema.
Pacerier
Nicht, wenn der Computer aufgrund übermäßiger Festplattennutzung unbrauchbar wird.
neugierig
Ja, das ist ein Leistungsproblem. Leistung ist definitiv auch wichtig, aber in diesem speziellen Thread geht es nur um Sicherheit. (Stellen Sie sich für diesen Thread vor, Sie hätten Google-Größe und Google möchte diese Daten tatsächlich für Analyse- und / oder Verkaufszwecke.)
Pacerier
1

Ich sehe eine hypothetische Situation, in der es einen potenziellen Sicherheitsvorteil geben könnte, wenn Sie Ihren sshd auf einem alternativen Port betreiben. Dies ist in dem Szenario der Fall, in dem in der von Ihnen ausgeführten sshd-Software eine trivial ausgenutzte Remote-Sicherheitsanfälligkeit entdeckt wird. In einem solchen Szenario kann es sein, dass Sie mit Ihrem sshd auf einem alternativen Port nur so viel Zeit haben, dass Sie kein zufälliges Drive-by-Ziel sind.

Ich selbst führe das sshd auf einem alternativen Port auf meinen privaten Rechnern aus, aber dies dient hauptsächlich der Übersichtlichkeit in /var/log/auth.log. Auf einem Mehrbenutzersystem halte ich den oben vorgestellten kleinen hypothetischen Sicherheitsvorteil nicht für einen ausreichenden Grund für den zusätzlichen Aufwand, der dadurch entsteht, dass sshd im Standardteil nicht gefunden wird.

andol
quelle
Das Szenario wäre nur gültig, wenn alle Admin (s) überhaupt keinen Spielraum mit dieser "zusätzlichen Zeit" nehmen, um jemals zum Mittagessen zu gehen usw.
Pacerier
1

Die Sicherheit wird leicht erhöht. Der Angreifer, der den offenen Port gefunden hat, muss nun herausfinden, was auf dem Port läuft. Da er (noch) keinen Zugriff auf Ihre Konfigurationsdateien hat, hat er keine Ahnung, ob auf Port 12345 http, sshd oder einer von tausend anderen allgemeinen Diensten ausgeführt wird greife es an.

Auch wie in anderen Postern darauf hingewiesen wurde, könnten Versuche, sich an Port 22 anzumelden, ahnungslose Skriptkinder, Zombietrojaner oder sogar echte Benutzer sein, die eine IP-Adresse falsch eingegeben haben. Ein Versuch, sich an Port 12345 anzumelden, ist mit ziemlicher Sicherheit entweder ein echter Benutzer oder ein schwerer Angreifer.

Eine andere Strategie ist es, ein paar "Honigfalle" -Ports zu haben. Da diese Portnummern keinem echten Benutzer bekannt sind, muss jeder Verbindungsversuch als böswillig eingestuft werden, und Sie können die betreffende IP-Adresse automatisch blockieren / melden.

Es gibt einen speziellen Fall, in dem die Verwendung einer anderen Portnummer Ihr System auf jeden Fall sicherer macht. Wenn in Ihrem Netzwerk ein öffentlicher Dienst wie ein Webserver ausgeführt wird, aber auch ein Webserver für den internen Gebrauch ausgeführt wird, können Sie den externen Zugriff absolut blockieren, indem Sie eine andere Portnummer verwenden und den externen Zugriff von diesem Port aus blockieren .

user23523
quelle
Die Erhöhung der Sicherheit um ca. 0,1% muss gegen die entsprechende Verringerung der Sicherheit abgewogen werden , was je nach Anwendungsfall und Kontext zu einem Nettoverlust an Sicherheit führen kann.
Pacerier
0

Nicht von alleine. Wenn Sie jedoch nicht den Standardport für eine bestimmte Anwendung (z. B. SQL Server) verwenden, wird Ihr Angreifer grundsätzlich gezwungen, Ihre Ports zu scannen. Dieses Verhalten kann dann von Ihrer Firewall oder anderen Überwachungsmetriken erkannt und die IP des Angreifers blockiert werden. Außerdem wird der durchschnittliche "Script Kiddie" mit größerer Wahrscheinlichkeit davon abgehalten, wenn das von ihm verwendete einfache Tool oder Befehlsskript keine SQL Server-Instanz auf Ihrem Computer findet (da das Tool nur den Standardport überprüft).

KeithS
quelle