it-swarm.com.de

Warum Port 22 Outbound blockieren?

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 kontraproduktives Verfahren 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 angesichts der damit verbundenen Schwierigkeiten den gewünschten Nutzen für eine Lose-Lose-Aktion erklären?

64
runako

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 Personen 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 läuft (auf fred):

ssh -R *: 9000: barney: 22 wilma

wenn Sie sich anmelden, kann ein Angreifer ssh an Port 9000 auf Wilma senden und mit dem SSH-Daemon von Barney sprechen.

Ihre Firewall sieht es nie als eingehende Verbindung, da die Daten über eine Verbindung übertragen werden, die ursprünglich in ausgehender Richtung hergestellt wurde.

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

77
James F

Wenn sie eine Mischung aus Ports blockieren, einige Dinge durchlassen und andere Dinge nach dem Zufallsprinzip blockieren (ich liebe Paul Tomblins traurige Geschichte über die Leute, die SSH blockieren und Telnet zulassen), dann haben sie entweder einen sehr seltsamen Edge-Fall dafür, wie sie Gehen Sie daran, ihren Netzwerkumfang zu sichern, oder ihre Sicherheitsrichtlinien sind zumindest von außen anscheinend schlecht durchdacht. Sie können solche Situationen nicht verstehen, also berechnen Sie ihnen einfach den laufenden Preis für Menschen, die Schmerzen haben und Ihren Tag fortsetzen.

Wenn sie ALLE Ports blockieren es sei denn, es gibt einen bestimmten Business Case für das Zulassen von Datenverkehr über diesen Port, an diesem Punkt wird er sorgfältig verwaltet dann tun sie dies, weil sie für ihre Arbeit kompetent sind.

Wenn Sie versuchen, eine sichere Anwendung zu schreiben, erleichtern Sie anderen Prozessen das Lesen und Schreiben von Informationen nach Belieben, oder verfügen Sie über einige sorgfältig dokumentierte APIs, die von den Benutzern aufgerufen werden sollen und die Sie sorgfältig bereinigen?

Risikomanagement - Wenn Sie der Meinung sind, dass der Datenverkehr zu oder von Ihrem Netzwerk ins Internet ein Risiko darstellt, versuchen Sie, die Anzahl der Wege, die der Datenverkehr zum Internet erreichen kann, sowohl hinsichtlich der Anzahl der Routen als auch der Anzahl der Methoden zu minimieren. Sie können dann diese ausgewählten "gesegneten" Gateways und Ports überwachen und filtern, um sicherzustellen, dass der über sie fließende Verkehr Ihren Erwartungen entspricht.

Dies ist eine "Standardverweigerungs" -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 die Risiken, dass ein Protokoll erlaubt und ein anderes blockiert wird, ich spreche über die potenziellen Risiken für das Geschäft, wenn Informationen unkontrolliert 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. Allzu oft denken die Verantwortlichen der Firewall, es sei ihre Aufgabe, "Nein" zu sagen, anstatt "Hier sind die Risiken, was sind nun die Vorteile, mal sehen, was wir tun können".

Wenn Sie mit jemandem sprechen, der die Netzwerksicherheit für Ihre Kunden verwaltet, können diese möglicherweise etwas für Sie einrichten. Wenn Sie einige bestimmte Systeme an ihrem Ende identifizieren können, auf die Sie Zugriff benötigen, und/oder garantieren, dass Sie nur von einer bestimmten IP-Adresse aus eine Verbindung herstellen, ist es möglicherweise viel glücklicher, eine Firewall-Ausnahme für SSH-Verbindungen für diese bestimmten Bedingungen zu erstellen, als sie wäre, einfach Verbindungen zum gesamten Internet zu öffnen. Oder sie verfügen über eine VPN-Funktion, mit der Sie durch die Firewall tunneln können.

38
Rob Moir

Eine bestimmte große Firma in Rochester, NY, die früher viel Film gemacht hat, hat ausgehende SSH blockiert, als ich dort gearbeitet habe, aber erlaubt Telnet! Als ich danach fragte, sagten sie, dass ssh eine Sicherheitslücke sei.

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

18
Paul Tomblin

Ich kann verstehen, wie 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.

