Soy responsable de un par de servidores en mi universidad. Todas estas máquinas están configuradas para comunicarse con el servidor LDAP de mi departamento para permitir inicios de sesión de usuarios centralizados. En este servidor LDAP hay un usuario llamado root
:
# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false
Recientemente, tuve problemas con la root
cuenta en uno de los servidores de los que soy responsable: Mi intento de conexión SSH se autenticó exitosamente contra el root
usuario local, pero el directorio de inicio se tomó del LDAP como /home/root
. Además, descubrí que uno puede autenticarse como root con las root
credenciales de LDAP en cualquier servidor, es decir, si root
falla la autenticación contra el local, se intenta el LDAP root
y, dada la contraseña correcta, el usuario inicia sesión como superusuario.
Creo que esto no es muy seguro y root
debería eliminarse la ambigüedad de las dos cuentas. Sin embargo, según nuestro departamento de TI, LDAP root
es necesario.
¿Cómo puedo filtrar la root
cuenta de LDAP para no permitir la autenticación? Estoy usando pam_ldap.so
y también algunas directivas ldap en /etc/nsswitch.conf
.
Respuesta1
Hay muchas maneras, aquí hay un par de sencillas:
- en
/etc/ssh/sshd_config
cambioPermitRootLogin
a no (esto suele ser una buena idea, luego confíe ensu
/sudo
para la administración). Por supuesto, esto sólo afecta a SSH. - en los diversos archivos de configuración de PAM, use el
pam_listfile
módulo para permitir o denegar explícitamente ciertas cuentas (debe hacerse para cada servicio) - en los distintos archivos de configuración de PAM, configure el
pam_ldap
módulopam_min_uid
en 1 (o superior) para que el root no pueda iniciar sesión (es necesario hacerlo para cada servicio) - modifique el filtro de búsqueda PAM LDAP (
pam_filter
) para excluir usuarios (p. ej.pam_filter (uidNumber>=1)
, o puede modificar la base/alcance
Cualquiera de los dos últimos podría ser la mejor opción para usted. También es posible que deba realizar algunos ajustes en la configuración de PAM local para que una cuenta raíz local pam_unix
pueda funcionar correctamente si pam_ldap
falla (por ejemplo, realizar pedidos y ser necesario/requisito/suficiente).