VPN-Killer. Richtiger Fernzugriff auf Kampfserver

Die in diesem Artikel geäußerte Meinung ist die persönliche Meinung des Autors. Er betont, dass dies möglicherweise nicht mit der Meinung seines Arbeitgebers, seiner Vorgesetzten und der Sicherheitsabteilung übereinstimmt.

Eines der coolsten Dinge in unserem Unternehmen in Bezug auf die Infrastruktur ist die Implementierung des Fernzugriffs. Dies ist nur super-mega-geschützte Magie. Ich habe mit vielen meiner Sicherheitskollegen und Auditoren gesprochen, und es scheint, dass wir versehentlich eine ganz neue Geschichte erfunden haben, indem wir kommerzielle Lösungen und unsere Software gemischt haben. Daher dachte ich, es wäre interessant, tief in die technischen Details einzutauchen, wie die Branche mit veralteten Fernzugriffslösungen arbeitet und wie wir sie implementieren.

Gute Person VPN wird nicht beraten


Ich beginne mit einer starken Aussage: Alle VPNs sind Müll .

VPN kann wie andere digitale Technologien so konfiguriert werden, dass die Welt nicht untergeht, wenn es gehackt wird. Das macht aber niemand ... aber theoretisch können sie!

In 99,95% der Fälle ist das VPN konfiguriert für:

  1. Erstellen einer Netzwerkbrücke zwischen dem Gerät (Laptop oder einem anderen Server)
  2. ... und ein größeres Netzwerk von Servern (beispielsweise in der Wolke oder on-prem )
  3. ... und das Internet, geschützt durch eine zusätzliche Verschlüsselungsebene



Das ist keine gute Idee. Stellen Sie sich vor, ein Virus hat sich auf Ihrem Laptop niedergelassen und Sie stellen über VPN eine Verbindung zu einem Netzwerk von Kampfservern her? Ta Dam! Der Virus hat jetzt LAN-Zugriff auf Ihre Produktion. Was ist am Auspuff? Traurigkeit. Viel Traurigkeit.

Okay, nehmen wir an, der Virenfall ist weit hergeholt. Aber was ist mit der Tatsache, dass ein Hacker das VPN selbst infiltrieren kann, beispielsweise mithilfe einer Sicherheitsanfälligkeit in dem Gerät oder der Software, auf der das VPN funktioniert? Haben Sie sich also direkt in das Zielnetzwerk begeben? Dies ist eine ernste Angelegenheit und weit davon entfernt, zu theoretisieren. Weitere Informationen finden Sie in dem Artikel darüber, wie Heartbleed zum Erfassen von VPN mithilfe des Angriffsvektors verwendet wurde, vor dem ich direkt in meinem Blog gewarnt habe .

Vor nicht allzu langer Zeit gab es weltweit eine Welle von VPN-Schwachstellen, die von Cyberkriminellen sofort genutzt wurden , um Zugang zu Zielnetzwerken zu erhalten. Aber das ist nicht überraschend, oder? Diese Systeme "schauen" direkt in das Netzwerk, ohne dass andere Schutzmechanismen vor ihnen liegen. Fixes und Patches werden normalerweise nicht automatisch angewendet und beinhalten proprietäre Mechanismen, die von proprietärer Software gesteuert werden, die auf einem proprietären Betriebssystem ausgeführt wird. Nun, viel Glück dort.

Ist es schwierig, diese VPN-Geräte zu finden? Bevor ich diesen Artikel geschrieben habe, habe ich es nie versucht, daher wusste ich es nicht genau. Etwa eine halbe Stunde in Shodan.io und bitte - ein paar wichtige Ergebnisse aus der Ausgabe:

  • Thomson Reuters ist ein 41-Milliarden-Dollar-Unternehmen mit 26.000 Mitarbeitern, von denen die Hälfte aus Finanzdienstleistungen stammt.
  • SAP Concur ist ein Reisemanagement-Service, der eine Reihe von persönlichen Daten und Zahlungsdaten aller Art liefert.
  • Progressive Insurance - persönliche Daten und persönliche medizinische Informationen, zusammen mit einigen Zahlungsdaten.
  • Chevron Phillips Chemical - der Name spricht für sich.

Nun, das ist wahrscheinlich nicht sehr gut. Wenn diese Dinge so leicht zu finden sind, scheint es nicht die perfekte Lösung zu sein, sie online zu stellen. Haben wir eine andere Wahl?

Kein Vertrauen


Zero Trust [wörtlich: „Zero Trust“] - Im Wesentlichen bedeutet dies, dass Sie jede Verbindung autorisieren und nicht davon ausgehen, dass einige von ihnen vertrauenswürdig sind, da sie sich bereits in Ihrem Netzwerk befinden. Wenn Sie diesen Begriff besser verstehen und Ihren Geschäftsansatz überdenken möchten, lesen Sie diesen Artikel über Network World (entschuldigen Sie eine weitere schamlose Selbst-PR).

