Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía de administración del sistema: servicios de seguridad |
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. Control de acceso a dispositivos (tareas)
5. Uso de la herramienta básica de creación de informes de auditoría (tareas)
6. Control de acceso a archivos (tareas)
7. Uso de la herramienta automatizada de mejora de la seguridad (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. Control de acceso basado en roles (referencia)
Parte IV Servicios criptográficos
13. Estructura criptográfica de Oracle Solaris (descripción general)
14. Estructura criptográfica de Oracle Solaris (tareas)
15. Estructura de gestión de claves de Oracle Solaris
Parte V Servicios de autenticación y comunicación segura
16. Uso de servicios de autenticación (tareas)
Introducción a la estructura PAM
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
Configuración de PAM (referencia)
Sintaxis de archivo de configuración de PAM
19. Uso de Oracle Solaris Secure Shell (tareas)
20. Oracle Solaris Secure Shell (referencia)
21. Introducción al servicio Kerberos
22. Planificación del servicio Kerberos
23. Configuración del servicio Kerberos (tareas)
24. Mensajes de error y resolución de problemas de Kerberos
25. Administración de las políticas y los principales de Kerberos (tareas)
26. Uso de aplicaciones Kerberos (tareas)
27. El servicio Kerberos (referencia)
Parte VII Auditoría de Oracle Solaris
28. Auditoría de Oracle Solaris (descripción general)
29. Planificación de la auditoría de Oracle Solaris
30. Gestión de la auditoría de Oracle Solaris (tareas)
El archivo de configuración de PAM, pam.conf(4), se utiliza para configurar los módulos de servicios PAM para los servicios del sistema, como login, rlogin, su y cron. El administrador del sistema gestiona este archivo. Un orden incorrecto de las entradas en pam.conf puede provocar efectos secundarios imprevistos. Por ejemplo, un archivo pam.conf 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.
Las entradas del archivo de configuración tienen el siguiente formato:
service-name module-type control-flag module-path module-options
Nombre del servicio, por ejemplo, ftp, 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 utiliza como 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, 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.
Cuando una aplicación llama las siguientes funciones, libpam lee el archivo de configuración /etc/pam.conf para determinar qué módulos participan en la operación de este servicio:
Si /etc/pam.conf contiene sólo un módulo para una operación de 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 pam.conf contiene las siguientes entradas:
login auth requisite pam_authtok_get.so.1 login auth required pam_dhkeys.so.1 login auth required pam_unix_cred.so.1 login auth required pam_unix_auth.so.1 login 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 /etc/pam.conf. 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 falle, o bien que un módulo sufficient 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.
Include: agrega líneas de un archivo de configuración de PAM independiente que se utilizará en este momento 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 17-2 Apilamiento PAM: efecto de los indicadores de control
Figura 17-3 Apilamiento PAM: cómo se determina el valor integrado
Tenga en cuenta el siguiente ejemplo de un servicio rlogin que solicita autenticación.
Ejemplo 17-1 Contenido parcial de un archivo de configuración de PAM típico
El archivo pam.conf de este ejemplo tiene el siguiente contenido para los servicios rlogin:
# Authentication management ... # rlogin service rlogin auth sufficient pam_rhosts_auth.so.1 rlogin auth requisite pam_authtok_get.so.1 rlogin auth required pam_dhkeys.so.1 rlogin auth required pam_unix_auth.so.1 ...
Cuando el servicio rlogin solicita autenticación, libpam primero ejecuta el módulo pam_rhosts_auth(5). El indicador de control se estableció en sufficient para el módulo pam_rhosts_auth. Si el módulo pam_rhosts_auth puede autenticar al usuario, se detiene el procesamiento y se devuelve un valor de éxito a la aplicación.
Si el módulo pam_rhosts_auth no puede autenticar al usuario, se ejecuta el módulo PAM siguiente, pam_authtok_get(5). 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 a rlogin.
Si pam_authtok_get tiene éxito, se ejecutan los dos módulos siguientes, pam_dhkeys(5) y pam_unix_auth(5). Ambos módulos tienen los indicadores de control asociados que se establecieron en required para que el proceso continúe independientemente de si se devuelve un error individual. Tras la ejecución de pam_unix_auth, no quedan módulos para la autenticación rlogin. En este momento, si pam_dhkeys o pam_unix_auth han devuelto un error, se rechaza el acceso del usuario a través de rlogin.