Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: servicios de seguridad Oracle Solaris 11.1 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. Verificación de la integridad de archivos mediante el uso de BART (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. Uso de módulos de autenticación conectables
Introducción a la estructura PAM
Cambios en PAM para esta versión
Planificación de la implementación de PAM
Cómo evitar el acceso de tipo .rhost desde sistemas remotos con PAM
Cómo registrar los informes de errores de PAM
Cómo asignar una política PAM personalizada a un usuario
Cómo asignar una nueva política de derechos a todos los usuarios
Configuración de PAM (referencia)
Orden de búsqueda de configuración PAM
Sintaxis de archivo de configuración de PAM
Política de autenticación por usuario
17. Uso de autenticación simple y capa de seguridad
18. Autenticación de servicios de red (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)
27. Planificación de la auditoría
Las aplicaciones del sistema, como ssh, que usan el servicio PAM están configuradas en los archivos de configuración PAM. Consulte la página del comando man pam.conf(4) para obtener más información. Estos archivos de configuración incluyen el archivo /etc/pam.conf, así como archivos específicos del servicio ubicados en /etc/pam.d. Los cambios que se realizan en estos archivos afectan a todos los usuarios del sistema. Los archivos de configuración PAM específicos del servicio constituyen el mecanismo preferido para la configuración PAM, ya que su granularidad implica que un error en un archivo solamente afecta a ese servicio. También, la agregación de nuevos servicios PAM se simplifica a la copia de un único archivo. Los archivos específicos del servicio permiten una mejor interoperabilidad con otras aplicaciones PAM entre plataformas, ya que /etc/pam.d es la configuración predeterminada en la mayoría de las implementaciones PAM.
Además, los archivos de política PAM pueden utilizarse para crear políticas de autenticación para servicios individuales y asignar esas políticas tanto a un individuo, un grupo de individuos o a todos los usuarios, según sea necesario. Los archivos de política PAM predeterminados se ubican en /etc/security/pam_policy. Los archivos de política PAM ofrecen la posibilidad de establecer o cambiar la política de autenticación para uno o más usuarios de manera segura y fiable.
El administrador del sistema gestiona los archivos de configuración PAM. Un orden incorrecto de las entradas en estos archivos puede provocar efectos secundarios imprevistos. Por ejemplo, un archivo configurado incorrectamente puede bloquear los usuarios de manera que el modo de usuario único resulta necesario para su reparación. Para obtener una descripción acerca de cómo establecer el orden, consulte Cómo funciona el apilamiento PAM.
La información de configuración PAM de los archivos de configuración PAM es recopilada por la biblioteca PAM en el siguiente orden:
El nombre del servicio se busca en /etc/pam.conf.
Se comprueba /etc/pam.d/service.
El nombre de servicio other se comprueba en /etc/pam.conf.
Se comprueba el archivo /etc/pam.d/other.
Este orden permite que un archivo /etc/pam.conf existente trabaje con los archivos de configuración PAM por servicio ubicados en /etc/pam.d.
El archivo /etc/pam.conf y los archivos de política PAM usan una sintaxis que es diferente a la de los archivos específicos del servicio. La sintaxis de cada uno de estos archivos se describe a continuación.
Las entradas en /etc/pam.conf o en los archivos de política PAM se encuentran en uno de los siguientes formatos:
service-name module-type control-flag module-path module-options
service-name module-type include path-to-included-PAM-configuration
El nombre del servicio que no distingue mayúsculas de minúsculas, por ejemplo, login o passwd. Una aplicación puede utilizar distintos nombres para los servicios que la aplicación proporciona. Por ejemplo, el daemon de shell seguro de Oracle Solaris utiliza estos nombres de servicio: sshd-none, sshd-password, sshd-kbdint, sshd-pubkey y sshd-hostbased.
El nombre de servicio other es un nombre predefinido que se usa como un nombre de servicio comodín. Si no se encuentra un determinado nombre de servicio en el archivo de configuración, se utiliza la configuración de other.
El tipo de servicio, es decir, auth, account, session o password.
Indica el rol del módulo en la determinación del valor de éxito o error integrado del servicio. Los indicadores de control válidos son: binding, definitive, include, optional, required, requisite y sufficient. Consulte Cómo funciona el apilamiento PAM para obtener información sobre el uso de estos indicadores.
La ruta del objeto de la biblioteca que implementa el servicio. Si el nombre de la ruta no es absoluto, se asume que es relativo a /usr/lib/security/$ISA/. Utilice la macro dependiente de la arquitectura $ISA para que libpam busque en el directorio la arquitectura específica de la aplicación.
Opciones que se transfieren a los módulos de servicios. La página del comando man de un módulo describe las opciones aceptadas por ese módulo. Las opciones típicas del módulo incluyen nowarn y debug.
Proporciona la ruta completa para un archivo de configuración PAM independiente o un nombre de ruta relativo al archivo /usr/lib/security.
Los archivos de configuración por servicio ubicados en /etc/pam.d usan la misma sintaxis que pam.conf, pero no incluyen el nombre de servicio. Al utilizar los archivos de configuración por servicio, el nombre del archivo es el nombre del servicio. Por ejemplo, /etc/pam.d/cron incluye la configuración PAM para el comando cron.
El módulo PAM pam_user_policy permite a los administradores del sistema especificar configuraciones PAM en función de cada usuario. La clave pam_policy para el usuario necesita proporcionar la ruta para un archivo de configuración PAM específico del usuario. Consulte la página del comando man pam_user_policy(5) para obtener más información.
A continuación, se indican algunas maneras de establecer una política de autenticación por usuario:
Cree un nuevo archivo de política PAM para un usuario y, luego, use el comando usermod para asignar la política al usuario. Hay información sobre este procedimiento disponible en Cómo asignar una política PAM personalizada a un usuario.
Use el comando usermod para asignar una política predefinida a un usuario.
Asigne un perfil de derechos que incluya una clave pam_policy para un usuario utilizando la opción -P para el comando usermod.
Asigne un perfil de derechos que incluya una clave pam_policy para todos los usuarios agregándola a la clave PROFS_GRANTED en /etc/security/policy.conf. Hay información sobre este procedimiento disponible en Cómo asignar una nueva política de derechos a todos los usuarios.
Cuando una aplicación llama a una de las siguientes funciones, libpam lee los archivos de configuración PAM para determinar qué módulos participan en la operación para este servicio:
Si los archivos de configuración contienen solamente un módulo para una operación para este servicio, como la autenticación o la gestión de cuentas, el resultado de ese módulo determina el resultado de la operación. Por ejemplo, la operación de autenticación predeterminada para la aplicación passwd contiene un módulo, pam_passwd_auth.so.1:
passwd auth required pam_passwd_auth.so.1
Por otro lado, si hay varios módulos definidos para la operación del servicio, se dice que esos módulos están apilados y que existe una pila PAM para ese servicio. Por ejemplo, analice la situación en la que /etc/pam.d/login contiene las siguientes entradas:
auth definitive pam_user_policy.so.1 auth requisite pam_authtok_get.so.1 auth required pam_unix_auth.so.1 auth required pam_dhkeys.so.1 auth required pam_unix_cred.so.1 auth required pam_dial_auth.so.1
Estas entradas representan un ejemplo de pila auth para el servicio login. Para determinar el resultado de esta pila, los códigos de resultado de los módulos individuales requieren un proceso de integración. En el proceso de integración, los módulos se ejecutan en orden, como se especifica en el archivo. Cada código de éxito o error se integra en el resultado general según el indicador de control del módulo. El indicador de control puede provocar la finalización anticipada de la pila. Por ejemplo, es posible que un módulo requisite o definitive falle, o un módulo sufficient, definitive o binding tenga éxito. Después del procesamiento de la pila, los resultados individuales se combinan en un único resultado general que se proporciona a la aplicación.
El indicador de control señala el rol que un módulo PAM tiene en la determinación del acceso al servicio. Los indicadores de control y sus efectos son:
Binding: el éxito en el cumplimiento de los requisitos de un módulo "binding" devuelve inmediatamente un valor de éxito a la aplicación si no ha fallado ningún módulo "required" anterior. Si se cumplen estas condiciones, no se produce ninguna ejecución adicional de módulos. Un fallo provoca el registro de un fallo de required y la continuación del procesamiento de los módulos.
Definitive: el éxito en el cumplimiento de los requisitos de un módulo "definitive" devuelve inmediatamente un valor de éxito a la aplicación si no ha fallado ningún módulo "required" anterior. Si falló un módulo "required" anterior, ese fallo se devuelve inmediatamente a la aplicación, sin ejecuciones adicionales de módulos. Un fallo provoca la devolución inmediata de error un sin ejecuciones adicionales de módulos.
Include: agrega líneas de un archivo de configuración PAM independiente que se utilizará en este punto en la pila PAM. Este indicador no controla el comportamiento de éxito o error. Cuando se lee un archivo nuevo, la pila PAM include aumenta. Cuando finaliza la comprobación de la pila en el nuevo archivo, el valor de la pila include disminuye. Cuando se llega al final de un archivo y la pila PAM include es 0, finaliza el procesamiento de la pila. El número máximo de la pila PAM include es 32.
Optional: el éxito en el cumplimiento de los requisitos de un módulo "optional" no es necesario para utilizar el servicio. Un fallo provoca el registro de un fallo de optional.
Required: el éxito en el cumplimiento de los requisitos de un módulo "required" es necesario para utilizar el servicio. Un fallo provoca la devolución de un error tras la ejecución de los módulos restantes de este servicio. El éxito final del servicio se devuelve solamente si ningún módulo binding o required ha informado fallos.
Requisite: el éxito en el cumplimiento de los requisitos de un módulo "requisite" es necesario para utilizar el servicio. Un fallo provoca la devolución inmediata de error un sin ejecuciones adicionales de módulos. Todos los módulos requisite de un servicio deben devolver un valor de éxito para que la función pueda devolver un valor de éxito a la aplicación.
Sufficient: si no se han producido fallos anteriores de "required", el éxito de un módulo "sufficient" devuelve un valor de éxito a la aplicación inmediatamente, sin ejecuciones adicionales de módulos. Un fallo provoca el registro de un fallo de optional.
Los dos diagramas siguientes muestran cómo se determina el acceso en el proceso de integración. El primer diagrama indica cómo se registra el éxito o error para cada tipo de indicador de control. El segundo diagrama muestra cómo se determina el valor integrado.
Figura 14-2 Apilamiento PAM: efecto de los indicadores de control
Figura 14-3 Apilamiento PAM: cómo se determina el valor integrado
En este ejemplo se muestran las definiciones predeterminadas para la gestión de autenticación en el archivo /etc/pam.d/other. Estas definiciones se utilizan si no se han configurado definiciones específicas del servicio.
# # Default definitions for Authentication management # Used when service name is not explicitly mentioned for authentication # auth definitive pam_user_policy.so.1 auth requisite pam_authtok_get.so.1 auth required pam_dhkeys.so.1 auth required pam_unix_auth.so.1 auth required pam_unix_cred.so.1
En primer lugar, la política de seguridad para el usuario se comprueba mediante el módulo pam_user_policy. El indicador de control definitive selecciona que si la evaluación de la política de seguridad se realiza con éxito, el servicio devuelve un aviso de éxito a la aplicación, ya que ningún otro módulo se habrá comprobado en ese punto. Si la solicitud falla, se envía un mensaje de error a la aplicación y no se realizan más comprobaciones. Si no hay ninguna política definida para el usuario, se ejecuta el módulo siguiente.
Si no se especifica una política PAM por usuario para este usuario, se ejecuta el módulo pam_authtok_get. El indicador de control de este módulo se estableció en requisite. Si pam_authtok_get falla, finaliza el proceso de autenticación y se devuelve un valor de error al servicio.
Si pam_authtok_get no falla, se ejecutan los tres próximos módulos. Estos módulos están configurados con el indicador de control required, para que el proceso continúe independientemente de si se devuelve un fallo individual. Después de que se ejecuta pam_unix_cred no queda ningún módulo. En este punto, si todos los módulos no presentan fallos, se concede acceso al usuario. Si pam_dhkeys, pam_unix_auth o pam_unix_cred devuelve un error, no se permite el acceso al usuario.