Sie fügen eine eingehende Regel für den VPN-Client-Pool hinzu, entfernen nichts, und der Dienst ist weiterhin aus dem Internet erreichbar. Nichts ist kaputt. Eine Sicherheitsgruppe hat keine Überschreibung, keine Priorität und kein abschließendes Verbot, gegen das die enge Regel gewinnen könnte. Jede an die Instanz angehängte Gruppe trägt ihre eigenen Erlaubnisse zu einer gemeinsamen Menge bei, und die breite Regel, die Sie vergessen haben, ist noch in dieser Menge. Die Instanz auf VPN-only umzustellen bedeutet, alle zu prüfen, nicht einer davon eine besser klingende Regel hinzuzufügen.

Schreiben Sie den Dienst auf, bevor Sie die Regel schreiben

Beginnen Sie mit dem genauen Ziel, Protokoll und Port sowie der Netzwerkschnittstelle, auf der der Dienst tatsächlich lauscht. Eine Instanz mit mehreren Schnittstellen oder mehreren Diensten auf einem Port erfordert die Prüfung pro Schnittstelle, weil die angehängten Gruppen unterschiedlich sein können. Bestimmen Sie dann welche Quelladresse diese Schnittstelle für einen VPN-Benutzer tatsächlich erhält, statt der Adresse, die der Client in seinem eigenen Verbindungsfenster anzeigt.

Diese beiden Adressen weichen häufiger voneinander ab, als man erwartet, sobald Übersetzung und Routing im Spiel sind.

Drei Quellmodelle, drei verschiedene Regeln

Bei privatem geroutetem Zugriff erhält die Instanz den Client-Pool oder den Unternehmensbereich, je nachdem, wie der Pfad geroutet und übersetzt wird. Bei einem öffentlichen Endpunkt, der über den Unternehmensausgang erreicht wird, sieht die Instanz stattdessen die Unternehmens-NAT-Adresse, und zwar nur, wenn dieses Ziel tatsächlich den VPN-Pfad nutzt, da Split-Tunneling es auf einer Heimverbindung belassen kann. Bei einem verwalteten Client-VPN-Endpunkt gilt das dokumentierte Zuordnungs- und Zielnetzmodell, und die Client-Adresse stammt aus dem konfigurierten Client-CIDR.

Was nicht funktioniert, ist ein VPN-Gateway als Quelle einer Sicherheitsgruppe zu referenzieren. Gruppenreferenzen treffen auf elastische Netzwerkschnittstellen innerhalb der VPC oder eines peerten Netzwerks zu, und ein Gateway, das Pakete weiterleitet, ist keine davon.

Lesen Sie die Vereinigung über alle angehängten Gruppen

Öffnen Sie die Instanz, finden Sie ihre Netzwerkschnittstelle und listen Sie jede daran angehängte Sicherheitsgruppe auf. Prüfen Sie für jede einzelne jede Regel, die Ihr Protokoll und Ihren Port abdeckt, einschließlich breiter Portbereiche und beider Adressfamilien. Eine IPv4-Regel von 0.0.0.0/0 entbindet Sie nicht von der Prüfung von ::/0, und eine Regel, die den gesamten Verkehr erlaubt, verbirgt die Portfrage vollständig. Erst nach dieser Bestandsaufnahme können Sie sagen, wie die effektive Berechtigung für den Dienst aussieht.

Die AWS-Regelreferenz beschreibt Sicherheitsgruppen als nur-erlaubend und stellt fest, dass die Regeln aller angehängten Gruppen zusammengefasst werden, was der ganze Mechanismus hinter diesem Fehler ist.

Netzwerk-ACLs sind eine separate, zustandslose Richtlinie mit geordneten Erlaubnis- und Verbotseinträgen, und sie werden am Subnetz statt an der Instanz ausgewertet.

Antworten Sie nicht mit einer Verbotsmauer

Ein subnetzweites NACL-Verbot hinzuzufügen, um eine gewohnte Firewall nachzubilden, ist das falsche Werkzeug und ein riskantes. NACL-Einträge sind geordnet und zustandslos, sodass ein Verbot oberhalb einer bestehenden Erlaubnis stillschweigend unabhängigen Verkehr bricht, einschließlich des Rückwegs für die Sitzungen, die Sie behalten wollten. Beheben Sie die breite Sicherheitsgruppen-Erlaubnis in der Gruppe, der sie gehört, und lassen Sie die ACL dann in Ruhe, es sei denn, sie ist wirklich Teil des Designs.

Eine öffentliche Adresse von der Instanz zu entfernen ist eine stärkere Garantie, und es ist auch eine architektonische Änderung mit administrativen und Anwendungsfolgen statt eines Häkchens auf einer Erlaubnisliste.

Testen Sie mit einer neuen Sitzung und behalten Sie einen Weg hinein

Bevor Sie eine bestehende Erlaubnis aufgeben, bestätigen Sie einen genehmigten unabhängigen Verwaltungsweg, denn die Regel, die Sie löschen wollen, könnte diejenige sein, von der Ihre Sitzungswiederherstellung abhängt. Testen Sie dann eine neue erlaubte Verbindung aus dem VPN und eine neue verweigerte Verbindung von einem autorisierten Nicht-VPN-Testpfad. Bestehende verfolgte Sitzungen überleben Regeländerungen auf Arten, die alte offene Shells als Abnahmebeleg unbrauchbar machen.

Behalten Sie schließlich die eigene Autorisierung der Anwendung bei. Ein übersetzter Unternehmensausgang kann Hunderte von Menschen repräsentieren, und die Netzwerkzulassung hat nie einen einzelnen Benutzer oder dessen Gerät identifiziert.

Ähnliche Artikel