Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: servicios de seguridad Oracle Solaris 11 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Uso de la herramienta básica de creación de informes de auditoría (tareas)
7. Control de acceso a archivos (tareas)
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Autenticación de servicios de red (tareas)
17. Uso de Secure Shell (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
Conceptos y terminología de auditoría
Clases de auditoría y preselección
Registros de auditoría y tokens de auditoría
Módulos de complemento de auditoría
Almacenamiento y gestión de la pista de auditoría
¿Cómo se relaciona la auditoría con la seguridad?
¿Cómo se configura la auditoría?
Auditoría en un sistema con zonas de Oracle Solaris
Acerca del servicio de auditoría en esta versión
27. Planificación de la auditoría
Los siguientes términos se usan para describir el servicio de auditoría. Algunas definiciones incluyen enlaces a descripciones más completas.
Una agrupación de eventos de auditoría. Las clases de auditoría proporcionan una forma de seleccionar un grupo de eventos que se van a auditar.
Para obtener más información, consulte Clases de auditoría y preselección y las páginas del comando man audit_flags(5), audit_class(4) y audit_event(4).
Un depósito de archivos de auditoría en formato binario.
Para obtener más información, consulte Registros de auditoría y la página del comando man audit.log(4).
Una acción del sistema relacionada con la seguridad que se puede auditar. Para una mayor facilidad de selección, los eventos se agrupan en clases de auditoría.
Para obtener más información, consulte Eventos de auditoría y la página del comando man audit_event(4).
Una clase de auditoría que se proporciona como un argumento para un comando o palabra clave. Un indicador puede estar precedido de un signo más o signo menos para indicar que la clase se audita para determinar si es correcta (+) o tiene fallos (-). Un signo de intercalación (^) indica que no se debe auditar una clase correcta (^+) o que no se debe auditar una clase con fallos ^-).
Para obtener más información, consulte la página del comando man audit_flags(5) y Sintaxis de la clase de auditoría.
Un módulo que transfiere los registros de auditoría de la cola a una ubicación especificada. El complemento audit_binfile crea archivos de auditoría binarios. Los archivos de auditoría binarios incluyen la pista de auditoría, que está almacenada en sistemas de archivos de auditoría. El complemento audit_remote envía registros de auditoría binarios a un depósito remoto. El complemento audit_syslog realiza un resumen de todos los registros de auditoría en los registros syslog.
Para obtener más información, consulte Módulos de complemento de auditoría y las páginas del comando man de módulo, audit_binfile(5), audit_remote(5) y audit_syslog(5).
Un conjunto de opciones de auditoría que puede habilitar o deshabilitar en el sitio. Estas opciones incluyen si se desean registrar o no determinados tipos de datos de auditoría. Las opciones también incluyen si se desean suspender o no acciones auditables cuando la cola de auditoría está llena.
Para obtener más información, consulte Comprensión de la política de auditoría y la página del comando man auditconfig(1M).
Datos de auditoría que se recopilan en la cola de auditoría. Un registro de auditoría describe un único evento de auditoría. Cada registro de auditoría se compone de tokens de auditoría.
Para obtener más información, consulte Registros de auditoría y tokens de auditoría y la página del comando man audit.log(4).
Un campo de un evento o registro de auditoría. Cada token de auditoría describe un atributo de un evento de auditoría, como un usuario, un programa u otro objeto.
Para obtener más información, consulte Formatos de token de auditoría y la página del comando man audit.log(4).
Una colección de uno o más archivos de auditoría que almacenan los datos de auditoría de todos los sistemas auditados que utilizan el complemento predeterminado, audit_binfile.
Para obtener más información, consulte Pista de auditoría.
La elección de qué eventos de auditoría se deben examinar en la pista de auditoría. El complemento activo predeterminado, audit_binfile , crea la pista de auditoría. Una herramienta de selección posterior, el comando auditreduce, selecciona registros de la pista de auditoría.
Para obtener más información, consulte las páginas del comando man auditreduce(1M) y praudit(1M).
La elección de qué clases de auditoría se deben supervisar. Los eventos de auditoría de clases de auditoría preseleccionadas se recopilan en la cola de auditoría. Las clases de auditoría que no se preseleccionan no se auditan, por lo que sus eventos no aparecen en la cola.
Para obtener más información, consulte Clases de auditoría y preselección y las páginas del comando man audit_flags(5) y auditconfig(1M).
Un archivo que es propiedad del usuario root y que todo el mundo puede leer. Por ejemplo, los archivos en el directorio /etc y el directorio /usr/bin son objetos públicos. Los objetos públicos no se auditan en eventos de sólo lectura. Por ejemplo, incluso si la clase de auditoría file_read (fr) está preseleccionada, la lectura de objetos públicos no se audita. Puede sustituir el valor predeterminado cambiando la opción de política de auditoría public.
Los eventos de auditoría representan acciones que se pueden auditar en un sistema. Los eventos de auditoría se muestran en el archivo /etc/security/audit_event. Cada evento de auditoría está conectado a una llamada del sistema o comando de usuario, y está asignado a una o más clases de auditoría. Para obtener una descripción del formato del archivo audit_event, consulte la página del comando man audit_event(4).
Por ejemplo, el evento de auditoría AUE_EXECVE audita la llamada del sistema execve(). El comando auditrecord -e execve muestra esta entrada:
execve system call execve See execve(2) event ID 23 AUE_EXECVE class ps,ex (0x0000000040100000) header path [attribute] omitted on error [exec_arguments] output if argv policy is set [exec_environment] output if arge policy is set subject [use_of_privilege] return
Cuando preselecciona la clase de auditoría ps o la clase de auditoría ex, entonces cada llamada del sistema execve() se registra en la cola de auditoría.
La auditoría maneja eventos atribuibles y no atribuibles. La política de auditoría divide los eventos en síncronos y asíncronos, de la siguiente manera:
Eventos atribuibles: eventos que se pueden atribuir a un usuario. La llamada del sistema execve() se puede atribuir a un usuario, por lo tanto, se considera un evento atribuible. Todos los eventos atribuibles son eventos síncronos.
Eventos no atribuibles: eventos que ocurren en el nivel de interrupción del núcleo o antes de que un usuario sea autenticado. La clase de auditoría na maneja los eventos de auditoría que no son atribuibles. Por ejemplo, el inicio del sistema es un evento no atribuible. La mayoría de los eventos no atribuibles son eventos asíncronos. Sin embargo, los eventos no atribuibles que tienen procesos asociados, como inicios de sesión fallidos, son eventos síncronos.
Eventos síncronos: eventos que están asociados con un proceso en el sistema. La mayoría de los eventos del sistema son eventos síncronos.
Eventos asíncronos: eventos que no están asociados con ningún proceso, por lo que no hay ningún proceso disponible para bloquear y más tarde reactivar. Los eventos de salida y entrada de la PROM, y de inicio del sistema inicial son ejemplos de eventos asíncronos.
Además de los eventos de auditoría que define el servicio de auditoría, las aplicaciones de terceros pueden generar eventos de auditoría. Los números de evento de auditoría de 32768 a 65535 están disponibles para aplicaciones de terceros. Los proveedores necesitan ponerse en contacto con sus representantes de Oracle Solaris para reservar números de evento y obtener acceso a las interfaces de auditoría.
Cada uno de los eventos de auditoría pertenece a una clase de auditoría o a clases de auditoría. Las clases de auditoría son contenedores prácticos para un gran número de eventos de auditoría. Cuando se preselecciona una clase para auditar, todos los eventos de esa clase se registran en la cola de auditoría. Por ejemplo, cuando preselecciona la clase de auditoría ps, se registran execve(), fork () y otras llamadas del sistema.
Puede preseleccionar para eventos de un sistema y para eventos iniciados por un usuario concreto.
Preselección en todo el sistema: especifique los valores predeterminados en todo el sistema para auditoría mediante las opciones -setflags y -setnaflags para el comando auditconfig.
Nota - Si la política perzone está establecida, se pueden especificar las clases de auditoría predeterminadas en cada zona. Para la auditoría perzone, los valores predeterminados son para toda la zona y no para todo el sistema.
Preselección específica del usuario: especifique diferencias de valores predeterminados de auditoría en todo el sistema para usuarios individuales mediante la configuración de los indicadores de auditoría para el usuario. Los comandos useradd, roleadd, usermod y rolemod ubican el atributo de seguridad audit_flags en la base de datos user_attr. El comando profiles ubica indicadores de auditoría para los perfiles de derechos en la base de datos prof_attr.
La máscara de preselección de auditoría determina las clases de eventos que se auditarán para un usuario. Para obtener una descripción de la máscara de preselección de usuario, consulte Características del proceso de auditoría. Para conocer los indicadores de auditoría configurados que se utilizan, consulte Orden de búsqueda para atributos de seguridad asignados.
Las clases de auditoría se definen en el archivo /etc/security/audit_class. Cada entrada contiene la máscara de auditoría para la clase, el nombre para la clase y un nombre descriptivo para la clase. Por ejemplo, las definiciones de clase lo y ps aparecen en el archivo audit_class, de la siguiente manera:
0x0000000000001000:lo:login or logout 0x0000000000100000:ps:process start/stop
Las clases de auditoría incluyen dos clases globales: all y no. Las clases de auditoría se describen en la página del comando man audit_class(4). Para la lista de clases, lea el archivo /etc/security/audit_class.
La asignación de eventos de auditoría a clases es configurable. Puede eliminar eventos de una clase, agregar eventos a una clase y crear una nueva clase para colocar eventos seleccionados. Para conocer el procedimiento, consulte Cómo cambiar una pertenencia a clase de un evento de auditoría. Para ver los eventos que se asignan a una clase, utilice el comando auditrecord -c clase.
Cada registro de auditoría registra la aparición de un único evento auditado. El registro incluye información, como quién realizó la acción, qué archivos fueron afectados, qué acción se intentó realizar y dónde y cuándo ocurrió la acción. El siguiente ejemplo muestra un registro de auditoría login:
header,69,2,login - local,,example_system,2010-10-10 10:10:10.020 -07:00 subject,jdoe,jdoe,staff,jdoe,staff,1210,4076076536,69 2 example_system return,success,0
El tipo de información que se guarda para cada uno de los eventos de auditoría se define mediante un conjunto de tokens de auditoría. Cada vez que un registro de auditoría se crea para un evento, el registro contiene algunos de los tokens o todos los tokens que se definen para el evento. La naturaleza del evento determina qué tokens se registran. En el ejemplo anterior, cada línea empieza con el nombre del token de auditoría. El contenido del token de auditoría sigue al nombre del token. Juntos, los tokens de auditoría header, subject y return componen el registro de auditoría login - local. Para mostrar los tokens que componen un registro de auditoría, utilice el comando auditrecord -e evento.
Para obtener una descripción detallada de la estructura de cada token de auditoría con un ejemplo de salida de praudit, consulte Formatos de token de auditoría. Para obtener una descripción de la cadena binaria de tokens de auditoría, consulte la página del comando man audit.log(4).
Puede especificar qué módulos de complemento de auditoría manejan los registros que la preselección ha colocado en la cola de la auditoría. Al menos un complemento debe estar activo. De manera predeterminada, el complemento audit_binfile está activo. Se configuran complementos con el comando auditconfig -setplugin nombre_complemento.
El servicio de auditoría proporciona los siguientes complementos:
Complemento audit_binfile: maneja la entrega de la cola de la auditoría a los archivos de auditoría binarios. Para obtener más información, consulte la página de comando man audit.log(4).
Complemento audit_remote: maneja la entrega segura de registros de auditoría binarios de la cola de auditoría a un servidor remoto configurado. El complemento audit_remote utiliza la biblioteca libgss() para autenticar el servidor. La transmisión está protegida para privacidad e integridad.
Complemento audit_syslog: maneja la entrega de registros seleccionados de la cola de auditoría a los registros syslog.
Para configurar un complemento, consulte la página del comando man auditconfig(1M). Para ver ejemplos de configuración de complementos, consulte las tareas en Configuración de registros de auditoría (tareas).
Para obtener información sobre los complementos, consulte las páginas del comando man audit_binfile(5), audit_remote(5) y audit_syslog(5).
Los registros de auditoría se recopilan en registros de auditoría. El servicio de auditoría proporciona tres modos de salida para los registros de auditoría.
Los registros que se denominan archivos de auditoría almacenan registros de auditoría en formato binario. El conjunto de archivos de auditoría de un sistema o sitio proporciona un registro de auditoría completo. El registro de auditoría completo se denomina pista de auditoría. Estos registros se crean mediante el complemento audit_binfile y pueden ser revisados por los comandos praudit y auditreduce de selección posterior.
El complemento audit_remote envía registros de auditoría a un depósito remoto. El depósito es responsable de mantener una pista de auditoría y de suministrar herramientas de selección posterior.
La utilidad syslog recopila y almacena resúmenes de texto del registro de auditoría. Un registro syslog no está completo. El siguiente ejemplo muestra una entrada syslog para un registro de auditoría login:
Oct 10 10:10:20 example_system auditd: [ID 6472 audit.notice] \ login - login ok session 4076172534 by root as root:other
Un sitio puede configurar la auditoría para recopilar registros de auditoría en todos los formatos. Puede configurar los sistemas del sitio para utilizar el modo binario localmente, enviar archivos binarios a un depósito remoto, utilizar el modo syslog o utilizar cualquier combinación de estos modos. En la siguiente tabla, se comparan registros de auditoría binarios con registros de auditoría syslog.
Tabla 26-1 Comparación de registros de auditoría binarios, remotos y syslog
|
Los registros binarios proporcionan la mayor seguridad y cobertura. La salida binaria cumple con los requisitos de las certificaciones de seguridad, como los requisitos de auditoría Common Criteria.
El complemento audit_binfile escribe los registros en un sistema de archivos que tiene protección para no ser vistos. En un único sistema, todos los registros binarios se recopilan y se muestran en orden. La indicación de hora del UTC en registros binarios permite realizar una comparación exacta cuando los sistemas en una pista de auditoría se distribuyen entre zonas horarias. El comando praudit -x permite ver los registros en un explorador, en XML. También puede utilizar secuencias de comandos para analizar la salida XML.
El complemento audit_remote escribe registros de auditoría en un depósito remoto. El depósito maneja el almacenamiento y la selección posterior.
En contraste, es posible que los registros syslog proporcionen una mayor comodidad y flexibilidad. Por ejemplo, puede recopilar los datos de syslog de un gran variedad de orígenes. Además, al supervisar eventos audit.notice en el archivo syslog.conf, la utilidad syslog registra un resumen de registros de auditoría con la indicación de hora actual. Puede utilizar las mismas herramientas de análisis y de gestión que ha desarrollado para mensajes syslog de una gran variedad de orígenes, incluidos estaciones de trabajo, servidores, cortafuegos y enrutadores. Los registros se pueden consultar en tiempo real y se pueden almacenar en un sistema remoto.
Si usa syslog.conf para almacenar registros de auditoría de manera remota, está protegiendo los datos del registro para evitar que los modifique o elimine un agresor. Por otro lado, cuando los registros de auditoría se almacenan de manera remota, los registros son susceptibles a ataques de red, como denegación de servicio y direcciones de origen simuladas. También, el UDP puede eliminar paquetes o puede entregar paquetes que no funcionan. El límite en entradas syslog es de 1024 caracteres, por lo que algunos registros de auditoría podrían estar truncados en el registro. En un único sistema, no se recopilan todos los registros de auditoría. Los registros podrían no aparecer en orden. Debido a que cada registro de auditoría se indica con la fecha y la hora del sistema local, no es posible basarse en la indicación de hora para construir una pista de auditoría para varios sistemas.
Para obtener más información sobre complementos y registros de auditoría, consulte lo siguiente:
Página del comando man audit_binfile(5)
Página del comando man audit_syslog(5)
Página del comando man audit.log(4)
Cómo asignar espacio de auditoría para la pista de auditoría
Cuando el complemento audit_binfile está activo, un sistema de archivos de auditoría mantiene los archivos de auditoría en formato binario. Una instalación típica utiliza el sistema de archivos /var/audit y puede usar sistemas de archivos adicionales. El contenido de todos los sistemas de archivos de auditoría compone la pista de auditoría. Los registros de auditoría se almacenan en estos sistemas de archivos en el siguiente orden:
Sistema de archivos de auditoría primario: el sistema /var/audit, el sistema de archivos predeterminado para archivos de auditoría de un sistema
Sistemas de archivos de auditoría secundarios: sistemas de archivos donde los archivos de auditoría para un sistema se ubican según el criterio del administrador
Los sistemas de archivos se especifican como argumentos para el atributo p_dir del complemento audit_binfile. Un sistema de archivos no se utiliza hasta que un sistema de archivos que está antes en la lista esté lleno. Para ver un ejemplo con una lista de las entradas del sistema de archivos, consulte Cómo crear sistemas de archivos ZFS para archivos de auditoría.
Colocar los archivos de auditoría en el directorio raíz de auditoría predeterminado ayuda al revisor de auditoría cuando revisa la pista de auditoría. El comando auditreduce usa el directorio raíz de auditoría para encontrar todos los archivos en la pista de auditoría. El directorio raíz de auditoría predeterminado es /var/audit. La opción -M para el comando auditreduce se puede utilizar para especificar archivos de auditoría de un equipo específico, y la opción -S se puede utilizar para especificar un sistema de archivos de auditoría diferente. Para obtener más información, consulte la página del comando man auditreduce(1M).
El servicio de auditoría proporciona comandos para combinar y filtrar archivos de la pista de auditoría. El comando auditreduce puede fusionar archivos de auditoría de la pista de auditoría. El comando también puede filtrar archivos para localizar eventos particulares. El comando praudit lee los archivos binarios. Las opciones para el comando praudit ofrecen una salida que es adecuada para las secuencias de comandos y para la presentación del explorador.
Al fusionar registros de auditoría de varios sistemas, la fecha y la hora en esos sistemas deben ser exactas. De manera similar, al enviar registros de auditoría a un sistema remoto, el sistema de registro y sistema de depósito deben tener relojes precisos. El protocolo de hora de red (NTP) mantiene relojes del sistema precisos y coordinados. Para obtener más información, consulte el Capítulo 3, Servicios relacionados con el tiempo de Oracle Administración Solaris: Servicios de red y la página del comando man xntpd(1M).
Cuando el complemento audit_remote está activo, el depósito remoto gestiona registros de auditoría.