Wir haben die Okta Advanced Server Access (OASA) -Lösung gekauft, um die Zero-Trust-Autorisierung auf Kampfservern einzuführen.
OASA ist aus drei Gründen cool:

1. Dies ist nur ein Wrapper um die Konfiguration von OpenSSH auf Steroiden


Unter der Haube ist die OASA-Plattform eine gut verwaltete Bereitstellung von OpenSSH (der gleiche ssh-Befehl in Ihrer Konsole). Und OpenSSH ist eine äußerst bewährte und sichere Remoteverwaltungslösung. Übrigens hat OpenSSH seit 2003 keine einzige Sicherheitsanfälligkeit mehr, die in der Standardkonfiguration zu unbefugtem Remotezugriff führen könnte.
Die Einstiegspunkte in diesem Schema sind reguläre Amazon Linux 2 EC2-Instanzen. Daher ist der Angriffsbereich extrem klein. Denken Sie daran: Eines der Hauptprobleme bei der Verwendung eines VPN sind die proprietären Software- / Betriebssystemkonfigurationen, die automatische Patches verhindern. Die Möglichkeit, unsere Netzwerkeintrittspunkte zusammen mit dem Rest der Infrastruktur zu aktualisieren, ist ein großer Gewinn.

2. Es gibt keine Netzwerkbrücken


Wie oben erwähnt, sind die meisten VPNs so konfiguriert, dass sie eine Netzwerkbrücke zwischen einem Netzwerkgerät wie einem Laptop und einem Netzwerk von Servern im Internet herstellen. Eine meiner schmerzhaftesten Stellen bei VPNs ist, dass sie den gesamten Netzwerkverkehr abfangen. Sie können natürlich ein anderes Verhalten konfigurieren, aber unsere Clients und die Sicherheitsprotokolle NIST 800-53 SC-7 (7) erfordern normalerweise genau das.

Dies ist ein gutes Beispiel dafür, wie weit einige Sicherheitsmaßnahmen hinter der Branchenentwicklung zurückliegen. In der Welt der alten Schule könnte VPN die einzige Schicht für die Verschlüsselung des Datenverkehrs sein. Auditoren glauben manchmal, dass Sie Ihre Daten ohne VPN-Schutz über unverschlüsselte Kanäle senden.

Zum Glück gibt es einen besseren Weg. Im OASA-Modell wird individuell eine Verbindung zwischen Ihnen und dem Server hergestellt. Als Antwort auf die Anforderung "Ich möchte mich bei der EC2-Instanz i-028d62efa6f0b36b5 anmelden" stellt Ihr System beispielsweise eine Verbindung zum Eingabepunkt des Netzwerks und dann zum Zielserver her. OASA schützt diese Verbindungen auch, indem zehnminütige Client-Zertifikate nach der ersten Überprüfung Ihrer Daten durch SSO ausgestellt werden und anschließend überprüft wird, ob Sie sich auf dem beabsichtigten (und bestätigten) vertrauenswürdigen Gerät befinden.

Es gibt wenig Freiheit, das Netz zu durchstreifen. Ein Administrator kann einen Netzwerkeintrittspunkt eingeben und Ports an ein anderes Ziel weiterleiten. Diese Funktion ist jedoch standardmäßig deaktiviert und sollte beim Herstellen einer Verbindung explizit angefordert werden. Und das Beste daran ist, dass niemand von mir verlangt, den gesamten Datenverkehr durch die Virtual Private Cloud zu transportieren, da dies nicht als „VPN“ bezeichnet wird.

3. Dedizierter Netzwerkzugriff und zufällige IP


Diese Netzwerkeintrittspunkte werden für jede Virtual Private Cloud separat bereitgestellt (z. B. einer für Prod, einer für Staging, einer für Dev usw.). Darüber hinaus wird jeder von ihnen von unserer Sicherheitslösung genau überwacht, die alle Aktivitäten protokolliert und den Datenverkehr filtert. Befindet sich der Cracker in einem der Einstiegspunkte, funktioniert auch etwas nicht. In jedem Fall erlaubt unser Sicherheitsschema keinen Zugriff auf geschützte Ressourcen, nur weil Sie sich bereits in der Virtual Private Cloud befinden.

Einer meiner Lieblingsabwehrmechanismen ist zufällig aufgetaucht. Als wir mit der Konfiguration der Einstiegspunkte begannen, wurde jeder für eine statische IP-Adresse von AWS konfiguriert. Sehr schnell stellten wir fest, dass diese IP-Adressen manchmal nicht zum richtigen Zeitpunkt an EC2-Instanzen gebunden waren, was zu einer falschen OASA-Selbstkonfiguration führen konnte. Nachdem ich die Freuden eines Dutzend verschiedener Korrekturen in der Produktion erlebt hatte, konnte ich es nicht ertragen und löschte einfach die ganze Geschichte über statische IPs - und es funktionierte.



