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
- Auditoría: Proceso de registrar y revisar las actividades y eventos que ocurren en el sistema.
- Cumplimiento: Asegurarse de que el sistema cumple con las normativas y políticas de seguridad establecidas.
- Eventos de Auditoría: Acciones específicas que se registran, como inicios de sesión, cambios en la configuración, accesos a datos, etc.
- 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
: Activa la auditoría.xpack.security.audit.outputs
: Define los destinos de los registros de auditoría. Puede serindex
(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:
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
- Configurar Auditoría: Habilita la auditoría en tu clúster de Elasticsearch y configura para registrar los eventos
access_granted
yaccess_denied
. - Generar Eventos: Realiza algunas operaciones en Elasticsearch que generen eventos de acceso concedido y denegado.
- Consultar Registros: Usa una consulta de búsqueda para encontrar y analizar los eventos registrados.
Solución:
-
Modifica
elasticsearch.yml
:xpack.security.audit.enabled: true xpack.security.audit.outputs: [ index ] xpack.security.audit.index.events.include: [ "access_granted", "access_denied" ]
-
Realiza operaciones como búsquedas y accesos a índices con diferentes usuarios para generar eventos.
-
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.
Curso de Elasticsearch
Módulo 1: Introducción a Elasticsearch
- ¿Qué es Elasticsearch?
- Instalando Elasticsearch
- Conceptos Básicos: Nodos, Clústeres e Índices
- Arquitectura de Elasticsearch
Módulo 2: Empezando con Elasticsearch
Módulo 3: Técnicas Avanzadas de Búsqueda
Módulo 4: Modelado de Datos y Gestión de Índices
- Mapeo y Analizadores
- Plantillas de Índices
- Alias y Reindexación
- Gestión del Ciclo de Vida del Índice
Módulo 5: Rendimiento y Escalabilidad
- Optimizando el Rendimiento de Búsqueda
- Escalando Elasticsearch
- Monitoreo y Mantenimiento
- Respaldo y Restauración
Módulo 6: Seguridad y Control de Acceso
- Asegurando Elasticsearch
- Autenticación y Autorización de Usuarios
- Control de Acceso Basado en Roles
- Auditoría y Cumplimiento
Módulo 7: Integraciones y Ecosistema
- Elasticsearch con Logstash
- Elasticsearch con Kibana
- Elasticsearch con Beats
- Elasticsearch con Otras Herramientas