Elasticsearch is een op Java gebaseerde zoekmachine die een HTTP-interface heeft en de gegevens opslaat in schemavrije JSON-documenten. Helaas blijft een golf van kostbare en pijnlijke inbreuken op persoonlijk identificeerbare informatie (PII) online Elasticsearch-databases teisteren:
Als alle PII of andere gevoelige informatie in deze DB's echter gemaskeerd waren, zouden succesvolle hacks en ontwikkelingskopieën geen probleem kunnen zijn. Het doel van IRI DarkShield is om die informatie in productie of test te vergrendelen met behulp van anonimiseringsfuncties die voldoen aan de privacywetgeving.
De Elastische zoek- en maskerwizard in de IRI Workbench gebruikt de grafische IDE voor IRI DarkShield dezelfde tooling als de MongoDB- en Cassandra-connectoren die in dit artikel worden beschreven. Deze wizard kan worden gebruikt om PII en andere gevoelige informatie in Elasticsearch-collecties te classificeren, lokaliseren en de-identificeren of verwijderen, en om zoek- en controleresultaten te produceren.
Instellen
Als u geen Elasticsearch-cluster heeft om verbinding mee te maken, kunt u eenvoudig een lokaal cluster maken door Elasticsearch hier te downloaden en de instructiehandleiding te volgen.
Voor mijn demonstratie van deze wizard gebruik ik een enkele index genaamd klanten op een lokaal gehost cluster. Deze index slaat elementaire klantinformatie op die normaal gezien in een account te zien zou zijn, en een rijk doelwit zijn voor misdrijven. Dit omvat:e-mail, naam en telefoonnummer:
Zoeken
Net als bij de andere gegevensbronnen die DarkShield ondersteunt, moet u een .search . maken taakspecificatiebestand om uw scan- en marktcriteria te definiëren. Zoals u zou doen met MongoDB of Cassandra, selecteert u de Nieuwe NoSQL-zoek-/maskertaak … vanuit het DarkShield-menu boven op de IRI Workbench-werkbalk. Selecteer een projectmap en voer een naam in voor de taak.
Maak op de volgende pagina een bron-URI:
Hier voert u de parameters voor uw Elasticsearch-cluster in. De standaardhost en poort voor Elasticsearch zijn localhost en 9200 als deze velden leeg blijven.
Als het cluster waarmee u verbinding maakt een gebruikersnaam en wachtwoord nodig heeft, voert u deze in het verificatiegedeelte in. Voor dit voorbeeld gebruik ik host:localhost, port:9200 en het cluster:Elasticsearch.
Op deze pagina kan ook een gebruikersnaam en wachtwoord worden toegevoegd. Voor de eenvoud van deze demonstratie is het lokale cluster niet geconfigureerd met het oog op beveiliging. Elke echte cluster moet inloggen en machtigingen hebben ingeschakeld voor echte gebruiksgevallen.
Klik op OK om af te ronden en u keert terug naar de vorige pagina. Typ de index waarin u wilt zoeken. In dit voorbeeld gebruik ik de index met de naam klanten .
Vervolgens moet u een doel-URI instellen voor de gemaskeerde resultaten. Houd er rekening mee dat alleen gemaskeerde resultaten van Elasticsearch alleen naar Elasticsearch-doelen kunnen worden verzonden. In dit geval gebruik ik dezelfde klanten-URI die eerder is gemaakt, maar met een andere index. Hiermee wordt een nieuwe index gemaakt met de gemaskeerde resultaten die later in deze demonstratie worden gemaakt.
Vervolgens wordt u gevraagd om een Search Matcher aan te maken, die verantwoordelijk is voor het koppelen van een Data Class aan een corresponderende Data (Masking) Rule. Dit is een noodzakelijke stap omdat er geen maskering kan worden toegepast zonder.
Zoals uitgelegd in het artikel Gegevensclassificatie, catalogiseren en definiëren gegevensklassen centraal algemene criteria voor het vinden en maskeren van PII in gestructureerde, semi-gestructureerde of ongestructureerde bronnen voor zowel FieldShield als DarkShield. IRI Workbench wordt geleverd met verschillende vooraf gedefinieerde gegevensklassen (bijv. namen, e-mailadressen en IP-adressen, creditcardnummers), te vinden in Venster> Voorkeuren> IRI> Gegevensklassen en -groepen . U kunt deze bewerken en uw eigen toevoegen.
Klik op Bladeren of Maken op de Data Class-regel. Met Bladeren kunt u uw eigen dataklassen selecteren, of een van de verschillende vooraf gedefinieerde klassen of groepen, inclusief e-mail, telefoonnummer en namen. In dit geval bevat de gegevensklassengroep NAMES een gegevensklasse voor voornamen.
Hier heb ik de EMAIL-gegevensklasse geselecteerd die zal zoeken naar e-mails in mijn Elasticsearch-index:
Nu moet er een maskeerregel worden toegepast op de dataklasse die is gekozen. Klik op de knop Maken knop om een nieuwe gegevensregel te maken, of Bladeren om iets te gebruiken dat u mogelijk al hebt gedefinieerd.
Voor e-mails kies ik een redactiefunctie:
Meer dan één dataklasse kan natuurlijk tegelijkertijd worden gemaskeerd. Ik heb klassen toegevoegd en een formaatbehoudende coderingsfunctie toegewezen aan telefoonnummers, en een willekeurig pseudoniem (bestand opzoeken) voor de namen van mensen:
Als er zoekfilters nodig zijn, kunnen deze op de vorige pagina worden toegevoegd. Filters kunnen worden gebruikt om bepaalde resultaten te vinden of om specifieke velden in CSV, XML, JSON of RDB's te isoleren die moeten worden gemaskeerd, zodat het niet nodig is de rij-inhoud te scannen. In dit geval heb ik er echter geen gespecificeerd.
Klik op Voltooien wanneer klaar. Dit voltooit de wizard en creëert een .search bestand dat de DarkShield-configuratiegegevens bevat voor het uitvoeren van de zoek- en/of maskeertaak(en).
Opmerking: Als u het standaard lokaal gehoste cluster gebruikt, zoals in dit voorbeeld, zorg er dan voor dat het cluster is ingeschakeld, omdat anders alle zoek- of maskeertaken mislukken. U kunt controleren of de server actief is door een webbrowser te openen en "http://localhost:9200/" in de adresbalk te typen.
Zoeken en maskeren
DarkShield ondersteunt zoeken en maskeren als afzonderlijke of gelijktijdige bewerkingen. In dit geval wil ik eerst zoeken en zien wat ik heb gevonden voordat ik het maskeer. Dat komt omdat (grotere) maskeertaken tijd kunnen vergen, en ik wil misschien mijn zoekmethoden aanscherpen en ze opnieuw verifiëren.
Klik hiervoor met de rechtermuisknop op de .search bestand en voer het bestand uit als een zoektaak. Hiermee wordt een .darkdata . gemaakt met de resultaten van de zoekopdracht die zojuist is uitgevoerd. Het artefact verschijnt als volgt in Workbench:
Nadat u de resultaten heeft gecontroleerd, kunt u de .darkdata . uitvoeren bestand als een maskering taak om de collectie te herstellen met de redactiefunctie die ik heb opgegeven.
De eerder gezochte resultaten worden gemaskeerd op de doellocatie. Om dit te verifiëren, kunt u opnieuw een zoekopdracht uitvoeren en zien dat de gegevens nu "DarkShield'ed" zijn zoals gespecificeerd; d.w.z. e-mails geredigeerd, voornamen gepseudonimiseerd en telefoonnummers gemaskeerd met formaatbehoudende codering:
Als je hulp nodig hebt bij het beschermen van je Elasticsearch-collecties door hun data in rust te maskeren via deze DarkShield-interface in IRI Workbench of de CLI, of semi-/ongestructureerde data tijdens de vlucht via DarkShield's REST API, stuur dan een e-mail naar [email protected].