Es ist wichtig zu beachten, dass eine solche Firewall wahrscheinlich nur den gelegentlichen SSH-Benutzer einschränkt. Wenn jemand wirklich außerhalb von SSH SSH ausführen möchte (normalerweise zu einem Server/Computer, auf den er außerhalb des Unternehmensnetzwerks erheblichen Zugriff hat), kann er den SSH-Server problemlos an einem anderen Port als 22 (z. B. Port 80) ausführen. Der Block wird leicht umgangen.

Es gibt auch mehrere gemeinfreie Tools, mit denen Sie das Unternehmen über HTTP (Port 80 oder HTTPS-Port 443) verlassen und Proxys bereitstellen können, mit denen Sie eine Verbindung zu Port 22 außerhalb herstellen können.


Edit: 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 an anderen Ports als 22 funktionieren könnten.

Die einzige Möglichkeit, solche ausgehenden Tunnel zu blockieren, besteht darin, die SSH-Kommunikation im laufenden Betrieb zu erkennen und diese TCP -Verbindungen) (dynamisch) zu blockieren.

6
nik

Meiner Meinung nach gibt es zwei Hauptgründe, um den ausgehenden Port 22 zu blockieren.

Erstens kann die SSH-Portweiterleitung, wie bereits erwähnt, als Proxy oder Bypass für andere Ports und Dienste verwendet werden, um zu vermeiden, dass IT-Richtlinien besagen, dass ein solcher Datenverkehr nicht zulässig ist.

Zweitens verwenden viele Malware/Botnets Port 22, da dieser häufig als "sicher" angesehen 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.

4
jtimberman

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

4
Joe

Ihre Kunden verfügen wahrscheinlich über nicht triviale 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 unausstehlich zu sein.

IMO, alles, was durch den Netzwerk-/Internet-Perimeter geht, sollte verstanden und kontrollierbar sein. Wenn eine Gruppe von Entwicklern über ssh Zugriff auf Server eines Hosting-Anbieters benötigt, ist das in Ordnung - aber es muss auch dokumentiert werden. Im Allgemeinen stellen wir an den Orten, an denen ich gearbeitet habe, dedizierte VPN-Verbindungen von Standort zu Standort zu Standorten außerhalb unseres Netzwerks her (was im Wesentlichen unser internes Netzwerk erweitert) und vermeiden Client-Protokolle wie SSH über das Internet.

3
duffbeer703

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

Manchmal besteht die Sorge, 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 Unternehmensdaten oder personenbezogenen 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 Ihrer 3G-Verbindung (oder anderer Techniken wie der Versuch, SSH über HTTP zu tunneln) zur Umgehung der Beschränkungen einen Verstoß gegen Ihren Vertrag darstellen und daher eine Entlassung (oder, schlimmer noch, eine Straftat) sein Lassen Sie Ihre Aktion vereinbaren, bevor Sie es versuchen.

Ein weiterer Grund könnte darin bestehen, den ausgehenden Footprint (für interne Dienste, auf die Hosts innerhalb der Firewalls des Unternehmens und für die ganze Welt zugreifen können) zu reduzieren, falls es etwas Unangenehmes schafft, sich auf einem vom Unternehmen betriebenen Computer zu installieren. Wenn an Port 22 keine SSH-Verbindungen möglich sind, werden viele einfachere Hacks blockiert, die versuchen, Brute-Force-SSH-Anmeldungen als eine ihrer Weitergabewege zu verwenden. In diesem Fall können Sie möglicherweise erneut nur das Hinzufügen einer Ausnahme anfordern, damit Ihr Computer SSH-Verbindungen herstellen kann, wenn diese Verbindungen für die Personen gerechtfertigt sind, die die Firewall (s) kontrollieren.

3
David Spillett

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 gerade in meiner monatlichen Kolumne behandelt "Secret Tunnels" . Die Kosten für ein 3G-Internet sind um einiges geringer als die Kosten für verschlüsselte Protokolle, die Ihre Daten aus dem Netzwerk leiten. Wenn Sie den ausgehenden Port 22 standardmäßig blockieren und den Datenverkehr überprüfen, können Sie SSH problemlos an nicht standardmäßigen Ports finden und somit Personen finden, die gegen Sicherheitsrichtlinien verstoßen.

2
Kurt

Die offensichtlichen Antworten wurden alle angegeben. Es handelt sich um ein verschlüsseltes Protokoll, mit dem Richtlinien durch die Erstellung von Tunneln (dies ist ein guter Weg, um die Webfilter des Unternehmens zu umgehen) sowie die Bedrohung durch nicht autorisierte Kommunikationskanäle (Reverse Proxy) umgangen werden können.

