Frage Warum Port 22 abgehend blockieren?


Ich bin ein Programmierer, und ich habe für ein paar Clients gearbeitet, deren Netzwerke ausgehende Verbindungen an Port 22 blockieren. Wenn man bedenkt, dass Programmierer oft Port 22 für ssh verwenden müssen, scheint dies ein kontraproduktives Verfahren zu sein. Im besten Fall zwingt es die Programmierer, das Unternehmen für das 3G-Internet abzurechnen. Im schlimmsten Fall bedeutet das, dass sie ihre Arbeit nicht effektiv erledigen können.

Könnte ein erfahrener Systemadministrator angesichts der damit verbundenen Schwierigkeiten den gewünschten Nutzen einer scheinbar verlustbringenden Aktion erklären?


55
2018-06-14 17:08


Ursprung


Ports zu blockieren ist nur die halbe Miete. Um den Zyklus abzuschließen, müssen Sie sicherstellen, dass die Dienste, die Sie schützen möchten, nicht auf nicht standardmäßigen Ports ausgeführt werden. - aharden
Die Frage sollte wirklich lauten: "Warum Port 22 Outbound blockieren?" Es gibt eine Million gute Gründe, warum Sie Ihren ssh-Dienst auf einem nicht standardmäßigen Port ausführen möchten. Outbound ... nicht so sehr. Ich habe Robert Moirs Antwort +1 gegeben, weil er es ziemlich gut erklärt hat. - KPWINC
@KPWINC, fügte dem Titel die Klarstellung hinzu. Vielen Dank! - runako
Stellen Sie sich Port 22 als Pandora-Box vor. Netzwerkadministratoren können nicht sehen, was im Datenverkehr ist und was noch am schlimmsten ist. Mit ssh kann die Netzwerksicherheit umgangen werden, wodurch die Integrität des Netzwerks beeinträchtigt wird. - biosFF
@biosFF: Port 443. - Hello71


Antworten:


Ich sehe nicht, dass jemand das spezifische Risiko mit SSH Port Forwarding im Detail dargelegt hat.

Wenn Sie sich innerhalb einer Firewall befinden und SSH-Zugriff auf einen Computer im öffentlichen Internet haben, können Sie SSH an dieses öffentliche System senden und dabei einen Tunnel erstellen, sodass Personen im öffentlichen Internet vollständig auf ein System in Ihrem Netzwerk zugreifen können Umgehen der Firewall.

Wenn Fred dein Desktop ist und Barney ein wichtiger Server in deinem Unternehmen ist und Wilma öffentlich ist, läuft (auf Fred):

ssh -R *: 9000: barney: 22 wilma

und einloggen wird ein Angreifer ssh Port 9000 auf wilma und sprechen mit Barney SSH-Daemon.

Ihre Firewall sieht sie nie als eingehende Verbindung, da die Daten über eine Verbindung geleitet werden, die ursprünglich in ausgehende Richtung eingerichtet wurde.

Es ist ärgerlich, aber eine völlig legitime Netzwerksicherheitsrichtlinie.


68
2018-06-14 19:50



Danke für eine sehr aufschlussreiche Antwort. Dies ist eine der wenigen Antworten, die sich mit den technischen Risiken (im Gegensatz zu den politischen Risiken) offener Outbound-Häfen befassen. - runako
+1 für einen guten technischen Grund. (Dies könnte jedoch nur von einem böswilligen Praktikanten getan werden, der auch andere Ports als TCP 22 auf dem Remote-Host verwenden könnte. Mit denen sind wir zurück zu irgendeinem blockieren alle Politik) - DerMike
Mit einem maßgeschneiderten Protokoll und einer cleveren Proxy-Programmierung könnte dies über HTTPS geschehen - wenn auch langsamer. Solange Sie ausgehenden verschlüsselten Datenverkehr zulassen, sind Sie für diese Art von "Angriff" anfällig. - Michael Sondergaard
Dies ist eine gute Antwort JamesF, aber nicht ein Sicherheitsproblem, über das man nachdenken sollte, weil es ein extrem seltenes Szenario voraussetzt und die Nutzung von SSH-Servern / Clients erfordert. Der böswillige Benutzer müsste zuerst den SSH-Server (auf Ihrem Desktop) ausnutzen und einen Weg finden, um dann Ihren SSH-Client (auf Ihrem Business-Host) auszunutzen. Da Sie Port 22 nicht verwenden können, um auf den Business-Firewall-Host (der nur den ausgehenden Port 22 hat) zuzugreifen oder mit ihm zu sprechen. Wenn Ihr Sicherheitsstandard so hoch ist, sollte Ihr Business-Host in keiner Situation im Internet sein. - Dexter
Was @Dexter zu sagen hatte, können Firewall-Richtlinien auch im Intranet-Bereich implementiert werden. So sind die internen Server auch von Desktops im Intranet sicher. - nass


