Configuración PAM/NSS

NSS (Librerías del servicio de seguridad en red / Network Security Service Libraries)

NSS es una parte básica del sistema, sirve para control de las cuentas POSIX, para poder usar LDAP para cuentas POSIX (del sistema) utilizaremos NSS_LDAP, que se puede descargar de http://www.padl.com/OSS/nss_ldap.html , lo descomprimimos es /usr/src y ejecutamos:

#cd /usr/src/nss_ldap
#./configure && make && make install

La configuración básica de NSS esta en /etc/nsswitch.conf y debe quedar así para lo que nosotros queremos.

Configuración NSSWITCH

passwd: files ldap
# Estas son las lineas que cambiamos para que haga peticiones ldap
group: files ldap #
shadow: files ldap #
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Fin
La configuración de nss-ldap se guarda en /etc/nss-ldap.conf y una configuración válida para GOsa quedaría así:
Configuración NSS
host ip.servidor.ldap # Aquí ponemos donde
# estará nuestro servidor LDAP
base ou=people,dc=CHAOSDIMENSION,dc=ORG # Aquí donde van a ir los usuarios y sus claves.
# OU significa unidad organizativa
# y OU=people es el lugar donde GOsa guarda las
# caracteristicas de los usuarios
ldap_version 3 # Versión de LDAP soportada
#(muy recomendado la versión 3)
nss_base_passwd ou=people,dc=CHAOSDIMENSION,DC=ORG?one #Donde buscamos las caracteristicas POSIX
nss_base_shadow ou=people,dc=CHAOSDIMENSION,DC=ORG?one #Donde buscamos las claves
nss_base_group ou=groups,dc=CHAOSDIMENSION,DC=ORG?one #Donde las caracteristicas de los grupos POSIX
Fin

PAM ( Módulos de autentificación conectables / Pluggable Authentication Modules) es una paquete de librerías dinámicas que permiten al administrador de sistema elegir en que manera las aplicaciones autentifican a los usuarios.

PAM viene de serie en todas las distribuciones, en /etc/pam.d se guarda la configuración de cada módulo y en /lib/security las librerías dinámicas.

Nos vamos a concentrar en uno de los módulos de PAM: pam_ldap. Este módulo nos servirá para que las aplicaciones que usen el sistema base de autentificación y control de sesión y que no usen LDAP, indirectamente accedan a LDAP, como fuente de autentificación.

Con PAM_LDAP y la infraestructura de PAM conseguimos que los usuarios POSIX del sistema funcionen atraves de LDAP y se puedan configurar con GOsa.

PAM_LDAP se puede descargar de http://www.padl.com/OSS/pam_ldap.html , lo descomprimimos es /usr/src y ejecutamos el clásico:

#cd /usr/src/pam_ldap
#./configure && make && make install

La configuración de este módulo estará en /etc/pam_ldap.conf, una configuración básica que funcione con GOsa quedaría:

Configuración PAM
host ip.servidor.ldap # Aquí ponemos donde estará nuestro servidor LDAP
base ou=people,dc=CHAOSDIMENSION,dc=ORG # Aquí donde van a ir los usuarios y sus claves.
# OU significa unidad organizativa y OU=people
# es el lugar donde GOsa guarda las caracteristicas de los usuarios
ldap_version 3 # Versión de LDAP soportada (muy recomendado la versión 3)
scope one # En gosa los usuarios están al mismo nivel,
# no necesitamos descender.
rootbinddn cn=ldapadmin,dc=solaria,dc=es # Aquí está el DN del administrador LDAP del servidor,
# es necesario, ya que el servidor solo
# dará acceso a las claves encriptadas al administrador.
pam_password md5 # Indica como están encriptadas las claves.
Fin

En el archivo /etc/secret pondremos la clave del administrador LDAP, este archivo, así como el anterior solo deberían ser accesibles por root.

Para poder user ahora los servicios con la autentificación LDAP deberemos concentrarnos en tres archivos:
Control de cuentas /etc/pam.d/common-account:

Configuración PAM common-account
account required pam_unix.so # Siempre requerido
account sufficient pam_ldap.so # Las llamadas a ldap
Fin

Control de autentificación /etc/pam.d/common-auth:

Configuración PAM common-auth
auth sufficient pam_unix.so # Autentificación estandar
auth sufficient pam_ldap.so try_first_pass # Autentificacion LDAP en el primer intento
auth required pam_env.so
auth required pam_securetty.so
auth required pam_unix_auth.so
auth required pam_warn.so
auth required pam_deny.so
Fin

Control de sesiones /etc/pam.d/common-session:

Configuración PAM common-session
session required pam_limits.so
session required pam_unix.so # Sesión unix estandar
session optional pam_ldap.so # Sesión basada en LDAP
Fin

Esta configuración será necesaria al menos para configurar POSIX y SAMBA.

aescanero AT gmail.com