Elimina i segreti dai registri e dai file HAR prima di condividerli
"Puoi inviarmi un file HAR?" è una richiesta ragionevole da parte di un tecnico dell'assistenza ed è una cosa pericolosa da soddisfare senza pensarci. Un'esportazione HAR è una registrazione completa di una sessione del browser: ogni richiesta, ogni intestazione di risposta, ogni cookie inviato e spesso anche il corpo della risposta. Consegnarne uno non modificato dà al destinatario la possibilità di agire nei tuoi panni su qualsiasi sito in quella registrazione, per tutto il tempo in cui quelle sessioni vivono.
Lo stesso vale, in modo meno ovvio, per i frammenti di log che le persone incollano nei ticket, nei thread Slack e nelle finestre di chat tutto il giorno. Vale la pena avere una routine.
Cosa c'è effettivamente in un file HAR
HAR è JSON ed è esaustivo in base alla progettazione. In una normale esportazione troverai:
- Cookie di sessione per ogni dominio toccato, per intero, come inviato. Questo è il punto più importante: un cookie di sessione è una credenziale al portatore e il destinatario non ha bisogno della tua password per utilizzarlo.
Authorizationintestazioni, inclusi token al portatore e credenziali di autenticazione di base, che sono banalmente decodificabili.- Token nelle stringhe di query. Collegamenti per la reimpostazione della password, URL firmati, chiavi API passate come parametri, codici OAuth durante il flusso.
- Richiedi corpi. Tutto ciò che hai digitato in un modulo durante la registrazione, incluso il modulo di accesso se la registrazione è iniziata prima dell'accesso.
- Organismi di risposta. A seconda delle opzioni di esportazione, i dati effettivi: record dei clienti, dettagli dell'account, payload API interni.
- Tutto il resto che avevi aperto. Un HAR è per scheda del browser, ma vi arrivano anche i beacon di analisi, il traffico delle estensioni e gli aggiornamenti in background da altri servizi.
IL Igienizzante per file HAR prende l'esportazione ed elimina le parti contenenti credenziali (cookie, intestazioni di autenticazione, token) lasciando intatta la struttura della richiesta e della risposta, che è ciò di cui ha effettivamente bisogno la persona che esegue il debug del problema. Incollalo, ottieni un file pulito, allegalo.
Guarda cosa stai inviando
Sanificare la tenda è meglio che non igienizzare, ma l’abitudine utile è guardare prima. Copia le intestazioni della richiesta sospetta dai tuoi strumenti di sviluppo ed eseguile nel file Analizzatore di intestazioni HTTP: suddivide un blocco grezzo in coppie nome/valore che puoi leggere, il che rende ovvio quando c'è un X-Internal-Auth o un'intestazione del token specifica del fornitore che un modello di redazione generico non avrebbe riconosciuto come segreto.
I biscotti meritano il loro aspetto. Incolla un Cookie O Set-Cookie linea nel analizzatore di cookie e ottieni ogni cookie suddiviso con i suoi attributi - HttpOnly, Secure, SameSite, scadenza. Si tratta di un controllo di redazione ("quali di questi sono token di sessione?") e di una revisione di sicurezza allo stesso tempo: un cookie di sessione senza HttpOnly o con scadenza ad un anno è una constatazione a sé stante, e tu la stai già guardando.
L'output del terminale presenta due problemi
I log dei terminali incollati contengono segreti (stringhe di connessione, token nei comandi curl, dump dell'ambiente) e contengono anche sequenze di escape ANSI. Ecco perché si trasforma in un tronco colorato ESC[0;32m rumore quando finisce in un biglietto e rendono il testo difficile da leggere per chiunque e difficile da cercare per te. IL Spogliarellista ANSI rimuove i codici di controllo del colore e del cursore e lascia il testo.
Quindi redigere. IL redattore di dati trova le categorie ricorrenti (indirizzi email, indirizzi IP, numeri di telefono, numeri di carte, stringhe a forma di chiave) e le sostituisce in modo coerente, in modo che il registro venga comunque letto come una traccia coerente invece di diventare un muro di [REDACTED]. La coerenza è importante durante il debug: se lo stesso ID utente viene sostituito ovunque con lo stesso segnaposto, il lettore può comunque seguire una richiesta attraverso cinquanta righe.
La corrispondenza del modello non rileverà un segreto che assomiglia a un testo normale, quindi leggi il risultato prima di inviarlo. Nomi host interni, nomi di clienti nei campi di testo libero e percorsi di file contenenti nomi utente sono le tre cose che sopravvivono a ogni passaggio automatizzato.
La redazione non è una rotazione
Il punto più importante, e quello che le persone saltano: se una credenziale è già stata inviata da qualche parte non sarebbe dovuta andare, rimuoverla da un documento non fa nulla. Il destinatario potrebbe averlo. Potrebbe trovarsi in un archivio di posta elettronica, in un sistema di ticket, in un backend di chat, nella cartella di download locale di qualcuno o nei registri di un fornitore di modelli.
Ruotare. Invalidare la sessione, revocare il token, eseguire il roll della chiave API. Quindi pulire il file. In quest'ordine, perché la pulizia dura un minuto e la rotazione è la parte che chiude effettivamente l'esposizione.
Incollare in una finestra di chat equivale a pubblicare
Il debug con un assistente ora è normale e un'analisi dello stack con una stringa di connessione al suo interno va a una terza parte nel momento in cui si preme invio. A seconda del prodotto e del piano, il testo può essere conservato, rivisto da un essere umano o utilizzato per la formazione. Tratta qualsiasi incolla in un modello ospitato come un trasferimento a una parte esterna, perché di questo si tratta, e disinfettalo esattamente come faresti per disinfettare un allegato a un'e-mail esterna.
Questo è il caso in cui gli strumenti locali non sono una preferenza ma il punto centrale: ogni strumento qui nominato viene eseguito nel tuo browser, quindi la versione non oscurata del file non viene mai caricata su nulla durante il suo processo di pulizia. Disinfettare un registro contenente segreti incollandolo in un sito Web che lo elabora su un server significa che il segreto è già stato abbandonato, qualunque sia l'aspetto dell'output pulito.
Una lista di controllo che vale la pena appuntare
- Registra l'HAR in una finestra privata con solo la scheda pertinente aperta e avvia la registrazione Dopo hai effettuato l'accesso.
- Esegui l'esportazione attraverso il disinfettante.
- Apri il file pulito e cercalo
token,secret,key,auth,passworde i tuoi nomi di dominio. - Rimuovi i codici ANSI da qualsiasi output del terminale, quindi oscura gli identificatori.
- Leggi il risultato dall'inizio alla fine. È più breve di quanto pensi.
- Ruota tutto ciò che era attivo nell'originale.
- Inviatelo attraverso un canale che scade, non uno che archivia per sempre.
Sei minuti di lavoro contro una fuga di credenziali che altrimenti rimarrebbero in coda per un tempo indefinito.
Creatore di TextArray: crea strumenti gratuiti e attenti alla privacy che vengono eseguiti interamente nel tuo browser.