Nota
Auditoría en MongoDB Atlas
MongoDB Atlas admite auditorías para todos M10 y clústeres más grandes. Atlas admite la especificación de un filtro de auditoría con formato JSON, como se documenta en Configure filtros de auditoría y utilice el generador de filtros de auditoría de Atlas para simplificar la configuración de auditoría. Para obtener más información, consulte la documentación de Atlas sobre cómo configurar la auditoría de bases de datos y cómo configurar un filtro de auditoría personalizado.
MongoDB Enterprise admite la auditoría de diversas operaciones. Una solución de auditoría completa debe abarcar todos los mongod procesos del servidor y mongos del enrutador.
La función de auditoría puede escribir eventos de auditoría en la consola, el syslog (opción no disponible en Windows), un archivo JSON o un archivo BSON. Para obtener más información sobre las operaciones auditadas y los mensajes del registro de auditoría, consulte Mensajes de auditoría de eventos del sistema.
Habilitar y configurar la salida de auditoría
Para habilitar la auditoría en MongoDB Enterprise, establezca un destino de salida de auditoría con --auditDestination.
Advertencia
Salida a Syslog
Para habilitar la auditoría e imprimir eventos de auditoría en el syslog (opción no disponible en Windows) en formato JSON, especifique syslog en la configuración. Por --auditDestination ejemplo:
mongod --dbpath data/db --auditDestination syslog
Incluir opciones adicionales según sea necesario para la configuración. Por ejemplo, si se desea que los clientes remotos se conecten a su implementación o si los miembros de su implementación se ejecutan en hosts diferentes, especificar el --bind_ip.
Importante
Antes de vincularse a otras direcciones IP, considere habilitar el control de acceso y otras medidas de seguridad enumeradas en la Lista de verificación de seguridad para implementaciones autoadministradas para evitar el acceso no autorizado.
Advertencia
El límite de mensajes de syslog puede provocar el truncamiento de los mensajes de auditoría. El sistema de auditoría no detectará el truncamiento ni el error si ocurre.
También puedes especificar estas opciones en el archivo de configuración:
storage: dbPath: data/db auditLog: destination: syslog
Salida a la consola
Para habilitar la auditoría e imprimir los eventos de auditoría en la salida estándar (esstdout decir,), especifique console en la configuración. Por --auditDestination ejemplo:
mongod --dbpath data/db --auditDestination console
Incluir opciones adicionales según sea necesario para la configuración. Por ejemplo, si se desea que los clientes remotos se conecten a su implementación o si los miembros de su implementación se ejecutan en hosts diferentes, especificar el --bind_ip.
Importante
Antes de vincularse a otras direcciones IP, considere habilitar el control de acceso y otras medidas de seguridad enumeradas en la Lista de verificación de seguridad para implementaciones autoadministradas para evitar el acceso no autorizado.
También puedes especificar estas opciones en el archivo de configuración:
storage: dbPath: data/db auditLog: destination: console
Salida a archivo JSON
Para habilitar la auditoría e imprimir eventos de auditoría en un archivo en formato JSON, especifique las siguientes opciones:
Opción | Valor |
|---|---|
| |
| |
El nombre del archivo de salida. Acepta la ruta completa o la ruta relativa. |
Por ejemplo, lo siguiente habilita la auditoría y registra eventos de auditoría en un archivo con el nombre de ruta relativa de data/db/auditLog.json:
mongod --dbpath data/db --auditDestination file --auditFormat JSON --auditPath data/db/auditLog.json
Incluir opciones adicionales según sea necesario para la configuración. Por ejemplo, si se desea que los clientes remotos se conecten a su implementación o si los miembros de su implementación se ejecutan en hosts diferentes, especificar el --bind_ip.
Importante
Antes de vincularse a otras direcciones IP, considere habilitar el control de acceso y otras medidas de seguridad enumeradas en la Lista de verificación de seguridad para implementaciones autoadministradas para evitar el acceso no autorizado.
El archivo de auditoría se puede rotar con el logRotate comando, ya sea junto con el registro del servidor o de forma independiente. Los detalles de la rotación se pueden configurar con la opción del archivo --logRotate systemLog.logRotate de configuración o la opción de la línea de comandos.
También puedes especificar estas opciones en el archivo de configuración:
storage: dbPath: data/db auditLog: destination: file format: JSON path: data/db/auditLog.json
Nota
La impresión de eventos de auditoría en un archivo en formato JSON degrada el rendimiento del servidor más que imprimirlos en un archivo en formato BSON.
Salida a archivo BSON
Para habilitar la auditoría e imprimir eventos de auditoría en un archivo en formato binario BSON, especifique las siguientes opciones:
Opción | Valor |
|---|---|
| |
| |
El nombre del archivo de salida. Acepta la ruta completa o la ruta relativa. |
Por ejemplo, lo siguiente habilita la auditoría y registra eventos de auditoría en un archivo BSON con el nombre de ruta relativa de data/db/auditLog.bson:
mongod --dbpath data/db --auditDestination file --auditFormat BSON --auditPath data/db/auditLog.bson
Incluir opciones adicionales según sea necesario para la configuración. Por ejemplo, si se desea que los clientes remotos se conecten a su implementación o si los miembros de su implementación se ejecutan en hosts diferentes, especificar el --bind_ip.
Importante
Antes de vincularse a otras direcciones IP, considere habilitar el control de acceso y otras medidas de seguridad enumeradas en la Lista de verificación de seguridad para implementaciones autoadministradas para evitar el acceso no autorizado.
El archivo de auditoría es rotated al mismo tiempo que la entrada de registro del servidor. Los detalles de la rotación pueden configurarse con la opción de archivo de configuración systemLog.logRotate o la opción de línea de comandos --logRotate.
También puedes especificar estas opciones en el archivo de configuración:
storage: dbPath: data/db auditLog: destination: file format: BSON path: data/db/auditLog.bson
El siguiente ejemplo convierte el registro de auditoría en formato legible utilizando y genera el bsondump resultado:
bsondump data/db/auditLog.bson
Gestión de filtros de auditoría en tiempo de ejecución
A partir de MongoDB,5.0 los filtros de auditoría se pueden configurar en tiempo de ejecución. La gestión de filtros de auditoría en tiempo de ejecución ofrece tres ventajas en comparación con las configuraciones de filtros de auditoría especificadas en un mongod archivo mongos de configuración local o:
Separación de responsabilidades
Antes de MongoDB 5.0, cualquier persona que auditara una instancia de MongoDB mongod o mongos tenía que poseer acceso de escritura al sistema de archivos del servidor host para poder actualizar los filtros de auditoría. La gestión de filtros de auditoría en tiempo de ejecución mejora la seguridad al separar el acceso a la auditoría del acceso administrativo.
Usar la administración de filtros de auditoría en tiempo de ejecución en lugar de editar archivos de configuración directamente significa:
No se requiere acceso al sistema de archivos, por lo que un auditor no necesita acceder al servidor host
mongodmongoso.No hay acceso directo al archivo de configuración
mongodmongosde la instancia o.La administración de filtros de auditoría en tiempo
auditAuthorizationSuccessde ejecución solo expone los filtros de auditoría y el parámetro.
Configurabilidad en tiempo de ejecución
A partir de MongoDB,5.0 cuando la Gestión de Filtros de Auditoría en Tiempo de Ejecución está habilitada, la auditoría se puede reconfigurar en tiempo de ejecución sin reiniciar la mongod mongos instancia o. Una instancia configurada estáticamente debe reiniciarse para actualizar su configuración de auditoría.
Las modificaciones del filtro de auditoría realizadas en tiempo de ejecución persisten cuando se apaga y se reinicia una instancia.
Consistencia
Dentro de un clúster, si todos los nodos mongod participantes y mongos están configurados para usar la Gestión de Filtros de Auditoría en Tiempo de Ejecución, cada nodo usará los mismos filtros de auditoría. Por el contrario, si cada nodo tiene sus propios filtros de auditoría configurados localmente, no se garantiza la consistencia de los filtros de auditoría entre los nodos.
Habilitar la administración de filtros de auditoría en tiempo de ejecución
A partir de MongoDB,5.0 las configuraciones de auditoría para mongod los mongos nodos y se pueden configurar en tiempo de ejecución. Un grupo de estos nodos puede participar en una configuración de auditoría distribuida.
Para incluir un nodo en una configuración de auditoría distribuida, actualice el archivo de configuración del nodo de la siguiente manera y reinicie el servidor.
Parameter | Valor |
|---|---|
| |
Sin establecer | |
Sin establecer |
El servidor registra un error y no puede iniciarse si:
runtimeConfigurationestrueyauditLog.filterauditAuthorizationSuccessse establece o.
Para modificar los filtros de auditoría y el parámetro en tiempo de auditAuthorizationSuccess ejecución,setAuditConfig consulte.