serviço pam (sshd) ignorando tentativas máximas

32

Eu tenho vps que eu uso para rodar um servidor web, ele atualmente roda o ubuntu server 12.04. Desde algumas semanas eu continuo recebendo muitos erros no meu console ssh.

2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3

Alguém poderia me dizer o que esses erros significam. Ou pelo menos me diga como desativar esses erros. É realmente irritante quando estou trabalhando com o ssh e esses erros continuam aparecendo em toda a minha tela.

Jerodev
fonte

Respostas:

40

PAMestá lhe dizendo que está configurado com "retry = 3" e ignorará quaisquer outras solicitações de autenticação do sshd na mesma sessão. SSHno entanto, continuará tentando até esgotar a configuração MaxAuthTries (o padrão é 6).

Provavelmente, você deve definir os dois (SSH e PAM) com o mesmo valor para o máximo de tentativas de autenticação.

Atualizada

Para alterar esse comportamento:

Para sshdvocê editar /etc/ssh/sshd_confige definir MaxAuthTries 3. Também reinicie o servidor SSH para que a configuração entre em vigor.

Para PAM, você precisa procurar a configuração no /etc/pam.ddiretório (acho que é o common-passwordarquivo no Ubuntu), é necessário alterar o retry=valor.

Nota: sugiro que também verifique a resposta de Peter Hommel com relação ao motivo dessas solicitações, pois é possível que seu SSH esteja sendo forçado de forma bruta.

phoops
fonte
Obrigado, o problema foi corrigido adicionando o MaxAuthTries 3na configuração ssh e depois reiniciando o servidor.
Jerodev
41

Embora as outras respostas estejam corretas ao eliminar a mensagem de erro recebida, considere que essa mensagem de erro pode ser apenas um sintoma de outro problema subjacente.

Você recebe essas mensagens porque existem muitas tentativas de login com falha via ssh no seu sistema. Pode haver alguém tentando fazer força bruta na sua caixa (foi o caso quando recebi as mesmas mensagens no meu sistema). Leia o seu var/log/auth.logpara pesquisa ...

Se esse for o caso, você deve considerar instalar uma ferramenta como 'fail2ban' ( sudo apt-get install fail2banno Ubuntu). Ele lê automaticamente os arquivos de log do seu sistema, pesquisa várias tentativas de login com falha e bloqueia os clientes mal-intencionados por um tempo configurável via iptables ...

Peter Hommel
fonte
4
Este é um comentário muito bom. Atualizei minha resposta com uma nota para ler sua resposta também para qualquer pessoa que possa se deparar com isso.
phoops 26/11/14
5

Parece que a análise acima não está completamente correta. Parece não haver uma opção retry = para autenticação do pam (eu encontrei uma para o pam_cracklib, mas isso apenas diz respeito à alteração de senha na seção "senha", não à autenticação na seção "auth" do pam). Em vez disso, o pam_unix contém um número máximo interno de tentativas de 3. Após 3 tentativas, o pam retorna o código de erro PAM_MAXRETRIES para informar o sshd disso.

O sshd realmente deve parar de tentar nesse caso, independentemente de seus próprios MaxAuthTries. Não, o que eu acho que é um bug (que acabei de relatar com o openssh ).

Até que esse bug seja corrigido, parece que definir MaxAuthTries como <= 3 é a única maneira de impedir que essa mensagem seja exibida.

Matthijs Kooijman
fonte
o bug parece corrigido com versão 7.3p1
Dennis Nolte
3

O cliente ssh pode tentar se autenticar com uma ou mais chaves. Todas as chaves que não estão listadas em allowed_keys irão falhar, consumindo uma das tentativas do sshd. O cliente tentará todas as chaves ssh que possui até que uma tenha sucesso ou todas falhem, por isso é bom que o sshd permita que você tente várias.

Se nenhuma chave corresponder, o sshd poderá permitir que você tente uma senha. Cada uma dessas tentativas também consome uma das tentativas permitidas do sshd. Mas também consome uma das tentativas permitidas do PAM.

