Sou responsável por alguns servidores na minha universidade. Todas essas máquinas estão configuradas para se comunicarem com o servidor LDAP do meu departamento para permitir logins de usuários centralizados. Neste servidor LDAP existe um usuário chamado root
:
# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false
Recentemente, tive problemas com a root
conta em um dos servidores pelos quais sou responsável: Minha tentativa de conexão SSH foi autenticada com êxito no root
usuário local, mas o diretório inicial foi retirado do LDAP como /home/root
. Além disso descobri que é possível autenticar como root com as root
credenciais do LDAP em qualquer servidor, ou seja, se a autenticação no local root
falhar, o LDAP root
é tentado e, se a senha estiver correta, o usuário está logado como superusuário.
Acredito que isto não é muito seguro e que a ambiguidade das duas root
contas deve ser eliminada. Porém, segundo nosso departamento de TI, o LDAP root
é necessário.
Como posso filtrar a root
conta do LDAP para impedir a autenticação com ela? Estou usando pam_ldap.so
e também algumas diretivas ldap em /etc/nsswitch.conf
.
Responder1
Existem muitas maneiras, aqui estão algumas fáceis:
- em
/etc/ssh/sshd_config
mudançaPermitRootLogin
para não (geralmente é uma boa ideia, então conte comsu
/sudo
para administração). Isso afeta apenas o SSH, é claro. - nos vários arquivos de configuração do PAM, use o
pam_listfile
módulo para permitir ou negar explicitamente certas contas (precisa ser feito para cada serviço) - nos vários arquivos de configuração do PAM configure o
pam_ldap
módulopam_min_uid
para 1 (ou superior) para que o root não possa efetuar login (precisa ser feito para cada serviço) - altere o filtro de pesquisa LDAP do PAM (
pam_filter
) para excluir usuários (por exemplopam_filter (uidNumber>=1)
, , ou você poderá alterar a base/escopo
Qualquer um dos dois últimos pode ser o mais adequado para você. Você também pode precisar fazer alguns ajustes na configuração local do PAM para que uma conta root local pam_unix
possa ter sucesso se pam_ldap
falhar (por exemplo, pedido e obrigatório/requisito/suficiente).