Frage:
Verbessert es die Sicherheit, obskure Portnummern zu verwenden?
William Rosenbloom
2018-07-17 05:56:42 UTC
view on stackexchange narkive permalink

Ich habe kürzlich eine Stelle bei einem kleinen Unternehmen angetreten, bei dem der CTO SSH-Dienste lieber an dunklen, hoch nummerierten Ports auf unseren Servern als an dem bekannten Port 22 hostet. Seine Begründung lautet: "Es verhindert 99% aller Script-Kiddy-Angriffe." . " Ich bin gespannt, ob dies als schlechte Praxis angesehen wird.

Intuitiv erscheint dies sinnvoll. Aber wir sind beide größtenteils Autodidakten, und ich fühle mich unwohl mit der Idee, unsere eigenen Sicherheitsverfahren zu improvisieren, anstatt gut etablierten Konventionen zu folgen. Ich weiß, dass kryptografische Schemata und Protokolle im Allgemeinen von Teams von akribisch entworfen werden Experten, und dass jedes Detail vor Angriffen schützen soll, egal wie unbedeutend es auch sein mag. Ich mache mir Sorgen über die unbeabsichtigten Folgen einer Abweichung von diesen Empfehlungen.

Aber mein Kollege scheint Beweise auf seiner Seite zu haben. Er konnte zeigen, dass wir jeden Tag Dutzende von Angriffen bekommen, die Port 22 versuchen und einfach weitermachen. Ich weiß, dass wir im Allgemeinen Sicherheit durch Dunkelheit vermeiden sollten, aber die Entfernung von diesem gemeinsamen Ziel scheint die meisten Angriffe wirklich zu vereiteln.

Ist das gut? üben oder nicht? Sollten wir bekannte Ports verwenden?

ADDENDUM

Wir verlassen uns nicht nur auf den obskuren Port. Wir haben viele andere Sicherheitsmaßnahmen getroffen, einschließlich obligatorischer Hardwareschlüssel. Ich werde meine Frage klarer formulieren.

Gibt es einen Grund, warum insbesondere Port 22 für SSH ausgewählt wurde? Ist die Verwendung anderer Ports gefährlich?

