Elasticsearch е базирана на Java търсачка, която има HTTP интерфейс и съхранява данните си в JSON документи без схеми. За съжаление, поредица от скъпи и болезнени нарушения на личната информация (PII) продължават да тормозят онлайн базите данни Elasticsearch:
Въпреки това, ако цялата PII или друга чувствителна информация в тези БД бяха маскирани, успешните хакове и копия за разработка може да не са проблематични. Целта на IRI DarkShield е да заключи тази информация в производството или тестването с помощта на функции за анонимизиране, съвместими със закона за поверителност.
Помощникът за търсене и маска на Elasticsearch в графичната IDE на IRI Workbench за IRI DarkShield използва същите инструменти като конекторите MongoDB и Cassandra, описани в тази статия. Този съветник може да се използва за класифициране, намиране и премахване на идентифициране или изтриване на лични данни и друга чувствителна информация, съхранявана в колекциите на Elasticsearch, както и за създаване на резултати от търсене и одит.
Настройване
Ако нямате клъстер Elasticsearch, към който да се свържете, можете лесно да създадете локален клъстер, като изтеглите Elasticsearch от тук и следвате ръководството с инструкции.
За моята демонстрация на този съветник използвам един индекс, наречен customers на локално хостван клъстер. Този индекс съхранява основна информация за клиентите, която обикновено се вижда в акаунт, и е богата цел за злоупотреби. Това включва:имейл, име и телефонен номер:
Търсене
Както при другите източници на данни, които DarkShield поддържа, трябва да създадете .search файл със спецификация на заданието, за да дефинирате вашите критерии за сканиране и пазар. Както бихте направили с MongoDB или Cassandra, изберете Нова задача за търсене/маскиране на NoSQL … от менюто DarkShield в горната част на лентата с инструменти на IRI Workbench. Изберете папка на проекта и въведете име за заданието.
На следващата страница създайте URI на източника:
Тук можете да въведете параметрите за вашия клъстер Elasticsearch. Хостът и портът по подразбиране за Elasticsearch са localhost и 9200, ако тези полета са оставени празни.
Ако клъстерът, към който се свързвате, се нуждае от потребителско име и парола, въведете ги в секцията за удостоверяване. За този пример използвам хост:localhost, порт:9200 и клъстер:Elasticsearch.
На тази страница могат да се добавят и потребителско име и парола. За простота на тази демонстрация, локалният клъстер не е конфигуриран с оглед на сигурността. Всеки реален клъстер трябва да има активирани вход и разрешения за реални случаи на употреба.
Щракнете върху OK за да завършите и ще се върнете на предишната страница. Въведете индекса, който искате да търсите. В този пример използвам индекса с име customers .
След това ще трябва да зададете целеви URI за маскираните резултати. Имайте предвид, че само маскирани резултати на Elasticsearch могат да се изпращат само до целите на Elasticsearch. В този случай ще използвам същия URI на клиентите, създаден преди, но с различен индекс. Това ще създаде нов индекс с маскираните резултати, които ще бъдат създадени по-късно в тази демонстрация.
След това ще бъдете помолени да създадете Search Matcher, който е отговорен за асоциирането на клас данни със съответното правило за маскиране на данни. Това е необходима стъпка, тъй като без него не може да се приложи маскиране.
Както е обяснено в статията за класификация на данни, класовете данни централизират каталог и дефинират глобални критерии за намиране и маскиране на PII в структурирани, полуструктурирани или неструктурирани източници както за FieldShield, така и за DarkShield. IRI Workbench се доставя с няколко предварително дефинирани класа данни (напр. имена, имейл и IP адреси, номера на кредитни карти), намиращи се в Прозорец> Предпочитания> IRI> Класове и групи данни . Можете да ги редактирате и да добавите свои.
Щракнете върху Преглед или Създаване на реда Data Class. Преглед ще ви позволи да изберете свои собствени класове данни или един от няколко предварително дефинирани класа или групи, включително имейл, телефонен номер и имена. В този случай групата класове данни NAMES включва клас данни за собствени имена.
Тук избрах класа данни EMAIL, който ще търси имейли в моя индекс на Elasticsearch:
Сега към избрания клас данни трябва да се приложи правило за маскиране. Щракнете върху Създаване бутон, за да създадете ново правило за данни, или Преглед за да използвате всички, които вече сте дефинирали.
За имейли избирам функция за редактиране:
Разбира се, повече от един клас данни могат да бъдат маскирани едновременно. Добавих класове и присвоих функция за криптиране, запазваща формата на телефонните номера, и произволен псевдоним (задаване на търсене на файл) за имената на хората:
Ако са необходими някакви филтри за търсене, те могат да бъдат добавени на предишната страница. Филтрите могат да се използват за намиране на конкретни резултати или за изолиране на конкретни полета в CSV, XML, JSON или RDB, които да бъдат маскирани, като се изключва необходимостта от сканиране на съдържанието на редове. В този случай обаче не посочих нищо.
Щракнете върху Край когато е готово. Това завършва съветника и създава .search файл, който съдържа подробности за конфигурацията на DarkShield за изпълнение на заданието(ите) за търсене и/или маскиране.
Забележка: Ако използвате локално хостван клъстер по подразбиране като този в този пример, уверете се, че клъстерът е включен, защото в противен случай всички задачи за търсене или маскиране ще се провалят. Можете да проверите дали сървърът работи, като отворите уеб браузър и напишете „http://localhost:9200/“ в адресната лента.
Търсене и маскиране
DarkShield поддържа търсене и маскиране като отделни или едновременни операции. В този случай искам първо да потърся и да видя какво съм намерил, преди да го маскирам. Това е така, защото (по-големите) задачи за маскиране могат да отнемат време и може да искам да усъвършенствам методите си за търсене и да ги потвърдя отново.
За да направите това, щракнете с десния бутон върху .search файл и стартирайте файла като задача за търсене. Това ще създаде .darkdata с резултатите от току-що извършеното търсене. Артефактът се появява в Workbench по следния начин:
След като проверите резултатите, можете да стартирате .darkdata файл като маскиране работа за коригиране на колекцията с функцията за редактиране, която посочих.
По-рано търсените резултати ще бъдат маскирани в целевото местоположение. За да потвърдите това, можете да извършите търсене отново и да видите, че данните вече са „DarkShield’ed“, както е посочено; т.е. редактирани имейли, псевдонимизирани имена и телефонни номера, маскирани с криптиране, запазващо формат:
Ако имате нужда от помощ за защита на вашите колекции Elasticsearch чрез маскиране на техните данни в покой чрез този интерфейс DarkShield в IRI Workbench или неговия CLI, или всякакви полу-/неструктурирани данни в полет чрез REST API на DarkShield, моля, изпратете имейл на [email protected].