Wenn sie einen Mischmasch von Ports blockieren, irgendeinen Kram durchlassen und irgendeinen anderen Kram blockieren (ich liebe Paul Tomblins traurige Geschichte über die Leute, die SSH blockieren und Telnet erlauben), dann haben sie entweder einen sehr merkwürdigen Fall dafür gehen Sie daran, ihren Netzwerk-Perimeter zu sichern, oder ihre Sicherheitspolitik ist von außen zumindest scheinbar schlecht durchdacht. Sie können solche Situationen nicht verstehen, also berechnen Sie ihnen die Rate für Menschen, die Schmerzen haben und machen Sie mit Ihrem Tag weiter.

Wenn sie ALLE Ports blockieren es sei denn, es gibt einen speziellen Geschäftsfall, um den Datenverkehr über diesen Port zuzulassen, und an diesem Punkt wird er sorgfältig verwaltet dann machen sie es, weil sie in ihren Jobs kompetent sind.

Wenn Sie eine sichere Anwendung schreiben, erleichtern Sie anderen Prozessen das Lesen und Schreiben von Informationen nach Belieben oder verfügen Sie über einige sorgfältig dokumentierte APIs, von denen Sie erwarten, dass die Benutzer sie aufrufen und die Sie sorgfältig bereinigen?

Risikomanagement - Wenn Sie das Gefühl haben, dass der Verkehr zu oder von Ihrem Netzwerk ins Internet ein Risiko darstellt, dann versuchen Sie, die Anzahl der Wege zu minimieren, auf die der Verkehr ins Internet gelangen kann, sowohl hinsichtlich der Anzahl der Routen als auch der Anzahl der Methoden. Sie können dann diese ausgewählten "gesegneten" Gateways und Ports überwachen und filtern, um sicherzustellen, dass der Verkehr, der über sie hinwegfliegt, Ihren Erwartungen entspricht.

Dies ist eine "default deny" -Firewall-Richtlinie und wird normalerweise als eine gute Idee angesehen, mit ein paar Vorbehalten, auf die ich eingehen werde. Was es bedeutet, ist alles blockiert, es sei denn, es gibt einen bestimmten Grund, es zu entsperren, und die Vorteile des Grundes überwiegen die Risiken.

Edit: Ich sollte klarstellen, ich spreche nicht nur über die Risiken eines Protokolls erlaubt und ein anderes blockiert, ich spreche über die potenziellen Risiken für die Geschäftstätigkeit von Informationen in das Netzwerk oder unkontrolliert in oder aus dem Netzwerk fließen können Weg.

Jetzt für die Vorbehalte und möglicherweise einen Plan, um Dinge zu befreien:

Es kann nervig sein, wenn Sie aus etwas heraus blockiert sind, in dem Sie sich mit einigen Ihrer Kunden befinden. Allzu oft denken die Verantwortlichen der Firewall, dass es ihre Aufgabe ist, "Nein" zu sagen, anstatt "Hier sind die Risiken, was sind nun die Vorteile, schauen wir, was wir tun können".

Wenn Sie mit jemandem sprechen, der die Netzwerksicherheit für Ihre Kunden verwaltet, sind sie möglicherweise in der Lage, etwas für Sie einzurichten. Wenn Sie ein paar spezifische Systeme an ihrem Ende identifizieren können, auf die Sie Zugriff haben und / oder garantieren können, dass Sie nur von einer bestimmten IP-Adresse aus eine Verbindung herstellen, ist es vielleicht besser, eine Firewall-Ausnahme für SSH-Verbindungen zu erstellen wäre, nur Verbindungen zum gesamten Internet zu eröffnen. Oder sie verfügen über eine VPN-Funktion, mit der Sie durch die Firewall tunneln können.