Es gibt keine Sicherheit durch Dunkelheit.Es gibt nur Dunkelheit.Dieses Prinzip wurde vor Jahrzehnten etabliert.
Meiner Ansicht nach ist weniger Müll in Protokolldateien ein Sicherheitsmerkmal, da Sie sich mehr auf echte Probleme konzentrieren können.
Wenn Sie eine anständige Sicherheit durch Unbekanntheit (:)) wünschen, sollten Sie Port Knocking anstelle einfacher nicht standardmäßiger Ports verwenden.Port-Klopfen kann nicht durch Scannen besiegt werden.Der einzige Weg, dem entgegenzuwirken, ist eine anständige Verkehrsanalyse, die viel, viel schwieriger ist.
Sicherheit durch Dunkelheit ist nicht von Natur aus schlecht, sondern nur darauf angewiesen.Dunkelheit kann einen vernachlässigbaren Vorteil bieten, der echte Sicherheit nicht ersetzen kann, aber zusätzlich verwendet werden kann.Der Nachteil der Unklarheit besteht darin, dass autorisierten Benutzern (die sich an die Abweichung von der Norm erinnern müssen) normalerweise Unannehmlichkeiten entstehen. Bei der Sicherheit geht es im Allgemeinen darum, ein Gleichgewicht zwischen der Einschränkung nicht autorisierter Benutzer herzustellen, ohne autorisierte Benutzer zu sehr zu behindern.
Es hängt ganz von dem Angriffsvektor ab, über den Sie nachdenken.Wenn Sie Personen ausweichen möchten, die beiläufig das Netz nach Port 22 absuchen, dann sicher, aber wenn Sie sich gegen jemanden verteidigen möchten, der Ihren Host angreift, nicht ein bisschen.
Warum ist Port 22 für das öffentliche Internet verfügbar?
Mögliches Duplikat von [Die gültige Rolle der Dunkelheit] (https://security.stackexchange.com/questions/2430/the-valid-role-of-obscurity)
Ich verwende einen SSH-Server auf Himbeer-Pi und er ist über das Internet zugänglich.Als ich ssh auf Port 22 ausführte, war die 10-MB-Ramdisk-Protokollpartition innerhalb von Stunden voll - alles aufgrund von Anmeldeversuchen, die protokolliert wurden.Nachdem ich den SSH auf einen High-Port verlegt habe, hatte ich seit 6 Monaten keinen einzigen Versuch eines unbefugten Zugriffs.Für mich ist das ein Vorteil.
Wenn Sie ein neues SSH installiert und nur die Protokolle innerhalb der ersten Stunde überwacht haben, würden Sie Hunderte, wenn nicht Tausende von Versuchen zählen!Nebenbei bemerkt, dies war es, was mich ermutigte, einen Honigtopf nur zu diesem Zweck des Spaßes zu planen!
Ich weiß nicht, ob Sie Ihre Frage mit Ihrem richtigen Namen unterschreiben, aber wenn Sie dies tun oder ob Ihre Identität anhand Ihrer Beiträge festgestellt werden kann, geben Sie möglicherweise zu viel preis.
In diesem Fall ist die Unannehmlichkeit für autorisierte Benutzer wahrscheinlich relativ gering, da sie im Allgemeinen ihre SSH-Software konfigurieren können (selbst Befehlszeilen-SSH hat im Allgemeinen so etwas wie "~ / .ssh / config", um einer komplizierten Verbindung einen Kurznamen zuzuweisen), um beim ersten Mal eine Verbindung zu einem fremden Port herzustellen und sich dann in Zukunft nicht mehr an den Port erinnern zu müssen.
Zehn antworten:
Steve Sether
2018-07-17 10:37:11 UTC
view on stackexchange narkive permalink

Verbessert es die Sicherheit, obskure Portnummern zu verwenden?

Wenn Sie bereits Kennwörter mit hoher Entropie oder Authentifizierung mit öffentlichem Schlüssel verwenden, lautet die Antwort "nicht wirklich". Meistens werden Sie nur den Lärm in Protokollen los.

Ich mache mir Sorgen über die unbeabsichtigten Folgen einer Abweichung von diesen Empfehlungen.

Es hängt davon ab, welcher Port ausgewählt wurde. Unter Linux benötigen standardmäßig alle Ports unter 1024 Root-Zugriff, um sie abzuhören. Wenn Sie einen Port über 1024 verwenden, kann jedes Benutzerkonto ihn abhören, wenn noch kein Prozess abgehört wird.

Warum ist das wichtig? Angenommen, Sie haben ssh so eingestellt, dass es an Port 20.000 bindet. Wenn jemand den SSH-Prozess auf einem Server stoppen könnte (sagen wir, er hat irgendwie einen Weg gefunden, den Prozess zum Absturz zu bringen) und lokalen Zugriff auf diesen Server hätte, könnte er seinen eigenen SSH-Server auf Port 20.000 ausführen bevor der Dienst neu gestartet wurde. Jeder, der sich anmeldet, meldet sich dann beim SSH-Server der bösen Jungs an.

Dies ist keine so große Sache wie früher, da heutzutage nur vertrauenswürdige IT-Mitarbeiter Anmeldezugriff erhalten Server. Dennoch besteht die Möglichkeit einer Eskalation von Berechtigungen und anderer Unangenehmkeit, wenn ein Angreifer auf Ihrem Server Fuß fasst.

Abgesehen davon, dass er unter 1024 liegt, hat die Nummer 22 nichts Besonderes. Sie wurde größtenteils ausgewählt, weil SSH war ein Ersatz für Telnet an Port 23 , und 21 wurde bereits von FTP übernommen. Solange Sie einen Port unter 1024 auswählen, spielt der Port keine Rolle.

Ist dies eine gute Vorgehensweise oder nicht? Sollten wir bekannte Ports verwenden?

Ich würde nicht sagen, dass ich es empfehlen würde. Ich würde auch nicht davon abraten. Wie gesagt, es vermeidet viel Rauschen in Protokolldateien, aber die Vorteile sind weitgehend darauf beschränkt.

Alle, die sich für die Hintergrundgeschichte zu SSH interessieren, finden sie unter: https://www.ssh.com/ssh/port

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/80438/discussion-on-answer-by-steve-sether-does-it-improve-security-to-use-obscure-por).
Nee.Jeder, der versucht, sich bei diesem bösen Server anzumelden, erhält eine große Warnung, dass sich der Hostschlüssel geändert hat (vorausgesetzt, die Clients könnten einen Schritt zurücktreten, ihre bekannten Hosts-Dateien bearbeiten, um einen solchen Eintrag zu entfernen, erneut eine Verbindung herstellen, den unbekannten Schlüssel akzeptieren und landenauf einen anderen Server eines Angreifers, auf dem sogar die Dateien fehlen, die sie zu Hause hatten).Beachten Sie auch, dass die Umleitung über iptables erfolgen kann, sodass sshd tatsächlich 22 abhört (von außen nicht erreichbar) und der reale Port 20.000 davon beschattet wird.
@ Ángel Das ist zwar richtig, bietet aber dennoch Funktionen für Personen mit einer willkürlichen Leseanfälligkeit oder einem Seitenkanalangriff, der den Zugriff auf die Hostschlüssel ermöglicht (was kein unbedeutendes Risiko darstellt).Darüber hinaus erleichtert es Social-Engineering-Angriffe und ermöglicht es, den Client auszunutzen.Sie haben Recht, wenn Sie iptables verwenden, um Ports umzuleiten. Dies ist eine gute Idee, wenn Sie einen High-Port sicher verwenden möchten.
Tom
2018-07-17 17:21:08 UTC
view on stackexchange narkive permalink

Ja, das tut es. Die eigentliche Frage ist: Um wie viel?

Warum? Sie haben bereits grundlegende Sicherheit, sodass Sie sich bei den alltäglichen Bot-Angriffen keine Sorgen machen. Aber es könnte morgen einen 0-Tage geben, und die Angreifer wissen, dass es nicht lange dauern wird, bis ein Patch veröffentlicht wird. Sie bemühen sich also, ihn zu verwenden, und kümmern sich nicht um etwas Kompliziertes - sie treffen einfach so viele Maschinen wie möglich der Standardport. Jede Art von theoretischem SSH-Wurm würde diese Strategie ebenfalls verwenden. Sie wären davor geschützt.

