Zum Inhalt springen

Entfernen Sie die Geheimnisse aus Protokollen und HAR-Dateien, bevor Sie sie weitergeben

Blog / Veröffentlicht 

„Können Sie mir eine HAR-Datei schicken?“ ist eine vernünftige Anfrage eines Support-Technikers und eine gefährliche Sache, wenn man ihnen unüberlegt nachkommt. Ein HAR-Export ist eine vollständige Aufzeichnung einer Browsersitzung: jede Anfrage, jeder Antwortheader, jedes gesendete Cookie und oft auch die Antworttexte. Durch die unbearbeitete Übergabe erhält der Empfänger die Möglichkeit, auf jeder Seite dieser Aufzeichnung als Sie zu agieren, solange diese Sitzungen bestehen.

Das Gleiche gilt, weniger offensichtlich, für die Protokollausschnitte, die die Leute den ganzen Tag in Tickets, Slack-Threads und Chat-Fenster einfügen. Es lohnt sich, eine Routine zu haben.

Was steht eigentlich in einer HAR-Datei?

HAR ist JSON und von Natur aus erschöpfend. Bei einem normalen Export finden Sie:

Der HAR-Dateidesinfektionsmittel übernimmt den Export und entfernt die anmeldeinformationstragenden Teile – Cookies, Authentifizierungsheader, Token – während die Anforderungs- und Antwortstruktur intakt bleibt, was die Person, die Ihr Problem debuggt, tatsächlich benötigt. Fügen Sie es ein, erhalten Sie eine bereinigte Datei und hängen Sie diese an.

Schauen Sie sich an, was Sie senden

Blind zu desinfizieren ist besser als nicht zu desinfizieren, aber die nützliche Angewohnheit besteht darin, zuerst hinzusehen. Kopieren Sie die Header der verdächtigen Anfrage aus Ihren Entwicklungstools und führen Sie sie durch HTTP-Header-Parser: Es zerlegt einen Rohblock in lesbare Name/Wert-Paare, was es deutlich macht, wenn ein Block vorhanden ist X-Internal-Auth oder ein herstellerspezifischer Token-Header, den ein generisches Schwärzungsmuster nicht als Geheimnis erkannt hätte.

Kekse verdienen ein eigenes Aussehen. Fügen Sie a ein Cookie oder Set-Cookie Linie in die Cookie-Parser und Sie erhalten jedes Cookie mit seinen Attributen aufgeschlüsselt – HttpOnly, Secure, SameSite, Ablauf. Das ist eine Schwärzungsprüfung („Welche davon sind Sitzungstoken?“) und eine Sicherheitsüberprüfung zugleich: ein Sitzungscookie ohne HttpOnly oder mit einjähriger Laufzeit ist eine eigenständige Entdeckung, und Sie sehen sie sich bereits an.

Bei der Terminalausgabe gibt es zwei Probleme

Eingefügte Terminalprotokolle enthalten Geheimnisse – Verbindungszeichenfolgen, Token in Curl-Befehlen, Umgebungs-Dumps – und sie enthalten auch ANSI-Escape-Sequenzen. Das sind die Gründe, warum aus einem bunten Baumstamm wird ESC[0;32m Es macht Lärm, wenn es in einem Ticket landet, und sie machen den Text für jedermann schwer lesbar und für Sie schwer zu durchsuchen. Der ANSI-Stripper Entfernt die Farb- und Cursorsteuerungscodes und belässt den Text.

Dann redigieren. Der Datenredaktor findet die wiederkehrenden Kategorien – E-Mail-Adressen, IP-Adressen, Telefonnummern, Kartennummern, schlüsselförmige Zeichenfolgen – und ersetzt sie konsistent, sodass das Protokoll immer noch als zusammenhängende Spur gelesen wird, anstatt zu einer Wand aus zu werden [REDACTED]. Konsistenz ist beim Debuggen wichtig: Wenn dieselbe Benutzer-ID überall durch denselben Platzhalter ersetzt wird, kann der Leser einer Anfrage immer noch über fünfzig Zeilen folgen.

Durch den Mustervergleich wird kein Geheimnis erfasst, das wie gewöhnlicher Text aussieht. Lesen Sie daher das Ergebnis, bevor Sie es senden. Interne Hostnamen, Kundennamen in Freitextfeldern und Dateipfade mit Benutzernamen sind die drei Dinge, die jeden automatisierten Durchgang überleben.

Schwärzung ist keine Rotation

Der wichtigste Punkt, den die Leute überspringen: Wenn ein Ausweis bereits irgendwohin geschickt wurde, hätte er nicht dorthin gehen sollen, hat das Entfernen aus einem Dokument keinen Zweck. Der Empfänger kann es haben. Es kann sich um ein E-Mail-Archiv, ein Ticketsystem, ein Chat-Backend, den lokalen Download-Ordner einer anderen Person oder die Protokolle eines Modelanbieters handeln.

Drehen. Machen Sie die Sitzung ungültig, widerrufen Sie das Token und rollen Sie den API-Schlüssel. Bereinigen Sie dann die Datei. In dieser Reihenfolge, denn die Reinigung dauert eine Minute und die Drehung ist der Teil, der die Belichtung tatsächlich abschließt.

Das Einfügen in ein Chatfenster ist eine Veröffentlichung

Das Debuggen mit einem Assistenten ist jetzt normal und ein Stack-Trace mit einer Verbindungszeichenfolge geht an einen Dritten, sobald Sie die Eingabetaste drücken. Je nach Produkt und Plan kann dieser Text aufbewahrt, von einem Menschen überprüft oder für Schulungen verwendet werden. Behandeln Sie jedes Einfügen in ein gehostetes Modell als Übertragung an eine externe Partei – denn das ist es, was es ist – und bereinigen Sie es genauso, wie Sie einen Anhang einer externen E-Mail bereinigen würden.

Dies ist der Fall, wenn lokale Tools keine Präferenz, sondern der springende Punkt sind: Jedes hier genannte Tool wird in Ihrem Browser ausgeführt, sodass die nicht redigierte Version der Datei auf dem Weg zur Bereinigung niemals auf irgendetwas hochgeladen wird. Das Bereinigen eines Geheimnisses enthaltenden Protokolls durch Einfügen in eine Website, die es auf einem Server verarbeitet, bedeutet, dass das Geheimnis bereits verschwunden ist, unabhängig davon, wie die bereinigte Ausgabe aussieht.

Eine Checkliste, die es wert ist, angeheftet zu werden

  1. Zeichnen Sie den HAR in einem privaten Fenster auf, wobei nur die entsprechende Registerkarte geöffnet ist, und starten Sie die Aufzeichnung nach Sie haben sich angemeldet.
  2. Führen Sie den Export über das Desinfektionsmittel aus.
  3. Öffnen Sie die bereinigte Datei und suchen Sie danach token, secret, key, auth, password und Ihre eigenen Domainnamen.
  4. Entfernen Sie ANSI-Codes aus allen Terminalausgaben und schwärzen Sie anschließend die Kennungen.
  5. Lesen Sie das Ergebnis Ende für Ende. Es ist kürzer als Sie denken.
  6. Drehen Sie alles, was im Original live war.
  7. Senden Sie es über einen Kanal, der abläuft, und nicht über einen, der für immer archiviert wird.

Sechs Minuten Arbeit gegen ein Anmeldedatenleck, das andernfalls ewig in der Ticketwarteschlange bleiben würde.

Geschrieben von Ján Turský

Schöpfer von TextArray – Entwicklung kostenloser, datenschutzorientierter Tools, die vollständig in Ihrem Browser ausgeführt werden.