36
2018-06-14 17:52



+1 für Wenn sie ALLE Ports blockieren, es sei denn, es gibt einen speziellen Geschäftsfall, um Verkehr über diesen Port zu erlauben, an welchem ​​Punkt es sorgfältig verwaltet wird, dann tun sie es, weil sie in ihren Jobs kompetent sind. - cop1152
-1 weil ssh von den Sicherheitsleuten nicht überwacht werden kann, aber Telnet sein kann. Mein Punkt ist, dass es zwar törichte Netzwerksicherheitsrichtlinien gibt, aber die Politik als "zufällig" und "whackjob" zu charakterisieren, ohne die tatsächlichen Geschäftsanforderungen zu verstehen, ist ebenfalls kurz. - pcapademic
Natürlich haben Sie Anspruch auf Ihre Meinung, Eric, und ich werde diese Worte gern ändern, wenn Sie sich abwertend fühlen, aber ich bin ziemlich zuversichtlich, dass eine solche Politik entweder schlecht durchdacht oder ein sehr ungewöhnlicher Fall wäre. - Rob Moir
+1 für "alle Ports" - Ian Boyd


Eine bestimmte große Firma in Rochester NY, die eine Menge Film blockierte ausgehende ssh, wenn ich dort arbeitete, aber erlaubt telnet! Als ich danach fragte, sagten sie, dass ssh ein Sicherheitsloch sei.

Mit anderen Worten, Unternehmen treffen manchmal dumme Entscheidungen, und dann entschuldigen sie sich über die Sicherheit, anstatt ihre Fehler zuzugeben.


17
2018-06-14 17:33



TELNET ist das Sicherheitsloch. Es sollte verboten werden (das ist nur für Leute, um in Zukunft bessere dumme Entscheidungen zu treffen). - nik
Lassen Sie mich hier näher ausführen, was ein Sicherheitsloch ist, ist subjektiv für die zu sichernde Oberfläche. Wenn Sie ein Website-Eigentümer sind und versuchen, eine Verbindung zu Ihrem Server herzustellen, ist TELNET ein Loch. Wenn Sie ein Mitarbeiter eines Finanzunternehmens sind, der versucht, sich mit Ihrem Heimserver zu verbinden (über Leitungen, die von Ihrem Arbeitgeber überwacht werden), ist SSH die Sicherheitslücke für Ihre Arbeitgeber! - nik
Wenn man bedenkt, wie einfach es ist, telnet in beide Richtungen zu spoofen, würde ich sagen, dass Telnet selbst für das Unternehmen ein Sicherheitsloch ist, das es ausgeht. Aber ein Unternehmen, das es erlaubt, aber ssh nicht erlaubt, wird auf keinen Fall intelligente Sicherheitsentscheidungen treffen. - Paul Tomblin
Telnet ist das Geschenk, das nur weitergibt. Es war ok vor 20 Jahren, aber jetzt wünschte ich wirklich, es würde aufhören. - Rob Moir
Es hängt alles von Ihrem POV ab. Sie hatten wahrscheinlich Leute, die über Telnet auf einen Legacy-Prozess zugreifen mussten, dessen Benutzer uns leicht überprüfbar machen. OTOH, du hast keine Ahnung, was mit SSH los ist, Leute könnten Tunnel zu fremden Netzwerken aufbauen und alle möglichen dummen Sachen machen. Telnet sollte in diesen Tagen nicht verwendet werden, aber jeder, der ausgehende SSH zulässt, muss eine neue Karriere anstreben. - duffbeer703


Ich kann die eingehende SSH-Kommunikation blockieren, wenn das Unternehmen externe Anmeldungen ablehnt. Aber das ist das erste Mal, dass ich von einem ausgehenden SSH-Block höre.

Es ist wichtig zu beachten, dass solche Firewalls wahrscheinlich nur den gelegentlichen SSH-Benutzer einschränken. Wenn jemand wirklich SSH außerhalb möchte (was normalerweise ein Server / eine Maschine ist, auf die er außerhalb des Unternehmensnetzwerks erheblichen Zugriff hat), kann er den SSH-Server leicht an einem anderen Port als Port 22 betreiben. Der Block wird leicht umgangen.