Wie viel zusätzliche Sicherheit bringt Ihnen dies? Es schützt vor diesem und möglicherweise 2-3 anderen spezifischen Szenarien. Jeder gezielte Angriff von Personen, die kein totaler Idiot sind, wird bestenfalls um einige Minuten verlängert. Es hat nichts mit den Szenarien zu tun, gegen die Sie bereits angemessen geschützt sind.

Wenn Sie diese Zahlen in Ihre bevorzugte Risikoanalysemethode einfügen, sollten Sie sich etwas relativ Kleines einfallen lassen. Auf der anderen Seite haben Sie den zusätzlichen Aufwand, eine nicht standardmäßige Portnummer festzulegen, zu dokumentieren, sie möglicherweise während einer Fehlerbehebung zu verpassen und einige Zeit zu verschwenden usw.

Ich vermute, dass Sie gerade die Gewinnschwelle erreichen würden mit einer Analyse. Oder mit anderen Worten: Ja, es verbessert zwar die Sicherheit, aber die Mühe lohnt sich nicht, da die Verbesserung sehr gering ist.

* "Es könnte morgen einen 0-Tage geben und [Angreifer] werden einfach so viele Maschinen wie möglich auf dem Standardport treffen." * Guter Punkt, den ich in anderen Antworten nicht erwähnt habe!
Dein erster Satz ist falsch.Es kann die Sicherheit nur "verbessern", wenn der richtige Schutz (z. B. * eine Firewall, die Port 22 vor dem Internetverkehr blockiert *) oder mehrere Firewalls von verschiedenen Anbietern, wenn Sie eine gründliche Verteidigung wünschen, z. B. eine Firewall auf dem Gerät, die den öffentlichen Internetzugang ermöglichtDas Netzwerk und dann eine Firewall auf Maschinenebene sind nicht vorhanden.Wenn es nicht vorhanden ist, verliert der Verteidiger immer noch gegen etwas ausgefeiltere Angriffe, bei denen andere Ports überprüft werden müssen.1% der Angreifer zu verlieren, bedeutet immer noch zu verlieren.
@jpmc26 Sie verstehen Sicherheit nicht und glauben, dass es sich um eine binäre Eigenschaft handelt.Ist es nicht.Ich bin auch neugierig, warum ich einen geschlossenen Port mit zwei Firewalls blockieren muss und warum mir das zusätzliche Sicherheit gibt.
@Tom Vielleicht möchten Sie den Kommentar noch einmal lesen, weil ich darauf geantwortet habe.Ihre Antwort legt nahe, dass ein nicht standardmäßiger Port zum Schutz vor Zero-Day-Schwachstellen beiträgt.Wenn Sie sich Sorgen um die in Ihrer Firewall befindlichen Firewalls machen, können Sie mehrere Firewalls verwenden, um eine bessere Tiefenverteidigung zu erzielen als ein nicht standardmäßiger Port, falls einer von ihnen ausfällt.Mit dieser Einrichtung kauft Ihnen der nicht standardmäßige Port nichts und dieses Setup schützt vor * mehr * Szenarien als ein nicht standardmäßiger Port (wie jemand, der sich die Mühe macht, alle Ports zu scannen).Dunkelheit ist bestenfalls unterdurchschnittlich.Sind Sie sicher, dass ich derjenige bin, der Sicherheit nicht versteht?
@jpmc26 Wie würde ein 0-Tage * in der Firewall * in dieser Frage von Bedeutung sein?Ich habe klar über einen 0-Tag * in sshd * gesprochen und das Szenario klar beschrieben.Wir sind uns beide einig, dass die Verwendung eines nicht standardmäßigen Ports bestenfalls eine ** kleine ** Erhöhung der Sicherheit bedeutet, aber es gibt ** Szenarien, in denen dies einen Unterschied macht.
@Tom Zero Day auf SSH spielt keine Rolle, wenn der Angreifer nicht einmal eine Verbindung zu SSH herstellen kann.Bei einer Firewall ist eine Sicherheitsanfälligkeit (z. B. Zero Day) in der Firewall selbst erforderlich, um sogar SSH anzugreifen.Die einzigen Szenarien, in denen diese Unklarheitsmethoden von Bedeutung sind, sind solche, in denen die richtigen Sicherheitsmaßnahmen nicht vorhanden sind, und in diesen Szenarien werden sie durch eine * geringfügige * Erhöhung des Angriffs des Angreifers besiegt.Das Risiko einzugehen, dass kein einziger Angreifer es ausgibt, ist dumm.Verwenden Sie Sicherheitsmaßnahmen, die die Dunkelheit irrelevant machen, wenn Sie sich tatsächlich gegen Bedrohungen verteidigen möchten oder überhaupt nicht sicher sind.
Ich weiß, wie eine Firewall funktioniert.Ich ging davon aus, dass der Fragesteller kein kompletter Idiot ist und SSH offen hat, weil er es braucht, um zugänglich zu sein.Ihr zweiter Teil zeigt ein typisches Sicherheitsmissverständnis - dass Ihre Verteidigung ** jedem ** Angreifer widerstehen muss.Das ist falsch.Wenn ich erklären muss, warum, öffnen Sie bitte eine neue Frage, die über die Zeichenbeschränkung von Kommentaren hinausgeht.
@Tom Sie müssen jedem Angreifer in den Bedrohungsmodellen widerstehen, die Sie in Betracht ziehen.Offensichtlich besteht das Bedrohungsmodell nicht nur aus Angreifern, die andere Ports nicht überprüfen.Dies wird vom OP demonstriert, da nur * 99% * der Angreifer durch diesen Mechanismus vereitelt würden.Angreifer sind sehr schlau.Es ist einfach dumm anzunehmen, dass sie keine Informationen entdecken, die in einer einfachen Site "versteckt" sind, wie die Geschichte zeigt.
Wenn Sie 99% der Angreifer vereiteln, bedeutet dies, dass Sie alle 10 Jahre statt 10 Mal pro Jahr gehackt werden.Wenn Sie der Meinung sind, dass dies kein Unterschied ist, haben wir nichts zu besprechen.
Sicherlich führen Script-Kiddies Port-Scanner aus, die nach dem Lieblingsport ihres Favoriten in suchen. Ein anderer Port bedeutet, dass 99,9% der Script-Kiddies und selbstverteilenden 0-Tage nichts finden und der 0,1% -Zielangriff nicht einmal abgewehrt wirdwenig.
"Wenn Sie 99% der Angreifer vereiteln, bedeutet dies, dass Sie alle 10 Jahre statt zehnmal im Jahr gehackt werden. Wenn Sie der Meinung sind, dass dies kein Unterschied ist, haben wir nichts zu besprechen."Dies setzt fälschlicherweise voraus, dass wir obskure Ports mit überhaupt keinem Schutz vergleichen.Das habe ich überhaupt nicht vorgeschlagen.Was ich gesagt habe ist, dass der dunkle Port nichts tut, wenn Sie den richtigen Schutz haben und es keinen Grund gibt, die Verwendung zu vermeiden.Wenn Sie alle 10 Jahre einmal gehackt werden, scheitern Sie.
@jpmc26 - wir reden aneinander vorbei.Ich habe bereits alles angesprochen, was Sie gesagt haben, und sage es immer wieder.Den Punkt, den Sie jetzt machen, habe ich in meinem ursprünglichen Beitrag angesprochen.Ich habe wirklich nichts hinzuzufügen.
vidarlo
2018-07-17 09:35:19 UTC
view on stackexchange narkive permalink