Es ist wahr, Telnet sollte in jedem modernen Netzwerk zerstört werden. Aber ich kann sehen, dass Telnet aus dem Netzwerk zugelassen wird, während ssh verboten wird. 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 ein Benutzer Telnet ausführen möchte? Ich kann es sehen und überprüfen, ob 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 vor dem Treffer am Rand vertreten.

1
dr.pooter

Ich kenne ein paar Leute, die die Fähigkeiten von SSH missbrauchen, um einen SOCKS-Proxy über SSH zu installieren, wodurch einige Site-Einschränkungen umgangen werden.

Oder sogar eine einfache Portweiterleitung (ssh -L ....), wenn der Port aufgrund von Site-Einschränkungen tatsächlich blockiert ist, gehe ich zu:

  • der lokale Administrator nd
  • ihr Projektmanager

bringen Sie sie an einen Tisch und lassen Sie sie den Grund erläutern, warum dies blockiert ist. Natürlich müssen Sie gute Gründe haben, warum Sie Zugriff auf einen externen SSH-Port für die Entwicklung eines internen Produkts benötigen (internes Wesen: Warum benötigen Sie Zugriff auf boxA.example.com, wenn Sie für ein Unternehmen arbeiten? Snakeoil.invalid)

Aber ich habe noch keine Firma gesehen, die ausgehende SSH blockiert :)

1
serverhorror

Es ist klar, dass ein ausgehender TCP/22-Block leicht umgangen werden kann, wenn die Netzwerkadministratoren keine ernsthaften Anstrengungen unternommen haben, um den SSH-Verkehr zu blockieren insbesondere. Darüber hinaus müssen die Asset-Administratoren am Ball sein, um eine ausreichende Bestandsaufnahme durchzuführen, um 3G-Modems und verdächtige IP-Adressen auf zweiten Netzwerkkarten abzufangen. Wir haben ClearWire-Service in unserer Region, daher haben wir sogar WiMax als End-Run-Option für unsere Netzwerksicherheit.

Wir sind keine Institution, die sich hauptsächlich mit Informationslecks befasst. Wenn wir dies tun würden, müssten wir eine drakonische Netzwerksicherheitsrichtlinie mit einer drakonischen Asset-Richtlinie mit Prüfung kombinieren. Nach meinem besten Wissen gibt es meines Erachtens kein Standard-Sicherheitspaket, das die Netzwerkbuchse eines Assets ausschaltet, das über eine externe Netzwerkverbindung inventarisiert wird. Das könnte kommen.

In Ermangelung eines solchen Pakets ist der Asset-Inventarisierungsprozess eine der besten Möglichkeiten, um eine Netzwerkverbindung wie 3G oder WiMax zu erreichen.

Und schließlich blockiert das blinde Blockieren von TCP/22 nur den geringsten Fehler von Endbenutzern, die beabsichtigen, die AUP für ihr Arbeitsnetzwerk zu verletzen.

0
sysadmin1138

Ich habe 22 blockiert gesehen, als sie entdeckten, dass die Leute den http-Verkehr durch 22 leiteten. Es war ein Show-Stopper für diejenigen von uns, die ihn brauchten, aber die Organisation behauptete sich.

0
Shawn Anderson

Die meisten größeren Organisationen blockieren alles und erlauben nur den HTTP/HTTPS-Zugriff über einen Proxyserver.

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 besonderer Bedarf.

0
Cephas

Nichts hindert Sie daran, Ihr Remote-SSD auf 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 hört sich also so an, als hätten Sie ein politisches Problem, kein technisches Problem.

Wie andere jedoch betonten, können verschlüsselte Protokolle bei Menschen, die sich über verschiedene Compliance-Probleme Sorgen machen müssen, Sodbrennen verursachen.

0
Bruce ONeel

Es geht nicht darum, Port 22 spezifisch zu blockieren, weil Administratoren etwas gegen SSH haben, sondern nur darum, nur die Ports zu öffnen, von denen sie wissen, dass sie geöffnet werden müssen. Wenn Ihrem Administrator nicht mitgeteilt wurde, dass SSH geöffnet werden muss, blockiert Ihr Administrator es nach demselben Prinzip, das auch für das Deaktivieren nicht verwendeter Dienste auf einem Server gilt.

0
Maximus Minimus