Es gibt auch mehrere Public-Domain-Tools, mit denen Sie das Unternehmen über HTTP (Port 80 oder HTTPS-Port 443) beenden und Proxys bereitstellen können, mit denen Sie sich außerhalb von Port 22 verbinden können.


Edit: Ok, warte mal, ich habe eine Idee, warum das eine Politik sein könnte.

Manchmal verwenden Benutzer SSH-Tunnel, um grundlegende Firewalls für Protokolle wie IM und Bittorrent (zum Beispiel) zu umgehen. Diese // könnte eine solche Richtlinie ausgelöst haben. Ich bin jedoch immer noch der Meinung, dass die meisten dieser Tunnelwerkzeuge an anderen Häfen als 22 funktionieren könnten.

Solche ausgehenden Tunnel können nur blockiert werden, indem die SSH-Kommunikation während des Betriebs erkannt wird und diese TCP-Verbindungen (dynamisch) blockiert werden.


5
2018-06-14 17:32



Port 443 ist besser, da bereits angenommen wird, dass er verschlüsselt ist, so dass Proxies bei seltsamen Daten nicht gestört werden. Sie können einfach einen SSH-Server einrichten, der Port 443 überwacht, und von dort aus können Sie überall hingehen. - bandi
An einem Ort, an dem ich arbeitete, benutzte einer meiner Mitarbeiter ein Programm, das den gesamten Netzwerkverkehr über einen SSH-Tunnel durch unseren Web-Proxy auf Port 80 seines Heimcomputers und von dort aus ins Internet tunnelte. Er konnte jedes Protokoll benutzen, das er wollte, aber es sah so aus, als käme es von seinem Haus statt von der Firma. Glücklicherweise wusste er, wie ahnungslos die Netzwerkadministratoren waren, also riskierte er nicht, erwischt zu werden. - Paul Tomblin
Natürlich, wenn Sie erwischt werden, einen dieser ausgeklügelten Tänze durchgemacht zu haben, um die Firewall zu umgehen, können Sie nicht wirklich Unschuld und Unwissenheit plädieren. Etwas schwierig, all das zu tun und zu sagen: "Tut mir leid, Boss, es hat einfach funktioniert", also war mir nicht klar, dass ich irgendetwas falsch gemacht habe. - Rob Moir


Es ist wahrscheinlich ein regulatorisches / Compliance-Problem. Ihr Arbeitgeber möchte die gesamte Kommunikation lesen / archivieren können. Dies ist sehr oft eine Anforderung in Branchen wie dem Bankwesen.


4
2018-06-14 17:11



Bedeutet das nicht, dass sie auch HTTPS blockieren müssen? - runako
Nein, sie aktivieren die SSL-Prüfung. Dieser Prozess entschlüsselt HTTPS und leitet dann eingehende / ausgehende Pakete erneut ein, indem ein vertrauenswürdiges Zertifikat auf allen Arbeitsstationen nach Gruppenrichtlinien eingefügt wird. Auf diese Weise können sie das gleiche wie bei HTTP filtern / scannen. Die Bankenbranche ist eine der drakonischsten Umgebungen für die Sperrung von Netzwerken. - spoulson


Es gibt zwei Hauptgründe, den ausgehenden Port 22 meiner Meinung nach zu blockieren.

Erstens, wie bereits erwähnt, kann die SSH-Portweiterleitung als Proxy oder Umgehung um andere Ports und Dienste verwendet werden, um IT-Richtlinien zu vermeiden, die angeben, dass solcher Datenverkehr nicht erlaubt ist.

Zweitens werden viele Malware / Botnets Port 22 verwenden, da es oft als "sicher" angesehen wird und daher erlaubt ist. Sie können dann Prozesse über diesen Port starten, und infizierte Computer starten möglicherweise auch SSH-Brute-Force-Angriffe.


4
2018-06-15 03:38





In den meisten Fällen werden alle ausgehenden Verbindungen blockiert, es sei denn, sie werden benötigt, und bis Sie versucht haben, hat niemand beantragt, dass Port 22 für ausgehende Verbindungen verfügbar ist (nur 80, 433 usw.). Wenn dies der Fall ist, kann die Lösung so einfach sein wie die Kontaktaufnahme mit IS / IT und ihnen sagen, warum Sie eine Ausnahme hinzufügen müssen, damit Ihre Station ausgehende SSH-Verbindungen zu bestimmten Hosts oder allgemein herstellen kann.

