Database
 sql >> Database >  >> RDS >> Database

Come trovare e mascherare le PII in Elasticsearch

Elasticsearch è un motore di ricerca basato su Java che dispone di un'interfaccia HTTP e memorizza i suoi dati in documenti JSON privi di schema. Sfortunatamente, una serie di violazioni costose e dolorose delle informazioni di identificazione personale (PII) continuano ad affliggere i database online di Elasticsearch:

Tuttavia, se tutte le PII o altre informazioni sensibili in questi DB fossero mascherate, gli hack e le copie di sviluppo riusciti potrebbero non essere problematici. Lo scopo di IRI DarkShield è bloccare tali informazioni in produzione o testare utilizzando funzioni di anonimizzazione conformi alla legge sulla privacy.

La procedura guidata di ricerca e maschera di Elasticsearch nell'IDE grafico IRI Workbench per IRI DarkShield utilizza gli stessi strumenti dei connettori MongoDB e Cassandra descritti in questo articolo. Questa procedura guidata può essere utilizzata per classificare, individuare e anonimizzare o eliminare PII e altre informazioni sensibili contenute nelle raccolte Elasticsearch e per produrre risultati di ricerca e controllo.

Imposta

Se non disponi di un cluster Elasticsearch a cui connetterti, puoi creare facilmente un cluster locale scaricando Elasticsearch da qui e seguendo la guida alle istruzioni.

Per la mia dimostrazione di questa procedura guidata, sto utilizzando un unico indice chiamato clienti su un cluster ospitato localmente. Questo indice memorizza le informazioni di base sui clienti che normalmente verrebbero visualizzate in un account e rappresentano un ricco obiettivo per illeciti. Ciò include:email, nome e numero di telefono:

Cerca

Come con le altre origini dati supportate da DarkShield, devi creare un .search file delle specifiche del lavoro per definire la scansione e i criteri di mercato. Come faresti con MongoDB o Cassandra, seleziona il New NoSQL Search/Masking Job … dal menu DarkShield in cima alla barra degli strumenti di IRI Workbench. Seleziona una cartella di progetto e inserisci un nome per il lavoro.

Nella pagina successiva, crea un URI di origine:

Qui è dove inserisci i parametri per il tuo cluster Elasticsearch. L'host e la porta predefiniti per Elasticsearch sono localhost e 9200 se questi campi vengono lasciati vuoti.

Se il cluster a cui ti stai connettendo necessita di nome utente e password, inseriscili nella sezione di autenticazione. Per questo esempio, sto usando host:localhost, port:9200 e il cluster:Elasticsearch.

In questa pagina è anche possibile aggiungere un nome utente e una password. Per la semplicità di questa dimostrazione, il cluster locale non è stato configurato tenendo conto della sicurezza. Qualsiasi cluster reale dovrebbe avere accesso e autorizzazioni abilitati per casi d'uso reali.

Fai clic su OK per finire e tornerai alla pagina precedente. Digita l'indice in cui desideri effettuare la ricerca. In questo esempio, sto utilizzando l'indice denominato clienti .

Successivamente, dovrai impostare un URI di destinazione per i risultati mascherati. Tieni presente che solo i risultati mascherati di Elasticsearch possono essere inviati solo a destinazioni Elasticsearch. In questo caso, utilizzerò lo stesso URI Customers creato in precedenza ma con un indice diverso. Questo creerà un nuovo indice con i risultati mascherati che verranno creati più avanti in questa dimostrazione.

Successivamente, ti verrà chiesto di creare un Matcher di ricerca, che è responsabile dell'associazione di una classe di dati con una regola di dati (mascheramento) corrispondente. Questo è un passaggio necessario poiché senza di essa non è possibile applicare alcuna mascheratura.

Come spiegato nell'articolo sulla classificazione dei dati, le classi di dati catalogano e definiscono centralmente criteri globali per trovare e mascherare le PII in fonti strutturate, semi-strutturate o non strutturate sia per FieldShield che per DarkShield. IRI Workbench viene fornito con diverse classi di dati predefinite (ad es. nomi, indirizzi e-mail e IP, numeri di carte di credito), che si trovano in Finestra> Preferenze> IRI> Classi e gruppi di dati . Puoi modificarli e aggiungerne di tuoi.

Fai clic su Sfoglia o Crea nella riga Classe dati. Sfoglia ti consentirà di selezionare le tue classi di dati o una delle numerose classi o gruppi predefiniti, inclusi e-mail, numero di telefono e nomi. In questo caso il gruppo di classi di dati NAMES include una classe di dati di nomi.

Qui ho selezionato la classe di dati EMAIL che cercherà le email all'interno del mio indice Elasticsearch:

Ora è necessario applicare una regola di mascheramento alla classe di dati che è stata scelta. Fai clic su Crea per creare una nuova regola per i dati oppure Sfoglia per utilizzare quelli che potresti aver già definito.

Per le email, scelgo una funzione di redazione:

Ovviamente è possibile mascherare più di una classe di dati contemporaneamente. Ho aggiunto classi e assegnato una funzione di crittografia di conservazione del formato ai numeri di telefono e uno pseudonimo casuale (imposta la ricerca di file) per i nomi delle persone:

Se sono necessari filtri di ricerca, possono essere aggiunti nella pagina precedente. I filtri possono essere utilizzati per trovare risultati particolari o per isolare campi specifici in CSV, XML, JSON o RDB da mascherare, precludendo la necessità di scansionare il contenuto delle righe. Tuttavia, in questo caso non ne ho specificato nessuno.

Fai clic su Fine quando fatto. Questo completa la procedura guidata e crea un .search file che contiene i dettagli di configurazione di DarkShield per l'esecuzione dei lavori di ricerca e/o mascheramento.

Nota: Se stai utilizzando il cluster ospitato localmente predefinito come quello in questo esempio, assicurati che il cluster sia attivo, altrimenti qualsiasi lavoro di ricerca o mascheramento avrà esito negativo. Puoi controllare se il server è in esecuzione aprendo un browser web e digitando "http://localhost:9200/" nella barra degli indirizzi.

Ricerca e mascheramento

DarkShield supporta la ricerca e il mascheramento come operazioni separate o simultanee. In questo caso, voglio prima cercare e vedere cosa ho trovato prima di mascherarlo. Questo perché i lavori di mascheramento (più grandi) possono richiedere tempo e potrei voler affinare i miei metodi di ricerca e verificarli nuovamente.

Per fare ciò, fai clic con il pulsante destro del mouse su .search file ed esegui il file come processo di ricerca. Questo creerà un .darkdata con i risultati della ricerca appena eseguita. L'artefatto appare in Workbench così:

Dopo aver verificato i risultati, puoi eseguire .darkdata file come mascheramento lavoro per rimediare alla raccolta con la funzione di redazione che ho specificato.

I risultati ricercati in precedenza verranno mascherati nella posizione di destinazione. Per verificare ciò, puoi eseguire nuovamente una ricerca e vedere che i dati ora sono stati "DarkShield'ed" come specificato; vale a dire, e-mail oscurate, nomi pseudonimizzati e numeri di telefono mascherati con crittografia di conservazione del formato:

Se hai bisogno di aiuto per proteggere le tue raccolte Elasticsearch mascherando i loro dati inattivi tramite questa interfaccia DarkShield in IRI Workbench o nella sua CLI, o qualsiasi dato semi-/non strutturato in volo tramite l'API REST di DarkShield, invia un'e-mail a [email protected].