Como bloquear as contas de usuário após falhas as tentativas de login

Como bloquear as contas de usuário após falhas as tentativas de login

Este guia mostrará como bloquear a conta de um usuário do sistema após um número especificável de tentativas de login com falha em Centos, Rhel e Fedora distribuições. Aqui, o foco é aplicar a segurança do servidor simples, travando a conta de um usuário após um número consecutivo de autenticações sem sucesso.

Leia também: Use Pam_Tally2 para bloquear e desbloquear as tentativas de login com falha no SSH

Isso pode ser alcançado usando o pam_faillock módulo que ajuda a contas de usuário de bloqueio temporárias em caso de múltiplas tentativas de autenticação com falha e mantém um registro deste evento. As tentativas de login com falha são armazenadas em arquivos por usuário no diretório Tally que é /var/run/faillock/ por padrão.

pam_faillock é parte de Linux Pam (Módulos de autenticação traváveis), um mecanismo dinâmico para implementar serviços de autenticação em aplicativos e vários serviços do sistema que explicamos brevemente em Configurando PAM para auditar o login de usuário Atividade do shell.

Como bloquear as contas de usuário após autenticações falhas consecutivas

Você pode configurar a funcionalidade acima no /etc/pam.D/System-Auth e /etc/pam.D/Senha-Auth arquivos, adicionando as entradas abaixo ao Auth seção.

AUTH NECESSÁRIO PAM_FAILLOCK.SO PREAUTH Auditor.Portanto, Auditor 

Onde:

  • auditoria - Ativa a auditoria do usuário.
  • negar - usado para definir o número de tentativas (3 nesse caso), após o qual a conta de usuário deve ser bloqueada.
  • desbloquear_time - define o tempo (300 segundos = 5 minutos) para os quais a conta deve permanecer bloqueada.

Observe que a ordem dessas linhas é muito importante, as configurações erradas podem fazer com que todas as contas de usuário sejam bloqueadas.

O Auth A seção em ambos os arquivos deve ter o conteúdo abaixo organizado nesta ordem:

Auth Necessou Pam_env.então AUTH NECESSÁRIO PAM_FAILLOCK.Então pré -atear a auditoria silenciosa negar = 3 desbloquear_time = 300 Auth PAM_UNIX suficiente.Então Nullok Try_First_Pass auth [default = die] pam_faillock.Portanto, Auditor AUTH PAM_SUCECED_IF.então uid> = 1000 silencioso_success Auth exigiu pam_deny.então 

Agora abra esses dois arquivos com sua escolha de editor.

# vi /etc /pam.D/System-Auth # VI/etc/PAM.D/Senha-Auth 

As entradas padrão em Auth Seção Ambos os arquivos se parecem com este.

#%PAM-1.0 # Este arquivo é gerado automaticamente. # As alterações do usuário serão destruídas na próxima vez em que o AuthConfig for executado. Auth Necessou Pam_env.então auth pam_fprintd suficiente.então auth pam_unix suficiente.Então Nullok Try_first_pass authisite requisito pam_succeced_if.então uid> = 1000 autent.então 

Depois de adicionar as configurações acima, deve aparecer o seguinte.

#%PAM-1.0 # Este arquivo é gerado automaticamente. # As alterações do usuário serão destruídas na próxima vez em que o AuthConfig for executado. Auth Necessou Pam_env.então AUTH NECESSÁRIO PAM_FAILLOCK.Então pré -atear a auditoria silenciosa negar = 3 desbloquear_time = 300 AUTH PAM_FPRINTD suficiente.então auth pam_unix suficiente.Então Nullok Try_First_Pass auth [default = die] pam_faillock.Portanto, Auditor AUTH PAM_SUCECED_IF.então uid> = 1000 autent.então 

Em seguida, adicione a seguinte entrada destacada ao conta seção nos dois arquivos acima.

conta necessária pam_unix.então conta Pam_localuser suficiente.então conta PAM_SUCECED_IF suficiente.então uid < 500 quiet account required pam_permit.so conta necessária pam_faillock.então 