Manchmal ist es ein Problem, dass Leute die Möglichkeit nutzen, SSH als Möglichkeit zu verwenden, Proxies einzurichten (über Port-Weiterleitung über den Link), um andere Kontrollen zu umgehen. Dies kann in einigen regulierten Branchen (z. B. Banken) ein sehr wichtiger Faktor sein, wenn die gesamte Kommunikation aus rechtlichen Gründen überwacht / protokolliert werden muss (Entmutigung von Insiderhandel, Erkennung / Sperrung von Unternehmensdaten oder persönlichen Daten usw.) oder Unternehmen dort ist eine große Angst vor internen Lecks, die Geschäftsgeheimnisse aus Versehen oder sonstwie verschenken. In diesen Fällen kann die Verwendung Ihrer 3G-Verbindung (oder anderer Techniken wie das Versuchen, SSH über HTTP zu tunneln) zur Umgehung der Beschränkungen eine Vertragsverletzung und somit eine Entlassung (oder, schlimmer noch, eine Straftat) darstellen erhalte deine Aktion, bevor du es versuchst.

Ein anderer Grund könnte sein, den ausgehenden Fußabdruck (auf interne Dienste, die für Hosts innerhalb der Unternehmensfirewalls und für die Welt allgemein zugänglich sind) zu reduzieren, sollte sich etwas Unerwartetes auf einem von einem Unternehmen betriebenen Rechner installieren. Wenn an Port 22 keine SSH-Verbindungen möglich sind, werden viele einfachere Hacks blockiert, die Brute-Force-SSH-Logins als eine ihrer Ausbreitungsrouten verwenden. In diesem Fall können Sie erneut eine Ausnahme anfordern, damit Ihr Gerät SSH-Verbindungen herstellen kann, wenn diese Verbindungen für die Personen, die die Firewall steuern, gerechtfertigt sind.


3
2018-06-14 17:33



Ja, es ist sehr wahrscheinlich, dass alle ausgehenden Dienste, die noch nicht verwendet werden müssen, blockiert wurden (standardmäßig). - nik
Das Blockieren von TCP / 22 verhindert jedoch nicht die sichere ausgehende Kommunikation (die an jedem Port vorgenommen werden kann, solange der Benutzer einen Listener außerhalb hat, was heutzutage nicht schwierig ist). - nik
Wenn das interne Netzwerk für die SSH-Kommunikation verwendet wird, funktioniert das Blockieren nicht und wenn keine SSH-Kommunikation erforderlich ist, gibt es normalerweise keine anfälligen SSH-Abhörgeräte innerhalb des Netzwerks. Und typische Wurmausbreitung versucht nicht, SSH brutal zu forcieren (wenn Sie sich Sorgen um diesen Blick machen) en.wikipedia.org/wiki/SSHBlock) Es wird wahrscheinlich tcp / 445 mit Ihren Windows-Rechnern versuchen. - nik


Ihre Kunden haben wahrscheinlich nicht-triviale Daten, die sie behalten möchten. Outbound SSH ist eine sehr schlechte Sache, um für ein ganzes Netzwerk geöffnet zu haben. Es ist ziemlich trivial, Proxys zu umgehen, sensible Daten zu verlieren und generell unausstehlich zu sein.

IMO sollte alles, was durch das Netzwerk / Internet-Perimeter geht, verstanden und kontrolliert werden. Wenn eine Gruppe von Entwicklern über ssh Zugriff auf Server bei einem Hosting-Provider benötigt, ist das in Ordnung - aber es muss auch dokumentiert werden. Im Allgemeinen an den Orten, an denen ich gearbeitet habe, richten wir dedizierte Site-to-Site-VPN-Verbindungen zu Standorten außerhalb unseres Netzwerks ein (im Wesentlichen Erweiterung unseres internen Netzwerks) und vermeiden Client-Protokolle wie SSH über das Internet.


3
2018-06-15 00:24



