Red Hat Enterprise Linux 3: Manual de referencia | ||
---|---|---|
Anterior | Capítulo 15. Pluggable Authentication Modules (PAM) | Siguiente |
A continuación una muestra de archivo de configuración de la aplicación PAM:
#%PAM-1.0 auth required pam_securetty.so auth required pam_unix.so shadow nullok auth required pam_nologin.so account required pam_unix.so password required pam_cracklib.so retry=3 password required pam_unix.so shadow nullok use_authtok session required pam_unix.so |
La primera línea es un comentario como lo es toda línea que inicie con el carácter (#).
Las líneas dos, tres y cuatro apilan tres módulos a usar para autentificaciones de inicio de sesión.
auth required pam_securetty.so |
Este módulo se asegura de que si el usuario está tratando de conectarse como root, el tty en el cual el usuario se está conectando está listado en el archivo /etc/securetty, si ese archivo existe.
auth required pam_unix.so shadow nullok |
Este módulo le solicita al usuario por una contraseña y luego verifica la contraseña usando la información almacenada en /etc/passwd y, si existe /etc/shadow. El módulo pam_unix.so detecta automáticamente y utiliza contraseñas shadow para autenticar usuarios. Por favor consulte la Sección 6.5 para más información.
El argumento nullok instruye al módulo pam_unix.so a que permita una contraseña en blanco.
auth required pam_nologin.so |
Este es el paso final de la autenticación. Verifica si el archivo /etc/nologin existe. Si nologin existe y el usuario no es root, la autenticación falla.
![]() | Nota |
---|---|
En este ejemplo, los tres módulos auth, aún si el primer módulo auth falla. Esto previene al usuario de saber a qué nivel falla la autenticación. Tal conocimiento en las manos de una persona mal intencionada le permitiría violar el sistema fácilmente. |
account required pam_unix.so |
Este módulo realiza cualquier verificación de cuenta necesaria. Por ejemplo, si las contraseñas shadow han sido activadas, el componente de la cuenta del módulo pam_unix.so verificará para ver si la cuenta ha expirado o si el usuario no ha cambiado la contraseña dentro del período de gracia otorgado.
password required pam_cracklib.so retry=3 |
Si la contraseña ha expirado, el componente de la contraseña del módulo pam_cracklib.so le pide por una nueva contraseña. Luego evalúa la nueva contraseña para ver si puede ser fácilmente determinado por un programa que descubre las contraseñas basadas en diccionario. Si esto falla la primera vez, le dá al usuario dos oportunidades más de crear una contraseña más robusta debido al argumento retry=3.
password required pam_unix.so shadow nullok use_authtok |
Esta línea especifica que si el programa cambia la contraseña del usuario, éste debería usar el componente password del módulo pam_unix.so para realizarlo. Esto sucederá tan sólo si la porción auth del módulo pam_unix.so ha determinado que la contraseña necesita ser cambiada.
El argumento shadow le dice al módulo que cree contraseñas shadow cuando se actualiza la contraseña del usuario.
El argumento nullok indica al módulo que permita al usuario cambiar su contraseña desde una contraseña en blanco, de lo contrario una contraseña vacía o en blanco es tratada como un bloqueo de cuenta.
El argumento final de esta línea, use_authtok, proporciona un buen ejemplo de la importancia del orden al apilar módulos PAM. Este argumento advierte al módulo a no solicitar al usuario una nueva contraseña. En su lugar se acepta cualquier contraseña que fué registrada por un módulo de contraseña anterior. De este modo todas las nuevas contraseñas deben pasar el test de pam_cracklib.so para contraseñas seguras antes de ser aceptado.
session required pam_unix.so |
La última línea especifica que el componente de la sesión del módulo pam_unix.so gestionará la sesión. Este módulo registra el nombre de usuario y el tipo de servicio a /var/log/messages al inicio y al final de cada sesión. Puede ser complementado apilándolo con otros módulos de sesión si necesita más funcionalidad.
El próximo ejemplo de archivo de configuración ilustra el apilamiento del módulo auth para el programa rlogin.
#%PAM-1.0 auth required pam_nologin.so auth required pam_securetty.so auth required pam_env.so auth sufficient pam_rhosts_auth.so auth required pam_stack.so service=system-auth |
Primero, pam_nologin.so verifica para ver si /etc/nologin existe. Si lo hace, nadie puede conectarse excepto root.
auth required pam_securetty.so |
El módulo pam_securetty.so previene al usuario root de conectarse en terminales inseguros. Esto desactiva efectivamente a todos los intentos de root rlogin debido a las limitaciones de seguridad de la aplicación.
![]() | Sugerencia |
---|---|
Para conectarse remotamente como usuario root, use OpenSSH. Para más información sobre el protocolo SSH, consulte el Capítulo 19. |
auth required pam_env.so |
El módulo carga las variable de entorno especificadas en /etc/security/pam_env.conf.
auth sufficient pam_rhosts_auth.so |
El módulo pam_rhosts_auth.so autentifica al usuario usando .rhosts en el directorio principal del usuario. Si tiene éxito, PAM considera inmediatamente la autenticación como exitosa. Si falla pam_rhosts_auth.so en autenticar al usuario, el intento de autenticación es ignorado.
auth required pam_stack.so service=system-auth |
Si el módulo pam_rhosts_auth.so falla en autenticar al usuario, el módulo pam_stack.so realiza la autenticación de contraseñas normal.
El argumento service=system-auth indica que el usuario debe pasar a través de la configuración PAM para la autenticación del sistema como se encuentra en /etc/pam.d/system-auth.
![]() | Sugerencia |
---|---|
Si no desea que se pida la contraseña cuando el control securetty fracasa, cambie el módulo pam_securetty.so de required a requisite. |