Estoy configurando un sistema en el que todos los recursos de TI están disponibles a través de un solo par de contraseña de usuario, ya sea el acceso a la shell en los servidores, el inicio de sesión en el dominio Samba, WiFi, OpenVPN, Mantis, etc. (con acceso a servicios específicos regidos por membresía de grupo o campos de objeto de usuario). Debido a que tenemos datos personales en nuestra red, necesitamos implementar el envejecimiento de la contraseña, de acuerdo con la Directiva de Protección de Datos de la UE (o más bien la versión polaca de la misma).
El problema es que las cuentas Samba y POSIX en LDAP usan información de hashing y antigüedad de contraseñas diferente. Mientras sincroniza las contraseñas sí mismos es fácil (el ldap password sync = Yes
de smb.conf
), la adición de caducidad de las contraseñas a los saltos de mezclar las cosas: Samba no actualiza shadowLastChange. Junto con obey pam restrictions = Yes
crea un sistema en el que un usuario de Windows no puede cambiar la contraseña antigua, pero si no la uso, los directorios principales no se crearán automáticamente. La alternativa es usar la operación extendida LDAP para cambiar la contraseña, pero el smbk5pwd
módulo tampoco la configura. Lo que es peor, el mantenedor de OpenLDAP no lo actualizará / aceptará parches ya que este campo se considera obsoleto.
Entonces, mi pregunta es, ¿cuál es la mejor solución? ¿Cuáles son sus ventajas y desventajas?
¿Utiliza LDAP
ppolicy
y el envejecimiento interno de la contraseña LDAP?- ¿Qué tan bien funciona con NSS, módulos PAM, samba, otros sistemas?
- ¿Los módulos NSS y PAM deben configurarse de manera especial para usar ppolicy, no shadow?
- ¿ GOsa² funciona con ppolicy?
- ¿Existen otras herramientas administrativas que puedan funcionar con
ppolicy
LDAP habilitado?
Hackea un script de cambio de contraseña que actualiza el campo en LDAP. (dejando la posibilidad de que el usuario mismo actualice el campo sin cambiar la contraseña)
Respuestas:
Escribí mi propia superposición de OpenLDAP llamada
shadowlastchange
para actualizar elshadowLastChange
atributo cada vez que se produce un cambio de contraseña EXOP. Se activa enslapd.conf
:He configurado
smb.conf
para cambiar las contraseñas a través de EXOP:Luego, para cada cuenta, establezca
shadowMax
el número de días que una contraseña es válida. ¡Los módulos OpenLDAP se encargan del resto!fuente
ppolicy
osmbk5pwd
superposiciones en Debian squeeze OpenLDAP hacer la actualizaciónshadowLastChange
. ¡Yay por Debian!Como stop-gap creé un script para Samba que actualizará el
shadowLastChange
cambio de contraseña:En la configuración de Samba, debe
unix password sync
establecerse enyes
,passwd chat
establecer en*OK*
ypasswd program
para el script anterior con"%u"
como param.Una cuenta especificada en
LDAP_USER
debe crearse en LDAP y tener permisos de lectura parauid
todos los usuarios de Samba y el derecho a escribirshadowLastChange
.fuente
(trabajo en progreso, agregaré detalles más adelante)
¡Buenas noticias para todos! Lo tengo todo funcionando, más o menos ..., en un entorno de prueba ...:
ppolicy
,not24get
ypasswdqc
)smbk5pwd
). Nota: El control de calidad con Samba y ppolicy no es obvio: elpassword check script
(pwqcheck -1
desdepasswdqc
) debe realizar las mismas comprobaciones que LDAP o el usuario obtendrá un Permiso denegado en lugar de "Contraseña demasiado fácil, pruebe diferente".pam_mkhomedir
uid
para agrupar entradas, por lo que las aplicaciones que esperan NIS (la mayoría de las cosas "UNIXy") o el esquema RFC2307bis (la mayoría de las aplicaciones "diseñadas para AD") funcionan bien.El único problema es que deshabilitar una cuenta requiere el uso de herramientas CLI (o escribir un script postmodify de GOsa) o la cuenta no se bloqueará a nivel LDAP, solo para PAM y Samba. La expiración de la contraseña aún se aplicará, por lo que no es un gran problema.
fuente
Tengo respuesta de uno de los desarrolladores de GOsa. En este momento, GOsa no admite la superposición de políticas de ninguna manera.
fuente