Datenbank- und Kubernetes-Zugriff über das Monopam-Gateway

Was hat sich geändert

Jede Inhaltsänderung wird versioniert. Wählen Sie eine Version, um sie mit der vorherigen zu vergleichen.

Version 8 → 9

Aktualisierung

Neues Modul zum Betrieb des Datenbank-Proxys: Richtlinienzustellung nach dem Einschalten, Maskierungslücken, Anweisungsgenehmigungen und die Browser-Konsole. Das Modul enthält jetzt Diagramme und am Ende eine Liste, was zuerst zu prüfen ist.

1 Lektion aktualisiertDauer

Inhaltliche Aktualisierung. Eingeschriebene Lernende wurden benachrichtigt.

Dauer von 17 auf 18 Minuten geändert.

Der Datenbank-Proxy sitzt zwischen dem Client des Benutzers und der Datenbank und beurteilt jede Anweisung. Drei Situationen treten bei fast jeder Einführung auf. ### "Alles ist blockiert" direkt nach dem Einschalten des Proxys Der Proxy hält keine eigene Kopie Ihrer Richtlinien. Monopam schiebt sie über den Admin-Port des Proxys zu ihm. Bis dieser erste Push gelingt, **schließt der Proxy im Fehlerfall**: Jede Anweisung jedes Benutzers wird mit dem Grund `no policies loaded` blockiert. Blockiert ein frisch eingeschalteter Proxy alles, sind die Database Rules also vermutlich in Ordnung. Verdächtig ist der Zustellweg. Prüfen Sie, ob die Gateway-Konfiguration auf die richtige Monopam-Adresse zeigt und ob das `Admin Token` passt. Gelingt der Push, werden Anweisungen normal beurteilt. Im Fehlerfall zu schließen ist der sichere Standard: Ein Proxy, der ohne Richtlinie alles erlaubt, wäre bei jedem Neustart eine offene Tür. ### Eine Telefonnummer, die der Maskierung entgeht Maskierung hat zwei Quellen. | Quelle | Wie sie entscheidet | Stärke | Grenze | | --- | --- | --- | --- | | PII-Autoerkennung | Nach Spaltenname (E-Mail, Telefon, Karte und Ähnliches) und nach der Form des Werts | Deckt Schemas ab, die niemand dokumentiert hat | Die Formerkennung ist bewusst streng, um Fehlalarme zu vermeiden | | Explizite Maskierungsregel | Sie benennen Spalte und Transformer | Exakt, und sie gewinnt immer gegen die Autoerkennung | Sie müssen die Spalte kennen | Ein Beispiel für die Grenze: Der Telefondetektor, der Werte betrachtet, erwartet eine ununterbrochene Ziffernfolge. Ein mit Leerzeichen als `+90 532 123 45 67` gespeicherter Wert passt nicht. Heißt die Spalte `phone`, greift trotzdem der Name. Heißt sie `contact_info`, schlägt keiner der Tests an, und die Nummer wird im Klartext geliefert. Die Antwort ist nicht, sich einen lockereren Detektor zu wünschen. Legen Sie für diese Spalte eine explizite Maskierungsregel an. Betrachten Sie die Autoerkennung als Sicherheitsnetz und explizite Regeln als Kontrolle für jede Spalte, von der Sie bereits wissen, dass sie personenbezogene Daten enthält. ### Anweisungen, die eine Genehmigung brauchen Eine Database Rule mit dem Effekt Approval führt die Anweisung nicht aus. Für einen Benutzer mit nativem Client wie psql oder DBeaver geschieht Folgendes: 1. Der Proxy lehnt die Anweisung ab und öffnet automatisch eine Genehmigungsanfrage. 2. Wiederholt der Benutzer den Versuch, solange die Anfrage offen ist, hängen sich die Wiederholungen an **dieselbe** Anfrage. Genehmiger werden nicht überflutet. 3. Die Anfrage hat ein Standardfenster von 60 Minuten. Entscheidet niemand, läuft sie ab. 4. Der nächste Versuch danach öffnet eine **neue** Anfrage. Ein Genehmiger, der am nächsten Morgen kommt, sieht daher womöglich eine abgelaufene Anfrage vom Vorabend und eine frische von heute. Beide gehören zu demselben Benutzer und derselben Anweisung, und nur die frische lässt sich noch entscheiden. Eine Genehmigung deckt genau die Anweisung, für die sie gestellt wurde. ::diagram pam-statement-approval ### Die Browser-Konsole ist keine Hintertür Teams nehmen manchmal an, die SQL-Konsole im Browser sei schwächer als ein nativer Client, weil sie "nur eine Webseite" ist. Sie ist das Gegenteil einer Umgehung: Die Konsole schickt ihre Anweisungen über denselben Proxy, es gelten also dieselben Regeln, Maskierung, Ratenlimits und dasselbe Audit, und die Datenbank-Anmeldeinformation erreicht den Browser nie. Die Wahl zwischen Konsole und nativem Client ist eine Frage der Bequemlichkeit, nicht der Kontrolle. ### Was zuerst zu prüfen ist | Symptom | Zuerst prüfen | | --- | --- | | Jedes Statement wird mit `no policies loaded` blockiert | Die Monopam-Adresse in der Gateway-Konfiguration und das `Admin Token` | | Ein personenbezogener Wert kommt im Klartext zurück | Den Spaltennamen und das gespeicherte Format. Fügen Sie dann eine ausdrückliche Maskierungsregel für die Spalte hinzu | | Ein Genehmiger sieht für dasselbe Statement eine abgelaufene und eine frische Anfrage | Entscheiden Sie die frische. Nur sie lässt sich noch entscheiden |