Como bloquear a conta raiz após falhas as tentativas de login

Para bloquear a conta raiz após a falha de tentativas de autenticação, adicione o Even_deny_root opção para as linhas nos dois arquivos no Auth Seção como esta.

AUTH NECESSÁRIO PAM_FAILLOCK.Então pré -atear a auditoria silenciosa negar = 3 Even_deny_root desbloqueio_time = 300 auth [default = die] pam_faillock.Portanto, a auditoria authfail negar = 3 Even_deny_root desbloquear_time = 300 

Depois de configurar tudo. Você pode reiniciar serviços de acesso remoto como sshd, Para que a política acima entre em vigor, se é se os usuários empregarão SSH para se conectar ao servidor.

# SystemCtl reinicie o sshd [on Systemd] # serviço sshd reiniciar [em Sysvinit] 

Como testar as tentativas de login do usuário do SSH

Nas configurações acima, configuramos o sistema para bloquear a conta de um usuário depois 3 Tentativas de autenticação com falha.

Nesse cenário, o usuário Tecmint está tentando mudar para o usuário Aaronkilik, mas depois 3 Logins incorretos por causa de uma senha errada, indicada pelo “Permissão negada”Mensagem, o usuário Aaronkilik's A conta é bloqueada como mostrado por “falha de autenticação”Mensagem da quarta tentativa.

Teste o usuário falhou as tentativas de login

O usuário raiz também é notificado das tentativas de login com falha no sistema, como mostrado na tela abaixo.

Falha na mensagem de tentativas de login

Como ver tentativas de autenticação fracassadas

Você pode ver todos os logs de autenticação com falha usando o Faillock Utilitário, usado para exibir e modificar o log de falha de autenticação.

Você pode visualizar tentativas de login com falha para um determinado usuário como este.

# Faillock -Aaronkilik 
Exibir tentativas de login com falha do usuário

Para ver todas as tentativas de login malsucedidas, execute Faillock sem nenhum argumento como assim:

# Faillock 

Para limpar os logs de falha de autenticação de um usuário, execute este comando.

# Faillock -User Aaronkilik -RESET ou # FAIL -RESET #CLEARS Todos os registros de falha de autenticação 

Por fim, para dizer ao sistema para não bloquear as contas de um usuário ou usuário após várias tentativas de login sem sucesso, adicione a entrada marcada em cor vermelha, logo acima de onde pam_faillock é chamado pela primeira vez sob o Auth Seção em ambos os arquivos (/etc/pam.D/System-Auth e /etc/pam.D/Senha-Auth) do seguinte modo.

Basta adicionar cólon completo separado nomes de usuário para a opção usuário in.

Auth Necessou Pam_env.então auth [succen = 1 padrão = ignore] pam_succeced_if.Então, usuário em Tecmint: Aaronkilik AUTH NECESSÁRIO PAM_FAILLOCK.Então, pré -atear a auditoria silenciosa negar = 3 desbloquear_time = 600 autent.então nullok try_first_pass auth [default = die] pam_faillock.Então AUTHFAIL AUDITE.então uid> = 1000 silencioso_success Auth exigiu pam_deny.então 

Para mais informações, consulte o pam_faillock e Faillock Páginas de homem.

# homem pam_faillock # man Faillock 

Você também pode ler estes seguintes artigos úteis:

  1. Tmout - shell Linux de logout automático quando não há atividade
  2. Modo de usuário único: redefinição/recuperação de senha da conta de usuário root esquecida
  3. 5 melhores práticas para proteger e proteger o servidor SSH
  4. Como obter alertas de e -mail de login SSH raiz e usuário

Isso é tudo! Neste artigo, mostramos como fazer cumprir a segurança do servidor simples, travando a conta de um usuário após x número de logins incorretos ou tentativas de autenticação com falha. Use o formulário de comentário abaixo para compartilhar suas perguntas ou pensamentos conosco.