Elasticsearch er en Java-baseret søgemaskine, der har en HTTP-grænseflade og gemmer sine data i skemafrie JSON-dokumenter. Desværre fortsætter en bølge af dyre og smertefulde brud på personlig identificerbar information (PII) med at plage online Elasticsearch-databaser:
Var al PII eller andre følsomme oplysninger i disse DB'er maskeret, er vellykkede hacks og udviklingskopier muligvis ikke problematiske. Formålet med IRI DarkShield er at låse disse oplysninger i produktion eller test ved hjælp af anonymiseringsfunktioner, der er i overensstemmelse med privatlivsloven.
Elasticsearch søge- og maskeguiden i IRI Workbench bruger grafisk IDE til IRI DarkShield det samme værktøj som MongoDB- og Cassandra-stikkene beskrevet i denne artikel. Denne guide kan bruges til at klassificere, lokalisere og afidentificere eller slette PII og andre følsomme oplysninger på Elasticsearch-samlinger og til at producere søge- og revisionsresultater.
Konfigurer
Hvis du ikke har en Elasticsearch-klynge at oprette forbindelse til, kan du nemt oprette en lokal klynge ved at downloade Elasticsearch herfra og følge vejledningen.
Til min demonstration af denne guide bruger jeg et enkelt indeks kaldet kunder på en lokalt hostet klynge. Dette indeks gemmer grundlæggende kundeoplysninger, som normalt ville blive set på en konto og være et rigt mål for misbrug. Dette inkluderer:e-mail, navn og telefonnummer:
Søg
Som med de andre datakilder, DarkShield understøtter, skal du oprette en .search jobspecifikationsfil for at definere dine scannings- og markedskriterier. Som du ville med MongoDB eller Cassandra, skal du vælge Ny NoSQL-søgning/maskeringsjob … fra DarkShield-menuen øverst på IRI Workbench-værktøjslinjen. Vælg en projektmappe, og indtast et navn til jobbet.
På næste side skal du oprette en kilde-URI:
Det er her, du indtaster parametrene for din Elasticsearch-klynge. Standardværten og porten for Elasticsearch er localhost og 9200, hvis disse felter efterlades tomme.
Hvis den klynge, som du opretter forbindelse til, har brug for et brugernavn og en adgangskode, skal du indtaste dem i godkendelsesafsnittet. Til dette eksempel bruger jeg vært:localhost, port:9200 og klyngen:Elasticsearch.
Et brugernavn og en adgangskode kan også tilføjes på denne side. For nemheds skyld i denne demonstration er den lokale klynge ikke blevet konfigureret med sikkerhed i tankerne. Enhver ægte klynge skal have login og tilladelser aktiveret for reelle brugssager.
Klik på OK for at afslutte, og du vil blive returneret til den forrige side. Indtast det indeks, du vil søge i. I dette eksempel bruger jeg indekset med navnet kunder .
Dernæst skal du indstille en mål-URI for de maskerede resultater. Husk, at kun maskerede resultater fra Elasticsearch kun kan sendes til Elasticsearch-mål. I dette tilfælde vil jeg bruge den samme kunde-URI, som er oprettet før, men med et andet indeks. Dette vil oprette et nyt indeks med de maskerede resultater, som vil blive oprettet senere i denne demonstration.
Dernæst vil du blive bedt om at oprette en søgematcher, som er ansvarlig for at knytte en dataklasse til en tilsvarende data (maskerings-) regel. Dette er et nødvendigt trin, da ingen maskering kan påføres uden det.
Som forklaret i artiklen om dataklassificering katalogiserer og definerer dataklasser de globale kriterier for at finde og maskere PII i strukturerede, semi-strukturerede eller ustrukturerede kilder for både FieldShield og DarkShield. IRI Workbench leveres med flere foruddefinerede dataklasser (f.eks. navne, e-mail- og IP-adresser, kreditkortnumre), som findes i Window> Preferences> IRI> Data Classes and Groups . Du kan redigere dem og tilføje dine egne.
Klik på Gennemse eller Opret på Data Class-linjen. Gennemse vil lade dig vælge dine egne dataklasser eller en af flere foruddefinerede klasser eller grupper, inklusive e-mail, telefonnummer og navne. I dette tilfælde inkluderer NAMES-dataklassegruppen en fornavnsdataklasse.
Her valgte jeg EMAIL-dataklassen, der vil lede efter e-mails i mit Elasticsearch-indeks:
Nu skal der anvendes en maskeringsregel på den dataklasse, der er blevet valgt. Klik på Opret knappen for at lave en ny dataregel, eller Gennemse for at bruge nogen, du måske allerede har defineret.
Til e-mails vælger jeg en redigeringsfunktion:
Mere end én dataklasse kan naturligvis maskeres samtidigt. Jeg tilføjede klasser og tildelte en formatbevarende krypteringsfunktion til telefonnumre og et tilfældigt pseudonym (sæt filopslag) for folks navne:
Hvis der er behov for søgefiltre, kan de tilføjes på den foregående side. Filtre kan bruges til at finde bestemte resultater eller til at isolere specifikke felter i CSV, XML, JSON eller RDB'er, der skal maskeres, hvilket udelukker behovet for at scanne rækkeindhold. Jeg har dog ikke angivet nogen i dette tilfælde.
Klik på Udfør når du er færdig. Dette fuldender guiden og opretter en .search fil, som indeholder DarkShield-konfigurationsdetaljerne til udførelse af søge- og/eller maskeringsjob(erne).
Bemærk: Hvis du bruger den lokalt hostede standardklynge som den i dette eksempel, skal du sørge for, at klyngen er tændt, da enhver søgning eller maskeringsjob ellers vil mislykkes. Du kan kontrollere, om serveren kører, ved at åbne en webbrowser og skrive "http://localhost:9200/" i adresselinjen.
Søgning og maskering
DarkShield understøtter søgning og maskering som separate eller samtidige operationer. I dette tilfælde vil jeg søge først og se, hvad jeg har fundet, før jeg maskerer det. Det er fordi (større) maskeringsjob kan tage tid, og jeg vil måske finpudse mine søgemetoder og genbekræfte dem.
For at gøre dette skal du højreklikke på .search fil og kør filen som et søgejob. Dette vil oprette en .darkdata med resultaterne af den søgning, der netop blev udført. Artefaktet vises i Workbench således:
Efter at have kontrolleret resultaterne, kan du køre .darkdata fil som en maskering job med at afhjælpe samlingen med den redaktionsfunktion, som jeg specificerede.
De tidligere søgte resultater vil blive maskeret på målstedet. For at bekræfte dette kan du udføre en søgning igen og se, at dataene nu er blevet "DarkShield'ed" som specificeret; dvs. e-mails redigeret, fornavne pseudonymiserede og telefonnumre maskeret med formatbevarende kryptering:
Hvis du har brug for hjælp til at beskytte dine Elasticsearch-samlinger ved at maskere deres data i hvile via denne DarkShield-grænseflade i IRI Workbench eller dens CLI, eller andre semi-/ustrukturerede data under flyvning via DarkShields REST API, bedes du sende en e-mail til [email protected].