Portanto, a combinação de 6 tentativas de autenticação ssh e 3 tentativas de autenticação pam é uma coisa boa: significa que o ssh permitirá 6 tentativas de autenticação total (chave ou senha), mas apenas 3 tentativas de senha.

Como já foi dito, se você costuma vê-los em seus logs, alguém está tentando entrar no sistema com força bruta. Considere usar fail2ban para bloquear completamente pacotes de endereços IP dos quais essas tentativas se originam.

Conta
fonte
1

Após a atualização do Debian 6 para o Debian 7, tive os mesmos problemas. De repente, esses erros de sshd surgiram no meu console.

2014 Oct 15 13:50:12 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:17 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:18 vps456 PAM service(sshd) ignoring max retries; 6 > 3

No meu caso, o problema era que rsyslognão estava mais instalado após a atualização do Debian.

Após a instalação do rsyslog, estes erros desapareceram do meu console: apt-get install rsyslog

tomputer
fonte
3
Isso apenas os faz aparecer em outro lugar, em vez de no console. Minha resposta corrige a causa do erro devido à configuração incorreta do SSH / PAM após a atualização.
phoops 26/11/14
-1

Certamente, obter esses avisos no console pode ser irritante, mas quando vejo em meus arquivos de log que ontem tive 987 tentativas fracassadas de login raiz provenientes de um endereço IP na China ou 2670 de algum serviço em nuvem na Califórnia, ou ... muitos outros, não me preocupo. A raiz do usuário não tem permissão para fazer login na minha máquina. Não importa quantas tentativas.

Se eles começassem a tentar nomes de usuário que podem fazer login, isso seria uma questão diferente, mas se alguém tiver boas senhas, também não vejo risco. As senhas de login (ao contrário das chaves de criptografia) só podem ser tentadas com tanta rapidez.

Usar algo como fail2ban parece complexidade desnecessária que não compra nada (se você tiver boas senhas) e complexidade é ruim para segurança. Tentativas de limitação é algo que o sshd deve implementar, não algo que deve exigir algum complemento ... e o sshd faz tentativas de limitação . Boa.

-kb, o Kent que usa apenas boas senhas e nunca é reciclado entre sites diferentes.

Kent Borg
fonte
2
O uso de chaves ssh e a desativação de senhas são ainda melhores para impedir ataques bem-sucedidos de força bruta.
HBruijn
Sim, mas o problema muda para proteger suas chaves ssh. Onde eles estão? Eles são criptografados? Quão boa uma chave os protege? Se uma senha não puder ser quebrada nos X anos de tentativa, ela não poderá ser quebrada nos X anos de tentativa, para que você precisa "melhor"? Eu dedico muito tempo ao gerenciamento de minhas senhas e posso digitá-las, muitas delas me lembro. Mas um monte de chaves ssh? Precisa de algum lugar seguro para mantê-los.
Kent Borg
2
Forçar brutalmente uma senha (normalmente com menos de 20 caracteres e muitas vezes mal escolhido) é muito mais simples do que forçar brutalmente uma chave privada de 1024 bits (simplificou o equivalente a uma senha de 128 caracteres) para obter acesso através do SSH. Vamos continuar comparando maçãs com maçãs. - - A menos que você seja um idiota completo (por exemplo, armazenar sua chave privada no seu github público), é difícil obter a sua chave ssh privada, pois ela nunca precisa sair da sua estação de trabalho. Uma vez que sua chave privada é comprometida não somos mais nos ataques aleatórios, mas entrar no reino de ataques direcionados ...
HBruijn
@ Kent, você sabe que pode proteger com senha as chaves SSH? Além disso, você diz que fail2ban é desnecessário, mas continua sugerindo que o SSH implemente esse recurso por si só. Além disso, se você não bloquear as solicitações, elas poderão fazer o DDoS com muito mais facilidade.
Phoops