sql >> Base de Datos >  >> RDS >> Database

Cómo encontrar y enmascarar PII en Elasticsearch

Elasticsearch es un motor de búsqueda basado en Java que tiene una interfaz HTTP y almacena sus datos en documentos JSON sin esquema. Desafortunadamente, una serie de costosas y dolorosas infracciones de información de identificación personal (PII, por sus siglas en inglés) continúan plagando las bases de datos en línea de Elasticsearch:

Sin embargo, si toda la PII u otra información confidencial en estas bases de datos estuvieran enmascaradas, es posible que los hackeos exitosos y las copias de desarrollo no sean problemáticos. El propósito de IRI DarkShield es bloquear esa información en producción o prueba usando funciones de anonimización que cumplen con la ley de privacidad.

El asistente de máscara y búsqueda de Elasticsearch en el IDE gráfico de IRI Workbench para IRI DarkShield utiliza las mismas herramientas que los conectores MongoDB y Cassandra descritos en este artículo. Este asistente se puede utilizar para clasificar, ubicar y desidentificar o eliminar PII y otra información confidencial contenida en las colecciones de Elasticsearch, y para generar resultados de búsqueda y auditoría.

Configurar

Si no tiene un clúster de Elasticsearch al que conectarse, puede crear fácilmente un clúster local descargando Elasticsearch desde aquí y siguiendo la guía de instrucciones.

Para mi demostración de este asistente, estoy usando un solo índice llamado clientes en un clúster alojado localmente. Este índice almacena información básica del cliente que normalmente se vería en una cuenta y sería un objetivo importante para la malversación. Esto incluye:correo electrónico, nombre y número de teléfono:

Buscar

Al igual que con las otras fuentes de datos compatibles con DarkShield, debe crear un .search archivo de especificación de trabajo para definir sus criterios de escaneo y mercado. Como lo haría con MongoDB o Cassandra, seleccione Nuevo trabajo de búsqueda/enmascaramiento de NoSQL... desde el menú DarkShield en la parte superior de la barra de herramientas de IRI Workbench. Seleccione una carpeta de proyecto e ingrese un nombre para el trabajo.

En la página siguiente, cree un URI de origen:

Aquí es donde ingresa los parámetros para su clúster de Elasticsearch. El host y el puerto predeterminados para Elasticsearch son localhost y 9200 si estos campos se dejan en blanco.

Si el clúster al que se está conectando necesita un nombre de usuario y una contraseña, ingréselos en la sección de autenticación. Para este ejemplo, estoy usando host:localhost, puerto:9200 y el clúster:Elasticsearch.

También se puede agregar un nombre de usuario y una contraseña en esta página. Para simplificar esta demostración, el clúster local no se configuró teniendo en cuenta la seguridad. Cualquier clúster real debe tener el inicio de sesión y los permisos habilitados para casos de uso reales.

Haga clic en Aceptar para terminar y volverá a la página anterior. Escriba el índice que le gustaría buscar. En este ejemplo, estoy usando el índice llamado clientes .

A continuación, deberá establecer un URI de destino para los resultados enmascarados. Tenga en cuenta que solo los resultados enmascarados de Elasticsearch solo se pueden enviar a objetivos de Elasticsearch. En este caso, usaré el mismo URI de Clientes creado anteriormente pero con un índice diferente. Esto creará un nuevo índice con los resultados enmascarados que se crearán más adelante en esta demostración.

A continuación, se le pedirá que cree un Search Matcher, que es responsable de asociar una clase de datos con una regla de datos (enmascaramiento) correspondiente. Este es un paso necesario ya que no se puede aplicar ningún enmascaramiento sin él.

Como se explica en el artículo Clasificación de datos, las Clases de datos catalogan y definen criterios globales de forma centralizada para encontrar y enmascarar PII en fuentes estructuradas, semiestructuradas o no estructuradas para FieldShield y DarkShield. IRI Workbench se envía con varias clases de datos predefinidas (p. ej., nombres, direcciones de correo electrónico e IP, números de tarjetas de crédito), que se encuentran en Ventana> Preferencias> IRI> Clases y grupos de datos . Puede editarlos y agregar los suyos propios.

Haga clic en Examinar o Crear en la línea Clase de datos. Examinar le permitirá seleccionar sus propias clases de datos, o una de varias clases o grupos predefinidos, incluidos el correo electrónico, el número de teléfono y los nombres. En este caso, el grupo de clase de datos NOMBRES incluye una clase de datos de nombres.

Aquí seleccioné la clase de datos EMAIL que buscará correos electrónicos dentro de mi índice de Elasticsearch:

Ahora se debe aplicar una regla de enmascaramiento a la clase de datos que se ha elegido. Haga clic en Crear botón para crear una nueva regla de datos, o Examinar para usar cualquiera que ya hayas definido.

Para correos electrónicos, elijo una función de redacción:

Por supuesto, se puede enmascarar más de una clase de datos simultáneamente. Agregué clases y asigné una función de encriptación que conserva el formato a los números de teléfono y un seudónimo aleatorio (establecer búsqueda de archivos) para los nombres de las personas:

Si se necesitan filtros de búsqueda, se pueden agregar en la página anterior. Los filtros se pueden usar para encontrar resultados particulares o para aislar campos específicos en CSV, XML, JSON o RDB para enmascararlos, lo que evita la necesidad de escanear el contenido de las filas. Sin embargo, no especifiqué ninguno en este caso.

Haga clic en Finalizar cuando termine. Esto completa el asistente y crea una .búsqueda archivo que contiene los detalles de configuración de DarkShield para ejecutar los trabajos de búsqueda y/o enmascaramiento.

Nota: Si está utilizando el clúster alojado localmente predeterminado como el de este ejemplo, asegúrese de que el clúster esté activado, ya que, de lo contrario, cualquier trabajo de búsqueda o enmascaramiento fallará. Puede comprobar si el servidor se está ejecutando abriendo un navegador web y escribiendo "http://localhost:9200/" en la barra de direcciones.

Búsqueda y enmascaramiento

DarkShield admite la búsqueda y el enmascaramiento como operaciones separadas o simultáneas. En este caso, quiero buscar primero y ver lo que encontré antes de enmascararlo. Esto se debe a que los trabajos de enmascaramiento (más grandes) pueden llevar tiempo y es posible que desee perfeccionar mis métodos de búsqueda y volver a verificarlos.

Para hacer esto, haga clic con el botón derecho en .buscar y ejecute el archivo como un trabajo de búsqueda. Esto creará un .darkdata con los resultados de la búsqueda que se acaba de realizar. El artefacto aparece en Workbench así:

Después de comprobar los resultados, puede ejecutar .darkdata archivo como enmascaramiento trabajo para remediar la colección con la función de redacción que especifiqué.

Los resultados de la búsqueda anterior se ocultarán en la ubicación de destino. Para verificar esto, puede realizar una búsqueda nuevamente y ver que los datos ahora han sido "DarkShield'ed" como se especifica; es decir, correos electrónicos redactados, nombres con seudónimos y números de teléfono enmascarados con cifrado que preserva el formato:

Si necesita ayuda para proteger sus colecciones de Elasticsearch enmascarando sus datos en reposo a través de esta interfaz DarkShield en IRI Workbench o su CLI, o cualquier dato semiestructurado o no estructurado en tránsito a través de la API REST de DarkShield, envíe un correo electrónico a [email protected].