Introducción

En este tema, exploraremos cómo implementar auditoría y cumplimiento en Elasticsearch. La auditoría es crucial para rastrear y registrar todas las actividades dentro de tu clúster de Elasticsearch, lo que es esencial para la seguridad y el cumplimiento de normativas. Veremos cómo configurar la auditoría, qué tipos de eventos se pueden auditar y cómo analizar los registros de auditoría.

Conceptos Clave

  1. Auditoría: Proceso de registrar y revisar las actividades y eventos que ocurren en el sistema.
  2. Cumplimiento: Asegurarse de que el sistema cumple con las normativas y políticas de seguridad establecidas.
  3. Eventos de Auditoría: Acciones específicas que se registran, como inicios de sesión, cambios en la configuración, accesos a datos, etc.
  4. Registros de Auditoría: Archivos o entradas de registro que contienen los detalles de los eventos de auditoría.

Configuración de la Auditoría en Elasticsearch

Paso 1: Habilitar la Auditoría

Para habilitar la auditoría en Elasticsearch, necesitas modificar la configuración del archivo elasticsearch.yml. Añade las siguientes líneas:

xpack.security.audit.enabled: true
xpack.security.audit.outputs: [ index, logfile ]
  • xpack.security.audit.enabled: Activa la auditoría.
  • xpack.security.audit.outputs: Define los destinos de los registros de auditoría. Puede ser index (almacenado en un índice de Elasticsearch), logfile (almacenado en un archivo de registro) o ambos.

Paso 2: Configurar los Eventos de Auditoría

Puedes especificar qué eventos deseas auditar. Aquí hay un ejemplo de configuración:

xpack.security.audit.logfile.events.include: [ "access_granted", "access_denied", "authentication_failed" ]
xpack.security.audit.logfile.events.exclude: [ "run_as_granted" ]
  • xpack.security.audit.logfile.events.include: Lista de eventos que se deben incluir en los registros de auditoría.
  • xpack.security.audit.logfile.events.exclude: Lista de eventos que se deben excluir de los registros de auditoría.

Tipos de Eventos de Auditoría

Evento Descripción
access_granted Acceso concedido a un recurso.
access_denied Acceso denegado a un recurso.
authentication_failed Fallo en la autenticación de un usuario.
run_as_granted Acceso concedido a un recurso usando la función "run as".
run_as_denied Acceso denegado a un recurso usando la función "run as".
system_access_granted Acceso concedido a un recurso del sistema.
system_access_denied Acceso denegado a un recurso del sistema.

Analizando los Registros de Auditoría

Acceso a los Registros de Auditoría

Si has configurado los registros de auditoría para que se almacenen en un índice de Elasticsearch, puedes acceder a ellos mediante consultas de búsqueda. Por ejemplo:

GET /_search
{
  "query": {
    "match": {
      "event.type": "access_denied"
    }
  }
}

Este ejemplo busca todos los eventos donde el acceso fue denegado.

Ejemplo de Registro de Auditoría

Un registro de auditoría típico puede verse así:

{
  "timestamp": "2023-10-01T12:34:56Z",
  "event.type": "access_granted",
  "user.name": "john_doe",
  "user.roles": ["admin"],
  "origin.type": "rest",
  "origin.address": "192.168.1.100",
  "request.method": "GET",
  "request.path": "/index/_search"
}

Ejercicio Práctico

Ejercicio: Configurar y Analizar Auditoría

  1. Configurar Auditoría: Habilita la auditoría en tu clúster de Elasticsearch y configura para registrar los eventos access_granted y access_denied.
  2. Generar Eventos: Realiza algunas operaciones en Elasticsearch que generen eventos de acceso concedido y denegado.
  3. Consultar Registros: Usa una consulta de búsqueda para encontrar y analizar los eventos registrados.

Solución:

  1. Modifica elasticsearch.yml:

    xpack.security.audit.enabled: true
    xpack.security.audit.outputs: [ index ]
    xpack.security.audit.index.events.include: [ "access_granted", "access_denied" ]
    
  2. Realiza operaciones como búsquedas y accesos a índices con diferentes usuarios para generar eventos.

  3. Consulta los registros:

    GET /_search
    {
      "query": {
        "terms": {
          "event.type": ["access_granted", "access_denied"]
        }
      }
    }
    

Conclusión

La auditoría y el cumplimiento son componentes esenciales para mantener la seguridad y la integridad de tu clúster de Elasticsearch. Habilitar y configurar la auditoría te permite rastrear y registrar actividades críticas, lo que es vital para cumplir con las normativas y políticas de seguridad. Asegúrate de revisar regularmente los registros de auditoría para detectar y responder a cualquier actividad sospechosa.

En el próximo módulo, exploraremos cómo integrar Elasticsearch con otras herramientas del ecosistema, como Logstash y Kibana, para mejorar aún más tus capacidades de búsqueda y análisis.

© Copyright 2024. Todos los derechos reservados