Database
 sql >> Baza danych >  >> RDS >> Database

Jak znaleźć i zamaskować dane osobowe w Elasticsearch?

Elasticsearch to wyszukiwarka oparta na Javie, która ma interfejs HTTP i przechowuje swoje dane w dokumentach JSON wolnych od schematów. Niestety, fala kosztownych i bolesnych naruszeń danych osobowych (PII) nadal nęka internetowe bazy danych Elasticsearch:

Gdyby wszystkie dane osobowe lub inne poufne informacje w tych bazach danych były zamaskowane, udane ataki hakerskie i kopie programistyczne mogą nie stanowić problemu. Celem IRI DarkShield jest zablokowanie tych informacji w produkcji lub testowaniu przy użyciu funkcji anonimizacji zgodnych z prawem prywatności.

Kreator wyszukiwania i maskowania Elasticsearch w graficznym IDE IRI Workbench dla IRI DarkShield używa tych samych narzędzi, co złącza MongoDB i Cassandra opisane w tym artykule. Ten kreator może być używany do klasyfikowania, lokalizowania i deidentyfikacji lub usuwania danych osobowych i innych poufnych informacji przechowywanych w kolekcjach Elasticsearch oraz do generowania wyników wyszukiwania i audytu.

Konfiguracja

Jeśli nie masz klastra Elasticsearch, z którym możesz się połączyć, możesz łatwo utworzyć klaster lokalny, pobierając Elasticsearch stąd i postępując zgodnie z instrukcją.

Do demonstracji tego kreatora używam jednego indeksu o nazwie klienci w klastrze hostowanym lokalnie. Ten indeks przechowuje podstawowe informacje o klientach, które normalnie byłyby widoczne na koncie i stanowią bogaty cel nadużyć. Obejmuje to:adres e-mail, imię i nazwisko oraz numer telefonu:

Wyszukaj

Podobnie jak w przypadku innych źródeł danych obsługiwanych przez DarkShield, musisz utworzyć .search plik specyfikacji pracy, aby zdefiniować kryteria skanowania i rynku. Tak jak w przypadku MongoDB lub Cassandra, wybierz Nowe zadanie wyszukiwania/maskowania NoSQL… z menu DarkShield na pasku narzędzi IRI Workbench. Wybierz folder projektu i wprowadź nazwę zadania.

Na następnej stronie utwórz źródłowy identyfikator URI:

Tutaj wprowadzasz parametry klastra Elasticsearch. Domyślny host i port dla Elasticsearch to localhost i 9200, jeśli te pola pozostaną puste.

Jeśli klaster, z którym się łączysz, wymaga nazwy użytkownika i hasła, wprowadź je w sekcji uwierzytelniania. W tym przykładzie używam hosta:localhost, portu:9200 i klastra:Elasticsearch.

Na tej stronie można również dodać nazwę użytkownika i hasło. Dla uproszczenia tej demonstracji klaster lokalny nie został skonfigurowany z myślą o bezpieczeństwie. Każdy prawdziwy klaster powinien mieć login i uprawnienia włączone dla rzeczywistych przypadków użycia.

Kliknij OK zakończyć, a nastąpi powrót do poprzedniej strony. Wpisz indeks, który chcesz przeszukać. W tym przykładzie używam indeksu o nazwie klienci .

Następnie musisz ustawić docelowy identyfikator URI dla zamaskowanych wyników. Należy pamiętać, że tylko zamaskowane wyniki Elasticsearch mogą być wysyłane tylko do celów Elasticsearch. W tym przypadku będę używał tego samego identyfikatora URI klienta utworzonego wcześniej, ale z innym indeksem. Spowoduje to utworzenie nowego indeksu z zamaskowanymi wynikami, które zostaną utworzone później w tej demonstracji.

Następnie zostaniesz poproszony o utworzenie Search Matcher, który jest odpowiedzialny za powiązanie klasy danych z odpowiadającą jej regułą (maskowania) danych. Jest to niezbędny krok, ponieważ bez niego nie można zastosować maskowania.

Jak wyjaśniono w artykule dotyczącym klasyfikacji danych, klasy danych centralnie katalogują i definiują globalne kryteria wyszukiwania i maskowania danych osobowych w ustrukturyzowanych, częściowo ustrukturyzowanych lub nieustrukturyzowanych źródłach zarówno dla FieldShield, jak i DarkShield. IRI Workbench jest dostarczany z kilkoma predefiniowanymi klasami danych (np. nazwiska, adresy e-mail i IP, numery kart kredytowych), które można znaleźć w Okno> Preferencje> IRI> Klasy i grupy danych . Możesz je edytować i dodawać własne.