Nein, die Sicherheit wird dadurch nicht verbessert. Dies kann die Unordnung im Protokoll verringern, da bei automatisierten Angriffen nur Standardports für z. ssh. Der Port wird jedoch weiterhin als SSH in einem Port-Scan und shodan.io angezeigt.

Diese automatisierten Angriffe zielen normalerweise auf niedrig hängende Früchte mit Standardbenutzernamen wie root, Schmied und so weiter und schwache Passwörter. Wenn sie erfolgreich sind, liegt zunächst ein Problem vor.

Wenn Sie ssh so konfigurieren, dass nur die Schlüsselauthentifizierung zugelassen wird, Root-Anmeldungen nicht zulässig sind und vernünftige Kennwörter verwendet werden, verwenden Sie fail2ban oder einen ähnlichen Mechanismus, um Straftäter zu blockieren Ich bin keine echte Bedrohung.

Ich verwende fail2ban, das so konfiguriert ist, dass es nach drei fehlgeschlagenen Versuchen für fünf Minuten und nach 3 * 5 fehlgeschlagenen Versuchen eine Woche lang vorübergehend blockiert. Dies reduziert die Unordnung im Protokoll und blockiert jeden echten Fortschritt bei einem Brute-Force-Angriff.

Für einen gezielten Angreifer spielt es keine Rolle, welche Port-Inhalte abgehört werden. Es ist nur für automatisierte Angriffe von Bedeutung, die meiner Meinung nach ein vernachlässigbares Risiko darstellen.

