miércoles, 19 de enero de 2011

Modulo PAM Linux

Vision general sobre PAM.

Los PAM son modulos de librerias compartidos,que son abiertos automaticamente por las aplicaciones que han sido compiladas con la libreria de autenticacion Linux-PAM primaria.

Las aplicaciones que usan los PAM (modulos PAM, se les llama a veces ) tipicamente se les hace referencia como aplicciones PAM.

Los PAM son modulos de libreria compartidos, una vision PAM del programa rsh puede reutilizar el mismo , Tienen permisos los usuarios para iniciar sesion ahora?,
Generalmente los modulos PAM tipicamente se almacenan en el directorio /lib/security , si bien en distribucionesmas antiguas Linux almacenaba los PAM en /usr/lib/security.


Los PAM usados por diferentes aplicaciones PAM pueden ser definidos de dos maneras diferentes. En implementaciones PAM modernas , son controlados por ficheros de configuracion especificos de la aplicaciones localizados en el directorio /etc/pam.d

En implementaciones mas antiguas de PAM, todos los modulos PAM usados por las aplicaciones de un sistema eran definidos en un solo fichero central de configuracion.
/etc/pam.conf. El enfoque antiguo todavia se admite para mantener la compatibilidad con las versiones antiguas mientras se promueve el enfoque mas moderno, pero esta obsoleto, se usaran los contenidos del directorio /etc/pam.d en vez del fichero /etc/pam.conf. si ambos existen en su sistema.

Ficheros de Configuracon PAM por Aplicacion/Servicio.

Cada fichero de configuracon PAM en /etc/pam.d tiene el mismo nombre que el servicio o aplicacion PAM asociado.
Por ejemplo zimbra debe tener su propio fichero de configuracion PAM asociado.

y este debe de contener las reglas PAM usadas durante su proceso de autentcacion.
El nombre del fichero de configuracion a usar se deriva del primer parametro pasado a la funcion pam_start() de la libreria Linux-PAM, que esl el nombre del servicio que esta siendo autenticado ( a mednudo el mismo de la aplicacion por comodidad). Estos ficheros puede ademas cotener comentarios ( Cualquier caracter en una linea a continuacion del tradicional signo de almohadillas (#) se iterpreta como un comentario).
Cada Linea que no es un comentario en uno de los ficheros en /etc/pam.d/ se define como un modulo PAM usado como parte del proceso de autenticacion para el servicio o aplicacion asociado. Cada uno de estos ficheros pueden contener cuatro campos separados por espcacios en blanco , los primeros tres de los cuales son obligatorios . Estos campos tiene el siguiente significado y contenido:

1) module-type: El tipo de modulo PAM definido en la linea. Un tipo de modulo PAM define coo es usado durante el proceso de autenticacion y cuyos valores validos son:

a) auth: identifica la comprobacion de autenticacion para verificar bien la identidad del usuario , o bien los requsisitos del sistema se han cumplido. Requsisitos del sistema comunes son que un servicio pueda ser iniciado en el momento actual ( Por ejemplo , que /etc/nologin no existe cuando un usuario esta intentando iniciar sesion) , que se este usando un dispositivo aceptable ( o lo que es lo mismo que el dispositivo este incluido en /etc/securitty ) si el usuario es el super-usuario , etc).

b) account: Verifica si el usuario puede autenticarse en base a requsitos del sistema , talos como si el usuario posee una cuenta valida, el numero maximo de usuarios permitidos en el sistema, el dispositivo que se este usando para acceder al sistema, si el usuario tiene acceso al servicio o aplicacion solicitado, etc.

c) password: Verifica la capacidad de un usuario paa actualizar mecanismos de autenticacion. Normalemente hay un modulo del tipo password por cada entrada al auth ligada a un mecanismo de autenticacion que puede ser actualizado.

d) session : identifica los modulos asociados con tareas que deben ser hechas antes de que el servicio o aplicacion asociado sea activado o que justo antes de terminar su ejecucion. Los modulos de este tipo son normalmente realizan la funcion tales como montar directorios o llevar registros de la informacion de un proceso de auditoria de sistema, o garantizar que los recursos del sistema estan disponibles.

2.- control-flag : las consecuencias del valor devuelto por el modulo PAM especificado. Valores Validos son:
a) required: indica que el exito en le ejecucion de un modulo PAM es obligatoria para el tipo de modulo especificado. El fallo de cualquier PAM marcado como required para un tipo de modulo especifico ( asi como el de todos los etiquetdos con auth ) es comunicado al servicio o aplicacion asociado solo despues de que todos los PAM requeridos para ese tipo de modulo han sido ejecutados.

b)requisite : Indica que un fallo del modulo PAM sera inmediatamente comunicado al servicio o aplicacion asociado.

c) sufficient: Indica que el exito en la ejecucion de modulo PAM satisface los requisitos de autenticacion de este tipo de modulo. Sin ningun otro PAM previo identificado como required ha falladado, ningun otro PAM para el modulo asociado sera ejecutado. El fallo de un PAM identificado sufficient es ignorado mientras que los posteriores modulos identificados como reiquired para ese tipo de modulo tengan existo. Si un PAM anterior con el valor de required falla, el exito de un PAM marcado como sufficent se ignora.

d)optional: Infica que el exito de un modulo PAM no es critico para el servicio o aplicacion, a menos que sea el unico PAM para un tipo de modulo especifico. Si es asi , su exito o fallo determina el exito o fallo del tipo de modulo especificado.

e) module-path : El nombre del modulo PAM asociado con esta entrada. Por defecto los modulos PAM se encuentran en /lib/security , pero este campo puede identificar ademas modulos localizados en otros directorios con especificar la ruta absoluta y el nombre del fichero de un modulo PAM.

f) arguments: Opcional, argumentos especificos del modulso

Bien, esto probablemente ha sido demasiado pesado pero una informacion referencia necesaria.

2 comentarios: