Eine Datenbank, die vor dem Verbindungsaufbau des VPN funktioniert und danach ausfällt, ist selten ein Problem der Anmeldedaten. Cloud-Firewalls gleichen Quelladressen ab, und ein Full Tunnel ersetzt genau die Adresse, die sie abgeglichen haben. Die Lücke zwischen dem, was Ihr Laptop Ihrer Meinung nach sendet, und dem, was der Server empfängt, ist der ganze Fehler, und sie lässt sich in einem Schritt messen.

Wozu die Quelladresse wird

In einem Full Tunnel verlässt jedes Paket das Netz über das VPN-Gateway, sodass der Server die Egress-Adresse des Gateways sieht statt Ihrer Heimverbindung. Sitzt ein Forward-Proxy im Pfad, kommt dessen Adresse an. Beides sind legitime Quellen, und keine davon ist die Adresse in Ihrer ursprünglichen Regel.

Die Firewallregeln von Azure SQL auf Server- und Datenbankebene gleichen die Clientadresse ab, die den logischen Server erreicht, und das ist nach einem Full Tunnel die Egress-Adresse. Eine AWS-Sicherheitsgruppe, die eine einzige Adresse erlaubt, verhält sich genauso. Das Paket wird vor der Authentifizierung verworfen, daher sieht der zurückkommende Fehler wie ein Netzwerkausfall aus und nicht wie ein Berechtigungsproblem. Genau deshalb beginnen Leute, Passwörter zurückzusetzen.

Wo die Allowlist entschieden wird

Lesen Sie die Regel, die zum fehlschlagenden Pfad passt, nicht die Regel, von der Sie glauben, sie angelegt zu haben. Notieren Sie ihren Geltungsbereich, ihren Port, ihr Protokoll und ob sie vor irgendeiner Identitätsprüfung ausgewertet wird.

Entscheiden Sie dann, welche Schicht diese Entscheidung legitim besitzt. Eine Adressregel beantwortet, woher der Verkehr kommt. Ein privater Endpunkt beantwortet, ob der Dienst überhaupt über einen privaten Pfad erreichbar ist. Eine Split-Tunnel-Ausnahme beantwortet, welche Ziele den Tunnel umgehen. Sie sind nicht austauschbar, und jede versagt anders, wenn sich der Tunnel ändert.

Drei Reparaturen, drei Schichten

Jede Option unten repariert den Fluss aus einem anderen Grund, und die falsche Wahl erzeugt eine Verbindung, die bis zur nächsten Gateway-Änderung funktioniert.

RepairLayer it changesWhat it does not fix
Add the egress address to the ruleSource address matchingNothing about routing, and it breaks when the egress moves
Use a private endpointWhether the service is reached privatelyA client that still resolves the public name
Add a split-tunnel exceptionWhich flows bypass the tunnelAn expired credential or a wrong password

Die Egress-Adresse hinzuzufügen ist die kleinste Änderung und die fragilste, weil ein neues Gateway oder eine andere Region sie still ungültig macht. Dokumentieren Sie die Adresse neben der Tunneldefinition, damit sich beide gemeinsam bewegen. Ein temporärer breiter Bereich ist eine Diagnose, keine Reparatur; ihn stehen zu lassen, ist der Weg, auf dem interne Dienste am Ende exponiert sind.

Warum eine verwaltete Plattform dem Tunnel nicht beitreten kann

Anwendungsplattformen wie Heroku, AppHarbor oder CloudBees führen Ihren Code in einer Umgebung ohne tun- oder tap-Gerät und ohne Rechte aus, eines zu erstellen. Ihr Inbound-Modell ist HTTP und kein beliebiger lauschender Socket. Ein Buildpack, das eine VPN-Binärdatei mitliefert, hat immer noch keinen Platz für die Schnittstelle. Die funktionierenden Muster sind eine statische Egress-Adresse, die die Datenbank erlauben kann, ein privates Verbindungsprodukt der Plattform oder ein Proxy in einer DMZ, der über HTTPS erreicht wird.

Dieser Proxy ist ein Zugriffspfad mit eigener Authentifizierung und Protokollierung. Er macht die Plattform nicht zu einem Mitglied Ihres VPN, und eine solche Beschreibung erzeugt Regeln, die niemand prüfen kann.

Prüfen Sie vom fehlgeschlagenen Client aus

Verbinden Sie sich erneut, und wiederholen Sie den exakten Clientpfad. Prüfen Sie die Quelladresse, die der Dienst protokolliert, die Route, die der Client für den Datenbanknamen wählt, und das Ergebnis der tatsächlichen Abfrage, in dieser Reihenfolge. Ein Test vom Gateway beweist, dass das Gateway funktioniert, was nie zweifelhaft war. Wenn die Verbindung jetzt authentifiziert wird und die Abfrage weiterhin fehlschlägt, ist das verbleibende Problem die Datenbankberechtigung.

Überprüfen Sie diese Regeln, wenn sich der Tunnel ändert. Ein ersetztes Gateway oder ein neuer Egress-Bereich bricht den Pfad ohne jede Änderung an der Anwendungskonfiguration.

Ähnliche Artikel