Ich bin Programmierer und habe für einige Clients gearbeitet, deren Netzwerke ausgehende Verbindungen an Port 22 blockieren. Angesichts der Tatsache, dass Programmierer häufig Port 22 für ssh verwenden müssen, scheint dies ein kontraproduktiver Vorgang zu sein. Bestenfalls zwingt es die Programmierer, dem Unternehmen 3G-Internet in Rechnung zu stellen. Im schlimmsten Fall bedeutet dies, dass sie ihre Arbeit nicht effektiv erledigen können.
Könnte ein erfahrener Systemadministrator in Anbetracht der Schwierigkeiten, die sich daraus ergeben, den gewünschten Nutzen erläutern, der einer Aktion zum Verlieren und Verlieren gleichkommt?
Antworten:
Ich sehe nicht, dass jemand das spezifische Risiko der SSH-Portweiterleitung im Detail dargelegt hat.
Wenn Sie sich in einer Firewall befinden und ausgehenden SSH-Zugriff auf einen Computer im öffentlichen Internet haben, können Sie SSH auf dieses öffentliche System ausführen und dabei einen Tunnel erstellen, damit Benutzer im öffentlichen Internet vollständig auf ein System in Ihrem Netzwerk zugreifen können Umgehen der Firewall.
Wenn Fred Ihr Desktop ist und Barney ein wichtiger Server in Ihrem Unternehmen ist und Wilma öffentlich ist und (auf Fred) ausgeführt wird:
SSH-R *: 9000: Barney: 22 Wilma
Wenn Sie sich einloggen, kann ein Angreifer ssh auf wilma portieren und mit barneys SSH-Daemon sprechen.
Ihre Firewall sieht es nie als eingehende Verbindung an, da die Daten über eine Verbindung übertragen werden, die ursprünglich in ausgehender Richtung hergestellt wurde.
Es ist ärgerlich, aber eine absolut legitime Netzwerksicherheitsrichtlinie.
quelle
iodine
), wenn HTTPS und SSH nicht verfügbar sind. Aber es ist sehr langsam.Wenn sie ein Durcheinander von Ports blockieren, ein paar Sachen durchlassen und ein paar andere Sachen nach dem Zufallsprinzip blockieren (ich liebe Paul Tomblins traurige Geschichte über die Leute, die SSH blockieren und Telnet erlauben), dann haben sie entweder einen sehr seltsamen Randfall dafür, wie sie es tun Sichern Sie ihren Netzwerk-Perimeter, oder ihre Sicherheitsrichtlinien sind zumindest von außen anscheinend schlecht durchdacht. In solchen Situationen kann man keinen Sinn machen. Berechnen Sie ihnen einfach den Tarif für Menschen, die Schmerzen haben und Ihren Tag fortsetzen.
Wenn sie ALLE Ports blockieren, es sei denn, es gibt einen bestimmten Geschäftsfall, um Datenverkehr über diesen Port zuzulassen. Dann wird er sorgfältig verwaltet .
Wenn Sie versuchen, eine sichere Anwendung zu schreiben, erleichtern Sie es anderen Prozessen, Informationen nach Belieben zu lesen und zu schreiben, oder verfügen Sie über einige sorgfältig dokumentierte APIs, von denen Sie erwarten, dass sie von anderen aufgerufen werden und die Sie sorgfältig bereinigen?
Risikomanagement - Wenn Sie der Meinung sind, dass der Verkehr von oder zu Ihrem Netzwerk ins Internet ein Risiko darstellt, sollten Sie die Art und Weise, in der der Verkehr das Internet erreichen kann, minimieren, sowohl in Bezug auf die Anzahl der Routen als auch auf die Anzahl der Methoden. Anschließend können Sie diese ausgewählten "gesegneten" Gateways und Ports überwachen und filtern, um sicherzustellen, dass der über sie fließende Datenverkehr Ihren Erwartungen entspricht.
Dies ist eine "Standard-Ablehnungs" -Firewall-Richtlinie und wird normalerweise als gute Idee angesehen, mit ein paar Einschränkungen, auf die ich noch eingehen werde. Dies bedeutet, dass alles blockiert ist, es sei denn, es gibt einen bestimmten Grund, es zu entsperren, und die Vorteile des Grundes überwiegen die Risiken.
Bearbeiten: Ich sollte klarstellen, ich spreche nicht nur über das Risiko, dass ein Protokoll zugelassen und ein anderes blockiert wird, sondern über das potenzielle Risiko für das Geschäft, dass Informationen in einem unkontrollierten Modus in das Netzwerk oder aus dem Netzwerk fließen dürfen Weg.
Nun zu den Vorbehalten und möglicherweise einem Plan zur Befreiung:
Es kann ärgerlich sein, wenn Sie von etwas ausgeschlossen sind. Dies ist die Position, in der Sie sich bei einigen Ihrer Kunden befinden. Nur allzu oft denken die Verantwortlichen der Firewall, es sei ihre Aufgabe, "Nein" zu sagen, anstatt "Hier sind die Risiken, was sind nun die Vorteile, sehen wir, was wir tun können".
Wenn Sie mit Personen sprechen, die die Netzwerksicherheit für Ihre Kunden verwalten, können diese möglicherweise etwas für Sie einrichten. Wenn Sie einige bestimmte Systeme identifizieren können, auf die Sie Zugriff benötigen, und / oder sicherstellen, dass Sie nur über eine bestimmte IP-Adresse eine Verbindung herstellen, ist es möglicherweise sehr viel einfacher, eine Firewall-Ausnahme für SSH-Verbindungen für diese bestimmten Bedingungen zu erstellen, als für sie wäre, nur Verbindungen zum gesamten Internet zu öffnen. Oder sie verfügen über eine VPN-Funktion, mit der Sie durch die Firewall tunneln können.
quelle
Eine bestimmte große Firma in Rochester, NY, die früher viel Film gedreht hat, hat ausgehenden ssh blockiert, als ich dort gearbeitet habe, aber Telnet erlaubt ! Als ich danach fragte, sagten sie, dass ssh eine Sicherheitslücke sei.
Mit anderen Worten, Unternehmen treffen manchmal dumme Entscheidungen und finden dann blöde Ausreden für die Sicherheit, anstatt ihre Fehler zuzugeben.
quelle
Ich kann verstehen, dass eingehende SSH-Kommunikation blockiert wird, wenn das Unternehmen externe Anmeldungen nicht zulässt. Dies ist jedoch das erste Mal, dass ich von einem ausgehenden SSH-Block höre.
Zu beachten ist, dass eine solche Firewall wahrscheinlich nur den gelegentlichen SSH-Benutzer einschränkt. Wenn jemand wirklich eine externe SSH-Verbindung herstellen möchte (normalerweise zu einem Server / Computer, auf den er außerhalb des Unternehmensnetzwerks wesentlichen Zugriff hat), kann er den SSH-Server problemlos an einem anderen Port als 22 ausführen (z. B. Port 80). Der Block wird leicht umgangen.
Es gibt auch mehrere gemeinfreie Tools, mit denen Sie das Unternehmen über HTTP verlassen können (Port 80 oder HTTPS-Port 443) und Proxys bereitstellen können, mit denen Sie eine Verbindung zu Port 22 außerhalb herstellen können.
Bearbeiten: Ok, warte eine Sekunde, ich habe eine Idee, warum dies eine Richtlinie sein könnte.
Manchmal verwenden Benutzer SSH-Tunnel, um grundlegende ausgehende Firewalls für Protokolle wie IM und Bittorrent (zum Beispiel) zu umgehen. Dies // könnte // eine solche Richtlinie ausgelöst haben. Ich bin jedoch immer noch der Meinung, dass die meisten dieser Tunnel-Tools auch mit anderen Ports als 22 arbeiten können.
Solche ausgehenden Tunnel können nur blockiert werden, indem die SSH-Kommunikation im laufenden Betrieb erkannt und diese TCP-Verbindungen (dynamisch) blockiert werden.
quelle
Es ist wahrscheinlich ein regulatorisches / Compliance-Problem. Ihr Arbeitgeber möchte die gesamte Kommunikation lesen / archivieren können. Dies ist in Branchen wie dem Bankwesen sehr häufig eine Anforderung.
quelle
Meiner Meinung nach gibt es zwei Hauptgründe, ausgehenden Port 22 zu blockieren.
Erstens, wie bereits erwähnt, kann die SSH-Portweiterleitung als Proxy oder Bypass für andere Ports und Dienste verwendet werden, um zu vermeiden, dass die IT-Richtlinie angibt, dass ein solcher Datenverkehr nicht zulässig ist.
Zweitens verwenden viele Malware / Botnets Port 22, da dieser häufig als "sicher" eingestuft wird und daher zulässig ist. Sie können dann Prozesse über diesen Port starten, und infizierte Computer können auch SSH-Brute-Force-Angriffe starten.
quelle
In den meisten Fällen werden alle ausgehenden Verbindungen blockiert, sofern dies nicht erforderlich ist, und bis Sie versucht haben, zu versuchen, dass Port 22 für ausgehende Verbindungen verfügbar ist (nur 80, 433 usw.). In diesem Fall ist die Lösung möglicherweise so einfach, dass Sie sich an IS / IT wenden und erklären, warum Sie eine Ausnahme hinzufügen müssen, damit Ihre Station ausgehende SSH-Verbindungen zu bestimmten Hosts oder im Allgemeinen herstellen kann.
Manchmal besteht die Gefahr, dass Benutzer die Funktion verwenden, um mithilfe von SSH Proxys einzurichten (über die Portweiterleitung über die Verbindung), um andere Steuerelemente zu umgehen. Dies kann ein sehr wichtiger Faktor in einigen regulierten Branchen (z. B. Banken) sein, in denen die gesamte Kommunikation aus rechtlichen Gründen überwacht / protokolliert werden muss (Verhinderung des Insiderhandels, Aufdeckung / Blockierung der Übertragung von Unternehmens- oder persönlichen Daten usw.) oder in Unternehmen, in denen dies der Fall ist ist eine große Angst vor internen Lecks, die versehentlich oder auf andere Weise Geschäftsgeheimnisse preisgeben. In diesen Fällen kann die Verwendung Ihres 3G-Links (oder anderer Techniken, z. B. der Versuch, SSH über HTTP zu tunneln) zur Umgehung der Einschränkungen einen Verstoß gegen Ihren Vertrag darstellen Holen Sie sich Ihre Aktion vereinbart, bevor Sie es versuchen.
Ein weiterer Grund könnte darin bestehen, den ausgehenden Speicherbedarf (für interne Dienste, auf die Hosts innerhalb der Firewalls des Unternehmens und die Welt im Allgemeinen zugreifen können) zu verringern, falls es nicht gelingt, sich selbst auf einem vom Unternehmen betriebenen Computer zu installieren. Wenn an Port 22 keine SSH-Verbindungen möglich sind, werden viele einfachere Hacks, die versuchen, Brute-Force-SSH-Anmeldungen zu verwenden, als einer ihrer Übertragungswege blockiert. In diesem Fall können Sie möglicherweise erneut nur das Hinzufügen einer Ausnahme beantragen, damit Ihr Computer SSH-Verbindungen herstellen kann, wenn diese Verbindungen für die Personen gerechtfertigt sind, die die Kontrolle über die Firewall (s) haben.
quelle
Ihre Kunden sind wahrscheinlich im Besitz von nicht trivialen Daten, die sie behalten möchten. Outbound-SSH ist eine wirklich schlechte Sache, um für ein ganzes Netzwerk offen zu sein. Es ist ziemlich trivial, Proxys zu umgehen, sensible Daten zu verlieren und im Allgemeinen unangenehm zu sein.
IMO sollte alles, was durch das Netzwerk / Internet läuft, verstanden und kontrollierbar sein. Wenn eine Gruppe von Entwicklern über ssh auf Server eines Hosting-Anbieters zugreifen muss, ist das in Ordnung - muss aber auch dokumentiert werden. Im Allgemeinen richten wir an den Orten, an denen ich gearbeitet habe, dedizierte Standort-zu-Standort-VPN-Verbindungen zu Standorten außerhalb unseres Netzwerks ein (was unser internes Netzwerk wesentlich erweitert) und vermeiden Client-Protokolle wie SSH über das Internet.
quelle
Weil SSH als VPN genutzt werden kann. Es ist verschlüsselt, sodass Netzwerkadministratoren buchstäblich keine Ahnung haben, was ihr Netzwerk verlässt (Dump der Kundendatenbank usw.). Ich habe dieses Thema gerade in meiner monatlichen Kolumne "Secret Tunnels" behandelt . Die Kosten für ein 3G-Internet sind weitaus geringer, als sich Gedanken über verschlüsselte Protokolle zu machen, die Ihre Daten aus dem Netzwerk leiten. Wenn Sie standardmäßig ausgehenden Port 22 blockieren und die Datenverkehrskontrolle durchführen, können Sie SSH problemlos an nicht standardmäßigen Ports finden und auf diese Weise Personen finden, die gegen Sicherheitsrichtlinien verstoßen.
quelle
Ich kenne ein paar Leute, die die Fähigkeiten von SSH missbrauchen, um einen SOCKS-Proxy über SSH zu installieren und dadurch einige Site-Einschränkungen zu umgehen.
Oder sogar eine einfache Portweiterleitung (
ssh -L ....
), wenn der Port tatsächlich aufgrund von Site-Einschränkungen gesperrt ist, gehe ich zu:Bring sie zu einem Tisch und lass sie herausfinden, warum dies blockiert ist. Natürlich müssen Sie gute Gründe haben, warum Sie Zugriff auf einen externen SSH-Port benötigen, um ein internes Produkt zu entwickeln (internes Wesen: Warum benötigen Sie Zugriff auf boxA.example.com, wenn Sie für eine Firma arbeiten snakeoil.invalid)
Aber ich habe noch keine Firma gesehen, die ausgehende SSH blockiert :)
quelle
Die offensichtlichen Antworten sind alle angegeben worden. Es handelt sich um ein verschlüsseltes Protokoll, mit dem Richtlinien umgangen werden können, indem Tunnel erstellt werden (dies ist eine hervorragende Möglichkeit, um die Webfilter des Unternehmens zu umgehen) sowie Bedrohungen durch nicht autorisierte Kommunikationskanäle (Reverse Proxy).
Es ist wahr, Telnet sollte in jedem modernen Netzwerk zerstört werden. Aber ich kann sehen, dass ich Telnet aus dem Netzwerk erlaube, während ich ssh verbiete. Telnet ist weniger fähig als ssh und ich kann den Stream immer in Echtzeit über meine Sniffer überwachen. Was kümmert es mich, wenn ich keine Telnet-Geräte in meinem Kernnetzwerk habe und einige Benutzer Telnet-Verbindungen herstellen möchten? Ich kann es sehen und bestätigen, dass es keine Bedrohung ist.
All dies hängt natürlich von der Idee ab, dass die Standardrichtlinie darin besteht, den gesamten Austritt zu blockieren und nur bestimmte Protokolle zuzulassen. Bonuspunkte, wenn Sie sie vertreten, bevor die Kante erreicht ist.
quelle
Es geht nicht darum, Port 22 speziell zu blockieren, da Administratoren etwas gegen SSH haben, sondern nur darum, die Ports zu öffnen, von denen sie wissen, dass sie offen sind. Wenn Ihrem Administrator nicht mitgeteilt wurde, dass SSH geöffnet sein muss, wird er nach demselben Prinzip blockiert, das auch für das Deaktivieren nicht verwendeter Dienste auf einem Server gilt.
quelle
Es ist klar, dass ein ausgehender TCP / 22-Block leicht umgangen werden kann, es sei denn, die Netzwerkadministratoren haben ernsthafte Anstrengungen unternommen, um den SSH-Verkehr in bestimmten Fällen zu blockieren . Darüber hinaus müssen die Asset-Administratoren in der Lage sein, eine ausreichende Bestandsaufnahme durchzuführen, um 3G-Modems und verdächtige IP-Adressen auf zweiten NICs abzufangen. Wir haben einen ClearWire-Dienst in unserer Region, sodass wir sogar WiMax als End-Run-Option für unsere Netzwerksicherheit haben.
Wir sind keine Institution, die sich hauptsächlich mit Informationslecks befasst. Wenn wir es jedoch wären, müssten wir eine drakonische Netzwerksicherheitsrichtlinie mit einer drakonischen Asset-Richtlinie und einer Prüfung kombinieren. Nach meinem besten Wissen gibt es kein Standard-Sicherheitspaket, das die Netzwerkbuchse eines Assets abschaltet, das mit einer externen Netzwerkverbindung ausgestattet ist. Das könnte kommen.
In Ermangelung eines solchen Pakets ist der Inventarisierungsprozess eine der besten Möglichkeiten, um eine endgelaufene Netzwerkverbindung wie 3G oder WiMax zu ermitteln.
Und schließlich blockiert das blinde Blockieren von TCP / 22 nur die wenigsten Endbenutzer, die beabsichtigen, die AUP für ihr Arbeitsnetzwerk zu verletzen.
quelle
Ich habe gesehen, wie 22 blockiert wurden, als sie herausfanden, dass die Leute den HTTP-Verkehr über 22 leiteten. Es war ein Show Stopper für diejenigen von uns, die es brauchten, aber die Organisation hat sich behauptet.
quelle
Die meisten größeren Organisationen werden alles blockieren und nur HTTP / HTTPS-Zugriff über einen Proxyserver zulassen.
Es würde mich sehr überraschen, von Unternehmen zu hören, die direkte externe Verbindungen von Desktops oder Servern zulassen, es sei denn, es besteht ein spezifischer Bedarf.
quelle
Nichts hindert Sie daran, Ihren Remote-SSHD an Port 80 auszuführen. Sowohl SSH als auch SSHD haben die Option -p, um den Port festzulegen.
Wenn Ihre Administratoren klug sind, sollten sie natürlich auf SSH-Verkehr achten, nicht nur auf Port 22-Verkehr. Es klingt also so, als hätten Sie ein politisches Problem, kein technisches Problem.
Wie andere bereits betonten, können verschlüsselte Protokolle bei Leuten, die sich um verschiedene Compliance-Probleme sorgen müssen, Sodbrennen verursachen.
quelle