[este é um follow-up no meu post no ServerFault: link ]
Em um sistema antigo, a conta root aceita qualquer senha, desde que não esteja vazia. Qualquer senha foi aceita como a senha correta, para que qualquer pessoa possa fazer o login.
No passado (mais de 10 anos atrás) isso não era um problema, pois o sistema estava atrás de um modem dial-up com sua própria autenticação ... mas desde alguns anos o sistema pode ser alcançado através de um IP público. endereço.
Milagrosamente, ninguém se incomodou com a sua porta SSH, até a semana passada.
Alguém (endereço IP chinês) efetuou login como root e alterou algumas configurações do sistema e efetuou o logout.
Eu restaurei o sistema a partir de um backup, e mudei a porta SSH para que ela não possa mais ser acessada pelo modem ADSL para me dar algum tempo para resolver este problema.
O problema parece estar em /etc/pam.d/system-auth
:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth required /lib/security/pam_deny.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_unix.so nullok use_authtok md5
password required /lib/security/pam_deny.so
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
Quando eu mudo
auth sufficient /lib/security/pam_unix.so likeauth nullok
para
auth sufficient /lib/security/pam_unix.so likeauth
então a conta root não aceita mais nenhuma senha aleatória, mas não aceita minha senha configurada
Eu tentei o seguinte:
passwd
. resultado: eu poderia entrar com qualquer senha nullok
: não consegui fazer login com qualquer senha em uma nova sessão SSH, nem mesmo com a senha que acabei de definir nullok
de volta no sistema-auth: eu poderia logar com qualquer senha novamente O tempo todo eu fiz a configuração de edição e senha em uma sessão SSH que mantive aberta, e testei o resultado abrindo uma nova sessão SSH.
Eu não ousei fechar minha sessão principal de SSH com medo de não conseguir entrar novamente. Também não reiniciei o sistema, pois é um sistema em execução para semáforos
Fiquei surpreso por não ter que digitar uma senha antiga, mas poderia apenas fornecer a nova senha (2 vezes).
Depois de alterar a senha, recebi a resposta Password changed
, mas não consegui fazer o login via SSH com a nova senha.
Preciso definir a senha do root em outro lugar? Ou a remoção de nullok
bloqueia completamente a conta root via SSH?
Eu quero que o root
seja capaz de fazer o login com uma senha específica e negar acesso a qualquer outra senha.