Como habilitar o bloqueio de conta usando pam_tally?

0

Estou tentando implementar o bloqueio de conta no Ubuntu usando o pam_tally. Eu tentei adicionar as seguintes linhas em /etc/pam.d/common-auth

auth required pam_tally.so deny=3
account     required  pam_tally.so

As falhas estão sendo registradas, mas a conta não está sendo bloqueada, mesmo ao atingir as falhas máximas. Estou tentando isso fazendo login diretamente (tela de login do GNOME).

Algum conselho? Preciso adicionar o pam.d / gdm ou o arquivo de login também?

    
por nitins 31.08.2011 / 21:12

2 respostas

2

Já passou algum tempo desde que eu olhei para isso, mas

Acho que você precisa editar /etc/pam.d/common-auth

Adicione isso no topo do arquivo (a ordem das regras é importante).

auth required pam_tally.so per_user magic_root onerr=fail

Você define o número de tentativas permitidas

sudo faillog -m 3

Para desbloquear uma conta

faillog -u login_name -r

para detalhes adicionais, consulte

Meu blog link

ou homem pam_tally

    
por Panther 28.02.2012 / 07:05
1

Explicação Por trás da autenticação comum

Se você está apenas procurando uma solução rápida, vá abaixo para Como configurar a autenticação comum para bloquear .

Espero que isso ajude a entender como /etc/pam.d/common-auth configura o bloqueio.

Se você retirar todos os comentários em /etc/pam.d/common-auth , ficará com o seguinte:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

Vamos dar uma olhada em cada linha deste arquivo e como ele é usado.

auth    [success=1 default=ignore]      pam_unix.so nullok_secure

Lê a entrada da senha. Se a senha estiver correta, a próxima linha do arquivo será ignorada (aquela com pam_deny.so ). Você pode alterar quantas linhas são ignoradas, definindo o valor em success=1 .

auth    requisite                       pam_deny.so

Falha imediata na tentativa de login. A palavra requisite aqui informa a autenticação para ser encerrada imediatamente após a falha. As outras linhas usam required , que espera até o final do módulo para sinalizar uma falha.

auth    required                        pam_permit.so

Permite a tentativa de login. Isso é feito usando pam_permit.so .

Depois de estabelecida, a configuração do módulo para bloquear o usuário pode ser melhor compreendida.

Como configurar a autenticação comum para bloquear

Para o Ubuntu:

Adicione a seguinte linha depois do pam_deny.so e antes do pam_permit.so :

auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800

Altere a linha pam_deny.so para o seguinte:

auth    required                        pam_deny.so

O arquivo inteiro ficaria assim:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    required                        pam_deny.so
auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800
auth    required                        pam_permit.so

Você pode configurar as seguintes opções para atender às suas necessidades:

  • deny=3 - O número de tentativas permitidas antes de você ser bloqueado.
  • unlock_time=1800 - O número de segundos antes que você tenha permissão para efetuar login novamente. (Nota adicional: se o sistema desbloquear após uma série de falhas, e você não autenticar novamente, você não tem mais duas tentativas para autenticar. O sistema faz você esperar o unlock-time novamente.)

A maioria dos recursos recomenda que essa linha seja adicionada na parte superior do arquivo, enfatizando a importância do pedido; no entanto, nos sistemas de desktop Ubuntu, essa configuração pode bloquear você na tela de login da GUI.

Por que isso acontece? Parece que quando você seleciona um usuário na tela de login do Ubuntu, o módulo PAM começa imediatamente, e aguarda na linha pam_unix.so (a linha de entrada da senha) antes de prosseguir. Se você colocar a linha pam_tally2.so antes deste "ponto de parada", o bloqueio se tornará imediatamente ativo e, se você sair do usuário pressionando as teclas de seta, o módulo sinalizará uma falha no login e pam_tally2 incrementos. Mesmo sem digitar uma senha, você logo fica preso em uma situação semelhante à seguinte:

Uma tela de login típica do Ubuntu com um arquivo de autenticação comum incorretamente configurado.

Colocar a linha pam_tally2.so na parte inferior do arquivo corrige esse problema. A ordem correta é mantida nesta configuração; a primeira linha salta para pam_deny.so ou pam_permit.so com base na validade da senha, e no momento em que pam_tally2.so for atingido, qualquer entrada de senha incorreta já foi indicada.

Mesmo que pam_permit.so seja atingido, independentemente da senha digitada, o módulo sempre falhará se pam_deny.so tiver sido atingido também. Isso ocorre porque a linha pam_deny.so contém required ; ele permitirá que o restante das linhas seja executado, mas o próprio módulo falhará no final.

Para mais informações sobre como o PAM funciona, você pode pesquisar no Google "Como o PAM funciona" ou simplesmente clicar aqui: link

Isso deve ser feito!

    
por theamateur 18.07.2016 / 20:57