Wird es nicht als Verbesserung der Sicherheit angesehen, weniger häufig angegriffen zu werden?Weil ich damit einverstanden bin, werden zufällige Trolle normalerweise durch rudimentäre Vorsichtsmaßnahmen gestoppt.Aber ist nicht jeder Angriff mit einem winzigen Verletzungsrisiko verbunden?Auch wenn das Risiko so unwahrscheinlich ist, als würde man einen RSA-Schlüssel richtig erraten?
Meiner Meinung nach besteht bei Brute Force kein wirkliches Risiko gegen RSA.Und ich habe noch keine automatischen Angriffe beobachtet, die dies versuchen.Sie versuchen die Passwortauthentifizierung.Gegen einen echten, gezielten Angriff, bei dem Beinarbeit geleistet wird, um gültige Benutzernamen usw. zu finden, hilft ein Portwechsel nicht.
@WilliamRosenbloom, Die meisten automatisierten Angriffe bergen kein Verletzungsrisiko.Betrachten Sie den Typen, der seit einem Jahr versucht, Root-Zugriff auf meinen Server zu erzwingen: Selbst wenn er das Passwort, den privaten Schlüssel und die Unterstützung der weltbesten Hacker hätte, besteht kein Risiko, dass er eintritt. Mein Server istkonfiguriert, um alle Anmeldeanforderungen von root abzulehnen.
@WilliamRosenbloom Außer es wird Angriffe nicht dauerhaft reduzieren.Einige Botnets werden es vielleicht nie herausfinden, aber es gibt intelligente, die es entweder durch Port-Scanning oder durch Verkehrsinspektion herausfinden.Sobald dies passiert ist, sind Sie wieder da, wo Sie angefangen haben.Außerdem tut es buchstäblich nichts gegen ernsthafte gezielte Angriffe. Jeder erfahrene Angreifer wird schnell herausfinden, auf welchem Port er sich befindet.
Einverstanden.Wenn Ihre SSH-Authentifizierung robust ist, ist der gefährlichste Angriff gegen Sie eine Art Advanced Persistent Threat (APT).APT-Cyberkriminelle lassen sich nicht von der Sicherheit durch die Dunkelheit von SSH-Listenern an anderen Ports täuschen.Wenn Sie unter Druck zur Reaktion auf Vorfälle gezwungen werden, sind Sie froh, dass Sie Standardmaterial hatten.
fail2ban kann helfen, erfordert jedoch Python, ein Ressourcenfresser auf einigen Geräten.Obwohl ein Gleichgewicht hergestellt werden muss, halte ich es nicht für eine gute Sicherheitspraxis, zu glauben, dass Brute-Force-Angriffe immer kein Risiko darstellen und gleichzeitig gegen harmlose Angriffe in Ihren Sicherheitsprotokollen geschützt sind.Dies bietet einem gefährlicheren Angreifer die Möglichkeit, unter dem Deckmantel von Lärm und Selbstgefälligkeit zu operieren.Ein hoher Port maximiert (vorerst) das SNR;Angriffe darauf deuten auf einen entschlosseneren Angreifer hin und ziehen entsprechende Aufmerksamkeit auf sich.
Holen Sie sich dann einen besseren Protokoll-Viewer, der ungültige Authentifizierungsversuche für Benutzernamen, Root-Versuche usw. herausfiltern kann, und Ihr Signal-Rausch-Verhältnis ist wieder bei echten Angreifern, die versuchen, gültige Benutzerkonten zu erstellen.
Sayan
2018-07-17 06:27:06 UTC
view on stackexchange narkive permalink

Wenn Sie den Standardport ändern, können Sie sich vor Port-Scan- und Skript-Kiddies schützen, aber Sie sind möglicherweise nicht in der Lage, gezielten Angriffen standzuhalten, bei denen der Angreifer die für die Ports irrelevanten laufenden Dienste identifizieren kann.

Wenn Sie möchten Gehen Sie einfach von Script-Kiddies weg. Dies kann hilfreich sein, aber Sie können sich möglicherweise nicht vor den restlichen Vorabangriffen schützen.

Ich empfehle, den Standardport zu verwenden (kann den Verwaltungsaufwand verringern) und mehrseitige Sicherheitsmaßnahmen einzusetzen, um Angriffe abzuwehren.

Wenn beispielsweise der Standardport verwendet wird, ist die Bereitstellung einer zertifikatbasierten Authentifizierung mit SSH nur für bestimmte vertrauenswürdige Quellen zulässig.