OASA benötigt lediglich eine mit dem Internet verbundene IP-Adresse, die nicht im Voraus bekannt sein muss. Wenn der Client bereit ist, eine Verbindung herzustellen, wird eine eindeutige GUID angefordert, mit deren Hilfe die IP ermittelt wird:

  • Benutzer: Ich möchte mich anmelden, um eine Verbindung zu vpc-99f2acff herzustellen
  • OASA-Client-Anwendung: Ich habe vpc-99f2acff als bekannten Server mit der GUID 25af5d4f-e657-4583-b0bd-beb1ca4f0c1f definiert
  • OASA-Server: Auf K 25af5d4f-e657-4583-b0bd-beb1ca4f0c1f kann unter 3.22.198.24 zugegriffen werden. Hier sind die Zertifikate
  • OASA-Client-Anwendung: Zertifikate installiert, Verbindung zu 3.22.198.24 über SSH ...

Dies bedeutet, dass jede Instanz unserer Einstiegspunktinfrastruktur (ein separater Beitrag , auf den Sie aufmerksam gemacht werden) mit einem völlig neuen Satz von IP-Adressen geliefert wird. Daher müssen zufällige Hacker nach einer IP unter zig Millionen suchen, und ihre Zahl wächst von Tag zu Tag. Leider ist diese Suche für sie völlig vergeblich, dank ...

Klopfen des Unternehmensports


Port-Klopfen [wörtlich: Klopfen an Ports] ist eine Sache, die im Prinzip in der realen Welt niemand verwendet, deren Konfiguration jedoch sehr viel Spaß macht. Kurz gesagt, das Klopfen von Ports ist eine Folge von "Unebenheiten" an verschiedenen geschlossenen Netzwerkports. Wenn die Sequenz korrekt wiederholt wird, öffnet sich der "echte" Port für Ihre IP. Elegant, aber bei großen Projekten unpraktisch.
Ich war von der Idee inspiriert und dachte darüber nach, wie ich die Idee verbessern kann. So wurde die Lösung geboren, die ich Enterprise Port Knocking nenne .

Ich wollte einen Mechanismus schaffen, der die Nähe unserer Einstiegspunkte zum Internet garantiert, bis jemand darauf zugreifen kann. Dieser Mechanismus sollte einfach zu bedienen, zuverlässig und auf vorhandene Weise authentifiziert sein.
Ich skizzierte die Architektur des Mechanismus und ging mit ihr zu unserem unglaublich talentierten Team von Ingenieuren. Ein paar Wochen später fingen wir an.

Der Service ist recht einfach und wird als AWS Lambda-Funktion bereitgestellt. Der Zugriff darauf erfolgt über das AWS API Gateway (die Freude an der Architektur ohne Server!). Für eine einfache und zuverlässige Verwendung. Der Mechanismus funktioniert folgendermaßen:

  1. Der Benutzer wird erfolgreich über SSO authentifiziert.
  2. Die Anwendung umgeht konfigurierte AWS-Konten auf der Suche nach einer speziell gekennzeichneten Sicherheitsgruppe (AWS-Konzept für Firewall-Regeln).
  3. Die Anwendung aktualisiert die Sicherheitsgruppe und ermöglicht den Zugriff auf die IP-Adresse des Anforderers. Eine Regel in der Sicherheitsgruppe speichert auch den Zeitstempel zum Hinzufügen.
  4. Die Cron-Task löscht die Liste der zulässigen IPs in jedem angegebenen Zeitraum.

Dank dieser Situation verfügen wir jetzt über eine RAS-Lösung, die vollständig für das Internet geschlossen ist und eine Zwei-Faktor-Authentifizierung über unsere Benutzerdatenbank erfordert, bevor der Port in der Firewall geöffnet wird .

Und es ist einfach!


Ich habe noch nicht angesprochen, wie einfach diese Mechanismen funktionieren. Ich weiß, dass es viele Komponenten gibt, aber zusammen bilden sie eine sehr einfache Berechtigung:

  1. Melden Sie sich über SSO an.
  2. Klicken Sie im SSO-Portal auf den Start von Enterprise Port Knocking.
  3. Geben Sie im Terminal mit dem Befehl SSH das Ziel als ID der Ziel-EC2-Instanz an. Das OASA-System ist intelligent genug, um herauszufinden, welcher Einstiegspunkt verwendet werden soll, und alles andere geschieht automatisch!



Dieses gesamte System ist ein großer Sieg für unsere Infrastruktur, für die Einhaltung aller Sicherheitsvereinbarungen und für die Sicherheit unserer Kunden. Benutzer mögen es wirklich, wie einfach es ist, eine Verbindung zu unseren Servern herzustellen, da Sie keine zusätzliche Authentifizierung durchführen oder sich merken müssen, welches VPN verwendet werden soll. Und ich mag meinen ruhigen Schlaf sehr. Alle haben vom neuen Modell gewonnen!

Na ja, bis auf die Hacker natürlich.


All Articles