Kliknij opcję Przeglądaj lub Utwórz w wierszu Klasa danych. Przeglądaj pozwoli Ci wybrać własne klasy danych lub jedną z kilku predefiniowanych klas lub grup, w tym e-mail, numer telefonu i nazwiska. W tym przypadku grupa klas danych NAMES zawiera klasę danych imion.

Tutaj wybrałem klasę danych EMAIL, która będzie szukać wiadomości e-mail w moim indeksie Elasticsearch:

Teraz reguła maskowania musi zostać zastosowana do wybranej klasy danych. Kliknij przycisk Utwórz przycisk, aby utworzyć nową regułę danych, lub Przeglądaj aby użyć dowolnych, które już zdefiniowałeś.

W przypadku wiadomości e-mail wybieram funkcję redakcji:

Oczywiście jednocześnie można maskować więcej niż jedną klasę danych. Dodałem klasy i przypisałem funkcję szyfrowania zachowującą format do numerów telefonów oraz losowy pseudonim (ustaw wyszukiwanie plików) dla imion osób:

Jeśli potrzebne są jakieś filtry wyszukiwania, można je dodać na poprzedniej stronie. Filtry mogą być używane do znajdowania określonych wyników lub do izolowania określonych pól w CSV, XML, JSON lub RDB w celu zamaskowania, co wyklucza konieczność skanowania zawartości wierszy. Jednak w tym przypadku nie określiłem żadnego.

Kliknij Zakończ po zakończeniu. To kończy działanie kreatora i tworzy .search plik zawierający szczegóły konfiguracji DarkShield do wykonywania zadań wyszukiwania i/lub maskowania.

Uwaga: Jeśli używasz domyślnego klastra hostowanego lokalnie, takiego jak ten w tym przykładzie, upewnij się, że klaster jest włączony, ponieważ w przeciwnym razie wszelkie zadania wyszukiwania lub maskowania zakończą się niepowodzeniem. Możesz sprawdzić, czy serwer działa, otwierając przeglądarkę internetową i wpisując „http://localhost:9200/” w pasku adresu.

Wyszukiwanie i maskowanie

DarkShield obsługuje wyszukiwanie i maskowanie jako oddzielne lub jednoczesne operacje. W takim przypadku chcę najpierw wyszukać i zobaczyć, co znalazłem, zanim to zamaskuję. Dzieje się tak, ponieważ (większe) zadania maskowania mogą zająć trochę czasu, a ja mogę chcieć udoskonalić moje metody wyszukiwania i ponownie je zweryfikować.

Aby to zrobić, kliknij prawym przyciskiem myszy .szukaj plik i uruchom plik jako zadanie wyszukiwania. Spowoduje to utworzenie .darkdata z wynikami właśnie przeprowadzonego wyszukiwania. Artefakt pojawia się w Workbenchu ​​w następujący sposób:

Po sprawdzeniu wyników możesz uruchomić plik .darkdata plik jako maska ​​ zadanie naprawienia kolekcji za pomocą określonej przeze mnie funkcji redakcyjnej.

Wcześniej wyszukiwane wyniki zostaną zamaskowane w lokalizacji docelowej. Aby to sprawdzić, możesz ponownie przeprowadzić wyszukiwanie i zobaczyć, że dane zostały teraz „zaciemnione” zgodnie z opisem; tj. zredagowane e-maile, pseudonimizowane imiona i numery telefonów zamaskowane za pomocą szyfrowania zachowującego format:

Jeśli potrzebujesz pomocy w ochronie swoich kolekcji Elasticsearch poprzez maskowanie ich danych w spoczynku za pomocą interfejsu DarkShield w IRI Workbench lub jego CLI, lub jakichkolwiek częściowo/nieustrukturyzowanych danych w locie za pośrednictwem interfejsu API REST DarkShield, wyślij e-mail na adres [email protected].


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połączenie krzyżowe SQL

  2. Monitorowanie opóźnienia odczytu/zapisu

  3. Estymacja liczności dla wielu predykatów

  4. Treść nieustrukturyzowana:niewykorzystane źródło paliwa dla sztucznej inteligencji i uczenia maszynowego

  5. SQL Union — kompleksowy przewodnik po operatorze UNION