sshd logging tenta efetuar login sem uma chave privada

6

No meu VPS, rodando o Debian 7, eu tenho o ssh ativado na porta padrão 22 com apenas autenticação de chave privada ativada, todas as outras portas são filtradas com o iptables. Eu estou freqüentemente recebendo tentativas de login da china sob nomes de usuários falsos, como "plesk" ou "r00t", aparecendo no meu /var/log/auth.log

O único problema é para tentativas de autenticação que não apresentam uma chave privada e tentam fazer login com um nome de usuário válido, a única linha que aparece nos registros é

sshd[4364]: Connection closed by 123.45.67.89 [preauth]

Quando o nível de registro do sshd é definido como VERBOSE, uma linha adicional é impressa informando que um usuário conectado e a porta da qual eles se conectaram.

Existe alguma maneira de fazer o log do sshd desconectar um usuário porque ele não tinha uma chave privada?

    
por KaelanDuck 20.02.2014 / 13:37

4 respostas

1

A resposta à sua pergunta é Não. Pelo menos, não sem tomar medidas heróicas (por exemplo, executar o nível DEBUG e processá-lo com scripts) que são muito mais difíceis do que algumas alternativas sensatas. Esse mesmo erro [preauth] é relatado para nenhuma chave ou chave inválida.

Por outro lado, se eles realmente se conectarem, seu log dirá explicitamente

Jul  7 15:59:38 ws6 sshd[9578]: Accepted password for robohacker...

ou

Jul  7 15:59:38 ws6 sshd[9578]: Accepted publickey for robohacker...

O que você pode fazer é reforçar ainda mais a sua configuração. Você já precisou de uma chave, você também pode usar os comandos AllowUsers e AllowGroups para impedir a conexão de qualquer pessoa não autorizada especificamente.

Pessoalmente, eu sempre instalo o DenyHosts, embora não pareça ter atualizações recentes. Ouvi dizer que o Fail2Ban também é bom

    
por 08.07.2014 / 01:04
1

Você pode usar um "cheat" - em seu /etc/pam.d/ssh(d) na seção auth você pode adicionar uma declaração de log (pam_log) antes das declarações pam_unix ou @include common-auth. Se esta afirmação for atingida, uma autenticação de senha foi tentada.

    
por 08.07.2014 / 07:02
0

Qualquer registro que o sshd possa fazer será documentado em man sshd_config . Tente procurar por "log", mas não vejo nada específico lá - principalmente apenas LogLevel e SyslogFacility, embora talvez o MaxAuthTries ajude.

    
por 20.02.2014 / 17:13
0

Quando no modo verbose, seu sshd de fato já registrará a instrução de desconexão.

Se você quiser mais informações, você também pode usar o modo de log DEBUG definitivo, mas tenha muito cuidado com este porque os logs crescerão rapidamente sem uma boa política de logrotate; -)

    
por 21.02.2014 / 08:47