Wir verlassen uns nicht auf die Dunkelheit.Wir haben viele andere Sicherheitsmaßnahmen, einschließlich [Hardware-Authentifizierungsschlüssel] (https://www.yubico.com/products/yubikey-hardware/).Die dunklen Ports sind nur eine zusätzliche Schicht über der herkömmlichen Sicherheit.** Wenn Sie das wissen, würden Sie trotzdem empfehlen, den Standardport 22 zu verwenden?Gibt es einen anderen Grund als den Verwaltungsaufwand? **
@WilliamRosenbloom Angesichts all dessen verteidigen Sie sich eindeutig bereits gegen grundlegende Angriffe.Jeder, der in der Lage ist, an Ihren Hardware-Authentifizierungsschlüsseln vorbeizukommen, kann auch diesen alternativen Port finden. Ich denke, Sayans Beitrag lautet weiterhin: "Verwenden Sie den Standardport und stellen Sie [mehrere Sicherheitsebenen] bereit", wie Sie es getan haben.
Wenn Sie Hardwareschlüssel verwenden, ist die Verwendung von nicht standardmäßigen Ports nur ein Sicherheitstheater.Ein Angreifer, der die Chance hat, einen Hardwareschlüssel zu knacken, würde Ihren echten SSH-Port ohnehin in kürzester Zeit identifizieren.Tatsächlich könnte ein viel niedrigerer Angreifer dies leicht tun.
SSLTrust
2018-07-17 06:21:23 UTC
view on stackexchange narkive permalink

Ich würde ja sagen, verwenden Sie nicht normale Portnummern, da dies eine Menge automatischer Bots herausfiltert. Aber verlassen Sie sich nicht darauf, da viele Bots, die mir aufgefallen sind, ein Netzwerk / einen Host nach offenen Ports durchsuchen und diese ausprobieren.

Das Beste ist, eine gute Sicherheit auf Ihrem SSH-Port zu implementieren . Deaktivieren Sie die Root-Anmeldung und führen Sie IP-Adressen auf die Whitelist, wenn Sie können. Verwenden Sie keine Kennwörter für Anmeldungen (verwenden Sie Schlüssel) und aktivieren Sie auch eine Benachrichtigung für Anmeldungen. Und richten Sie eine Firewall ein, das ist wichtig.

Lassen Sie uns [diese Diskussion im Chat fortsetzen] (https://chat.stackexchange.com/rooms/80477/discussion-between-forest-and-patrick-mevzek).
user6858980
2018-07-17 16:24:22 UTC
view on stackexchange narkive permalink

Das Verschleiern von Ports mit einer solchen hohen Anzahl stoppt nur einfache Bots, die nach bekannten Ports suchen. Script-Kiddies und entschlossene Hacker können den Rest des Portbereichs einfach per Port scannen, um einen Dienst zu finden, sodass Sie nur ein wenig Protokollrauschen stoppen.

Es spielt keine Rolle, ob Sie den Standard nicht abhören Port für diesen Dienst. Die Entwickler dieses Dienstes geben Ihnen die Möglichkeit, ihn auf einem anderen Port auszuführen, und jedes Programm, das mit ihm interagiert, kann angeben, mit welchem ​​Port Sie sprechen möchten.

Ich stimme anderen zu Hier wird darauf hingewiesen, dass vertrauliche Ports wie SSH im privilegierten Portbereich unter 1024 aufbewahrt werden sollten.

Ein besserer Weg, um SSH zu verschleiern, das tatsächlich funktioniert, besteht darin, einen Portklopf auszuführen. Dies beinhaltet das Schließen des Ports an iptables, bis eine Sequenz von Ports "geklopft" wurde, die dann den gewünschten Port öffnet.

EG Sie können ein Paket an 8000 4545 28882 7878 senden. Sobald Ihre gewünschte Sequenz ist Eingegebene iptables entsperren Ihren gewünschten Port. Dies stoppt wirklich die Mehrheit der Script-Kiddies und Hacker, da kein Port angekündigt wird. Dies hört jedoch nicht bei Wiederholungsangriffen auf, sondern an dem Punkt, an dem Sie sich größere Sorgen machen müssen.

https://en.wikipedia.org/wiki/Port_knocking.

Eigentlich sollten Sie TCPWrapper verwenden und nur bekannten IP- und Netzwerkbereichen Zugriff auf Ports wie SSH gewähren. Müssen Sie IPs aus China auf SSH zugreifen lassen? Oder müssen Entwickler nur über das Office-LAN zugreifen? Wenn sie remote arbeiten, machen Sie sie VPN in das LAN

Portklopfen ist eine nette Sicherheitsidee, aber es hat absolut schreckliche Benutzerfreundlichkeit.
@Tom, es sei denn, Sie schreiben ein Skript, um dies für Sie zu erledigen ... Die Benutzerfreundlichkeit für einen Remote-Administrator ist nicht wirklich ein großes Problem.
@schroeder Sie gehen davon aus, dass Sie Ihre Admin-Aufgaben immer von demselben Computer aus erledigen, auf dem Sie Ihr geschicktes Skript zur Hand haben.In diesem Fall müssen Sie kein Port-Knocking durchführen. Durch die schlüsselbasierte Authentifizierung werden Brute-Force-Angriffe auch sinnlos.
@tom ja, das nehme ich an.Wenn sich Ihre Administratoren von unbekannten oder unkontrollierten Computern aus anmelden, liegt ein anderes Problem vor.Ihr Kommentar zu schlüsselbasiert ist ebenfalls verwirrend: Die schlüsselbasierte Authentifizierung ist für die Benutzerfreundlichkeit schrecklich.Ich denke, Sie müssen möglicherweise erweitern, was Sie in Ihrem ursprünglichen Kommentar meinen und welche Annahmen Sie als Grundlage treffen.
@schroeder - Sie haben Recht, dass die schlüsselbasierte Authentifizierung die Benutzerfreundlichkeit nicht wesentlich verbessert, aber zumindest ein Standardverfahren ist. Meine Erfahrung zeigt, dass Ihre Annahme in 99% der Fälle richtig und einmal falsch ist, wenn Sie sich wirklich anmelden müssen, aber irgendwo ohne Ihr Notebook sind.Ich habe mich oft genug von Maschinen ausgeschlossen, um zu wissen, dass Sie immer mindestens einen Weg benötigen, der keine spezielle Software oder Einrichtung erfordert.
@Tom erklären, warum Sie denken, dass es niedliche Sicherheit ist?Der Port ist feuergeschützt, bis Sie ihn mit dieser Methode entsperren. Dann haben Sie immer noch alle vorhandenen Sicherheitsmaßnahmen.Wenn Sie Ihren Port nicht bewerben, vermeiden Sie die meisten Netz-Scans. Wenn der Dienst hinter dem versteckten Port anfällig wird, haben Sie auch genügend Zeit, um den Pfad zu finden, bevor automatische Hacks einfluten. Überlegen Sie, wie dies den Shellshock hätte stoppen könnensich so schnell ausbreiten.Ja, die Benutzerfreundlichkeit nimmt ab. Ich muss jetzt 3 Pakete senden, bevor ich mich anmelde.
@user6858980 Ich habe es "niedlich" genannt, weil es eines der Dinge ist, die Ihnen jemand auf einer Konferenz sagt, und Sie sagen "Jetzt ist das eine nette Idee", bis Sie alle Implikationen durchdacht haben.Und ja, das Senden von 3 Paketen kann eine verdammt große Aufgabe sein, wenn Sie sich beispielsweise in einem Internetcafé befinden.Ich habe abgestürzte Server mit einem Palm Pilot und einem GSM-Telefon (nicht 3G, nicht 2G, GSM) neu gestartet, während ich mit dem Zug gefahren bin.Ich habe die Fehlerbehebung auf einem iPad durchgeführt.Viel Glück beim Klopfen Ihres Hafens, wenn Sie sich in einer Notsituation ohne Ihre übliche Ausrüstung befinden.
Was sind die Implikationen, die es nicht praktisch machen?Sie sagen, es gibt ein Problem, ohne Angaben zu machen.Die Vorstellung, dass Sie nicht drei Pakete über GSM in einem Zug senden können, ist nicht üblich. Wenn Sie eine ausreichend stabile Netzverbindung haben, um eine SSH-Verbindung aufrechtzuerhalten, haben Sie genug für x in $ PORT1 $ PORT2 $ PORT3 zu tun.do nmap -Pn --host_timeout 201 --max-retries 0 -p $ SERVER_IP;getan;ssh user @ $ SERVER_IP.Oder drei Telnets und ein SSH.Sagen Sie mir, wie Sie einen anfälligen Dienst ausnutzen oder etwas brutal erzwingen würden, das durch eine Firewall geschützt und nicht beworben wird?
Yury Schkatula
2018-07-17 20:51:10 UTC
view on stackexchange narkive permalink

Wie von anderen erwähnt, ist die Migration auf einen nicht standardmäßigen Port keine Sicherheitslösung, da Sie nur Angriffe auf naiver Ebene herausfiltern.

Gleichzeitig kann die Migration in Kombination mit anderen viel wertvoller sein Vorsichtsmaßnahmen. Zum Beispiel platzieren Sie einen Honeypot am Standardport (eine Umgebung, die physisch vom Rest Ihres Systems isoliert ist, aber für den Angreifer wie ein legitimes Element aussieht). Wenn Sie dann sehen, dass jemand im Honeypot kaputt ist, handelt es sich höchstwahrscheinlich um einen Hacker, sodass Sie ihn automatisch verbieten können.

Und natürlich sollten Sie keine veralteten Versionen von Software mit bekannten Sicherheitslücken verwenden, unabhängig von der Portnummer, an die sie gebunden sind, um zuzuhören.

Führen Sie keinen Honeypot auf einem Produktionsserver aus
@AndrolGenhald Die Idee gefällt mir allerdings.Ein Angreifer versucht 22 vor alternativen Ports. Wenn Sie dort also so viel wie eine TCP-SYN sehen, können Sie der IP-Adresse den Zugriff auf einen beliebigen Port verbieten (sodass der Host für den Angreifer tot erscheint).Oder Sie können den Datenverkehr auf Port 22 an einen anderen Honeypot-Server weiterleiten.Ich bin damit einverstanden, dass ein Honeypot mit hoher Interaktion auf dem Produkt definitiv keine gute Idee ist.
@AndrolGenhald, setzt nackte Produktionsserver nicht der Außenwelt aus.Ein Honeypot, auf den unter derselben IP-Adresse wie der Produktionsserver zugegriffen werden kann, kann dann nur eine Routing-Konfiguration sein.
@Luc Ja, es könnte nützlich sein, etwas an Port 22 abzuhören und sich anzumelden, oder es an eine andere Stelle weiterzuleiten, aber die Antwort erklärt nichts davon.YurySchkatula Vielleicht sollten Sie das zu Ihrer Antwort hinzufügen?
@Luc Klingt nach einer guten Möglichkeit, Ihre Systemadministratoren zu sperren, wenn sie einen neuen Computer erhalten und vergessen, den Port zu ändern, wenn sie zum ersten Mal versuchen, eine Verbindung herzustellen.
@jpmc26 Gute Systemadministratoren verwenden `.ssh / config`-Dateien ;-).Im Ernst, gute Sicherheit hat selten Auswirkungen auf die Benutzerfreundlichkeit.Wo die Grenze zwischen Benutzerfreundlichkeit und Sicherheit gezogen werden kann, hängt von der jeweiligen Situation ab.Vielleicht warnt sie das erste Mal ein Banner vor dem Verbot?Auch hier kommt es nur auf die Situation an ...
@Luc Es gibt jedoch bessere Alternativen, z. B. die Verwendung einer weißen Liste von IPs (über die Firewall) und das Blockieren des externen Datenverkehrs an Port 22.
jpmc26
2018-07-18 08:42:33 UTC
view on stackexchange narkive permalink

Nein, das ist nicht der Fall, oder wenn ich genauer sein möchte, ist es der falsche Schutz gegen die Bedrohung .

Machen Sie einen Schritt zurück: Was ist die Bedrohung, die wir wollen? zu schützen vor? Die Bedrohung, vor der wir uns schützen möchten, ist jede Person im öffentlichen Internet, die den normalen Authentifizierungsmechanismus umgehen kann. Das ist es, was diese "Script Kiddies" versuchen: mit SSH auf den Server zugreifen, obwohl sie nicht autorisiert sind. Ihr Vorgesetzter möchte insbesondere verhindern, dass diese Angreifer überhaupt eine SSH-Verbindung herstellen können.

Welche Standardtechnologie verhindert das Herstellen von Netzwerkverbindungen? Eine Firewall. Die Standardantwort auf dieses Problem besteht darin, Port 22 nur für externen Datenverkehr zu blockieren. Das größere Problem hierbei ist, dass SSH überhaupt für das öffentliche Internet verfügbar ist und die Firewall dies vollständig löst, während der dunkle Port es nur geringfügig verbirgt und die Verbindungen nicht wirklich verhindert. Wenn ein externer Zugriff erforderlich ist, ist die Standardantwort auf das Zulassen dieses autorisierten Zugriffs ein VPN in das Netzwerk. Dies würde sowohl Script Kiddies als auch Wissensangreifer blockieren, die herausfinden könnten, wie sie den Port finden, den Sie tatsächlich verwenden.

Wenn Sie gegen 1% der Angreifer verlieren, verlieren Sie immer noch . Sie benötigen Schutzmaßnahmen, die gegen 100% der Angreifer wirken. Wenn Sie stattdessen (bisher) erfolgreich 100% der Angreifer blockieren, müssen Sie über einen robusteren Schutz verfügen. Diese anderen Schutzmaßnahmen machen den undurchsichtigen Port irrelevant. Wenn dies (hoffentlich) der Fall ist, verwirrt die Verwendung des anderen Ports nur Personen, die mit den tatsächlichen Sicherheitspraktiken weniger vertraut sind, wie Sie selbst und höchstwahrscheinlich Verschwenden Sie die Zeit von Personen, die versuchen, einen legitimen Zugriff zu erhalten, wenn sie versuchen, eine Verbindung herzustellen (neues System ist nicht konfiguriert und muss jemanden nach dem richtigen Port fragen. Der Administrator hat vergessen, die Person über den nicht standardmäßigen Port zu informieren, und die Person muss sie erneut belästigen, um das Problem zu diagnostizieren usw.).

Deshalb sprechen wir über "Sicherheit durch Dunkelheit" und Kerckhoffs Prinzip. Wir sollten vermeiden, uns durch Praktiken abzulenken, die uns nicht wirklich schützen. Wir sollten unsere Zeit und Mühe für Schutzmaßnahmen sparen, die tatsächlich funktionieren, und das falsche Gefühl der "Sicherheit" vermeiden, das uns diese Verschleierungsmethoden geben.

Noir
2018-07-18 17:41:49 UTC
view on stackexchange narkive permalink

Ich möchte hinzufügen, dass Sicherheit letztendlich ein Spiel um Ressourcen auf beiden Seiten ist. Zeit ist eine solche Ressource.

Diese Maßnahme verschwendet die Zeit eines Angreifers, sodass es nicht so schlimm ist. Sie können sich auch über die Ressourcen von Angreifern informieren, wenn diese noch eine Verbindung zu Ihrem benutzerdefinierten Port herstellen. Möglicherweise besteht ein höheres Interesse daran, Sie besonders anzusprechen.

Wenn dies jedoch Ihren Verwaltungsaufgaben einen erheblichen Aufwand hinzufügt, möchten Sie Ihre Zeit möglicherweise woanders investieren. Wenn nicht, dann tun Sie es, aber verlassen Sie sich nicht darauf.

Justin
2018-07-17 09:31:10 UTC
view on stackexchange narkive permalink

Die Verwendung von nicht standardmäßigen Ports für stark gefährdete Anwendungen ist SEHR GUT. SSH weist viele Sicherheitslücken auf und 22 ist ein gängiger Standardport für Brute Force.

Davon abgesehen hängt es wahrscheinlich ab. Insbesondere in Unternehmensumgebungen kommt es häufig zu Brute-Force-Angriffen auf DMZ-Server gegen Port 22. Viele Unternehmen, beispielsweise im Finanzbereich, verwenden einen anderen Standardport für SSH / SFTP-Verkehr für eine gültige Datenübertragung zwischen Organisationen. P. >

In diesem Fall geht es eher darum, einen Teil des Rauschens herauszufiltern (Port 22 Brute Forcing), damit der andere Verkehr auf einem alternativen Port leichter überwacht werden kann. Jeder, der gut genug ist, kann einen offenen Port auf einem mit dem Internet verbundenen Server finden.

Dies wird als eine Form der Risikominderung oder Risikominderung angesehen.

Bearbeiten: Ich sollte hinzufügen: Wenn ich gut sage Praxis, ich beziehe mich auf bewährte Praktiken auf Ihren Geräten mit Internetanschluss. Alles, was sich hinter Ihren Firewalls befindet, ist im Allgemeinen sicher.

[Ich würde nicht sagen, dass openssh eine Menge Sicherheitslücken aufweist] (https://www.cvedetails.com/product/585/Openbsd-Openssh.html?vendor_id=97).Viele der gemeldeten Probleme ermöglichen es einem authentifizierten Benutzer möglicherweise, Berechtigungen zu erlangen. Dies unterscheidet sich jedoch von einem Remoteangreifer, der Zugriff erhält ...
Das Verstecken Ihres Haustürschlüssels unter der Matte ist keine sehr gute Praxis.Ja, es ist besser als den Schlüssel im Schloss zu lassen, aber nicht viel besser.Die bessere Idee ist, die Schwachstellen zu mindern, nicht zu verbergen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...