Danke für die Antwort. Wie gehen Sie mit dedizierten VPNs zu Websites außerhalb Ihrer Kontrolle um (z. B. EC2, Webhosts usw.)? Sind diese Anbieter in der Regel bereit, dieses benutzerdefinierte Setup für Sie zu übernehmen, oder müssen Sie in der Regel große geschäftliche Mindestanforderungen erfüllen, um sie dazu zu bringen? - runako
Machen Sie sich auch Sorgen, dass Sie Leute dazu zwingen, Off-Network-3G-Karten zu verwenden, um ihre Arbeit zu erledigen? Meiner Erfahrung nach führen gesperrte Netzwerke unweigerlich zu vielen 3G-Karten und anderen versteckten Umgehungen, weil die Leute ihre Arbeit nicht in der vorgegebenen Zeit erledigen können, wenn sie darauf warten müssen, dass die IT ihre Nutzung genehmigt, wenn überhaupt jemand weiß anrufen, um eine Ausnahme zu erhalten. (Ein riesiger Fall beinhaltete einen Mailserver, der eingehende Anhänge aus dem Internet nicht akzeptieren würde. Huch!) Ich wäre neugierig, wie Sie dieses Gleichgewicht verwalten. - runako
Fügen Sie den Kommentar über Port-Weiterleitung über ssh hinzu, und ich denke, das ist die richtige Antwort auf die Frage. ssh kann ein gutes Protokoll sein, um über einen Proxy-Server zu ermöglichen. Die Administratoren können überwachen, was passiert, können die Portweiterleitung blockieren, und die Benutzer können sie für Remote Shell- und Remote Copy-Dienste verwenden. - pcapademic
Wir sind groß genug, dass wahrscheinlich 90% unserer Dienste keine ausgehende Administration benötigen. Typischerweise machen wir einen dedizierten VPN-Tunnel zu einer Anforderung in einer RFP, die dazu neigt, Anbieter zu eliminieren, die diese nicht bereitstellen oder nicht bereitstellen können. Aus diesem Grund glaube ich, dass wir eine minimale Anzahl von Leuten haben, die 3G und ähnliche Workarounds benutzen. - duffbeer703
Außerdem können Sie nicht zulassen, dass die Sicherheitsleute den Zugriff diktieren. Sie lassen die Anwendung unterstützen und vernetzen die Mitarbeiter bei der Sicherheitsüberprüfung zu einer akzeptablen Lösung. Entwickeln Sie diese Lösung früh im Prozess, nicht am Morgen, an dem Sie in die Produktion gehen müssen. Das hält Sie jedoch von den Verzögerungen bei DMV-Anfragen zurück. - duffbeer703


Weil SSH als VPN verwendet werden kann. Es ist verschlüsselt, sodass Netzwerkadministratoren buchstäblich keine Ahnung haben, was ihr Netzwerk verlässt (Speicherauszug der Kundendatenbank usw.). Ich habe dieses Zeug in meiner monatlichen Kolumne behandelt "Geheimtunnel". Die Kosten für einige 3G-Internet sind eine Menge weniger, als sich um verschlüsselte Protokolle kümmern zu müssen, die Ihre Daten aus dem Netzwerk kanalisieren. Außerdem können Sie, wenn Sie den ausgehenden Port 22 und die Verkehrsinspektion standardmäßig blockieren, SSH auf Nicht-Standard-Ports finden und so Personen finden, die die Sicherheitsrichtlinien verletzen.


2
2018-06-15 01:32



Danke für die Einsicht. Es klingt, als würdest du 3G nicht als einen geheimen Tunnel betrachten. Könnten Sie etwas Licht in die Frage bringen, warum es sinnvoller ist, wenn Menschen bei der Kommunikation mit dem Internet völlig außer Netz bleiben? Es scheint so, als würdest du gefälschte Geräte lieber als eine offene 22 für Outbound bevorzugen. - runako
"... Sie können SSH auf Nicht-Standard-Ports leicht finden ..." Wirklich? Wie suchen Sie nach SSL / TLS-Verhandlungen über andere Ports als 443? Sehr neugierig. - Dscoduc
Ja, du kannst SSH-Verkehr erkennen, Google: snort / ssh / detection / content / rules, weiß nicht, über welche anderen IDS's, aber wenn Snort es kann, müssten sie ziemlich kaputt sein, um es auch nicht zu tun. - Kurt