Como acompanho as tentativas falhas de login no SSH?


134

Gostaria de ver se alguém está tentando fazer login com força bruta no meu servidor Ubuntu 12.04 através do SSH. Como posso ver se essas atividades estão ocorrendo?

Respostas:


150

Todas as tentativas de login são registradas /var/log/auth.log.

1. Filtre por logins SSH interativos de força bruta

Abra um terminal e digite o abaixo; se for maior que 1 página, você poderá rolar para cima e para baixo; digite qpara sair:

grep sshd.\*Failed /var/log/auth.log | less
  • Aqui está um exemplo real de um dos meus VPSs:

    18 de agosto 11:00:57 izxvps sshd [5657]: Senha falhada para o root da porta 38980 ssh2 95.58.255.62
    18 de agosto 23:08:26 izxvps sshd [5768]: Senha falhada para o root da porta 38156 ssh2 da porta 91.205.189.15
    18 de agosto 23:08:30 izxvps sshd [5770]: Senha falhada para ninguém da porta 38556 ssh2 da porta 91.205.189.15
    18 de agosto 23:08:34 izxvps sshd [5772]: Senha falhada para asterisco de usuário inválido da porta 38864 ssh2 da porta 91.205.189.15
    18 de agosto 23:08:38 izxvps sshd [5774]: Senha falhada para o usuário inválido sjobeck de 91.205.189.15 porta 39157 ssh2
    18 de agosto 23:08:42 izxvps sshd [5776]: Senha falhada para o root da porta 91.205.189.15 porta 39467 ssh2
    

2. Procure por conexões com falha (por exemplo, nenhum logon tentado, pode ser um scanner de porta, etc.):

Use este comando:

grep sshd.*Did /var/log/auth.log | less
  • Exemplo:

    5 de agosto 22:19:10 izxvps sshd [7748]: Não recebeu a sequência de identificação de 70.91.222.121
    10 de agosto 19:39:49 izxvps sshd [1919]: Não recebeu a sequência de identificação de 50.57.168.154
    13 de agosto 23:08:04 izxvps sshd [3562]: Não recebeu a sequência de identificação de 87.216.241.19
    17 de agosto 15:49:07 izxvps sshd [5350]: Não recebeu a sequência de identificação de 211.22.67.238
    19 de agosto 06:28:43 izxvps sshd [5838]: Não recebeu a sequência de identificação de 59.151.37.10
    

Como reduzir tentativas de login com falha / força bruta

  • Tente mudar o SSH para uma porta não padrão a partir do padrão 22
  • Ou instale um script de proibição automática, como fail2banInstalar fail2ban .

4
Quanta segurança você obtém ao trocar a porta SSH (eles não podem apenas fazer a varredura de qualquer maneira, como você mencionou) e vale a pena a menor usabilidade atingida por usuários legítimos?
Nick T

8
@NickT, é o suficiente para reduzir significativamente as tentativas de login. Onde eu recebia milhares de tentativas em uma semana / dia, até agora não tive nenhuma no mês passado, simplesmente trocando a porta.
AntoineG

2
Eu acho que não permitir login com senha pode ajudar também.
Luc M

2
eu sei que isso é o Ubuntu, só queria mencionar que em alguns sistemas, como centos o caminho do arquivo é/var/log/secure
lfender6445

Alguns sistemas de acessar o log comsystemctl -eu sshd
alecdwm

72

Eu argumentaria que o monitoramento de logs é uma solução fraca, especialmente se você tiver uma senha fraca em uma conta. Tentativas brutas geralmente tentam pelo menos centenas de chaves por minuto. Mesmo se você tiver um trabalho agendado para enviá-lo por e-mail com tentativas brutas, poderá levar horas para chegar ao seu servidor.

Se você possui um servidor SSH voltado para o público, precisa de uma solução que entre em ação  muito antes de poder ser invadido.

Eu recomendo fortemente fail2ban. O wiki deles diz o que faz melhor do que eu.

O Fail2ban verifica os arquivos de log (por exemplo /var/log/apache/error_log) e proíbe os IPs que mostram os sinais maliciosos - muitas falhas de senha, buscas por explorações, etc. Geralmente, o Fail2Ban costumava atualizar as regras do firewall para rejeitar os endereços IP por um período de tempo especificado, embora outra ação arbitrária (por exemplo, envio de e-mail ou ejeção da bandeja de CD-ROM) também pode ser configurada. Pronto, o Fail2Ban vem com filtros para vários serviços (apache, curier, ssh, etc).

Obter proteção contra isso é tão simples quanto sudo apt-get install fail2ban.

Por padrão, assim que alguém tem três tentativas fracassadas, seu IP é banido por cinco minutos. Esse tipo de atraso basicamente interrompe uma tentativa de força bruta do SSH, mas não vai estragar o seu dia se você esquecer sua senha (mas você deve usar as chaves mesmo assim!)


6
Por que é chamado falha em proibir?
Pacerier

9
@Pacerier Bem, com alguma analogia, a falha no login leva a (2) uma proibição.
Sebi

2
Bwahaha você fez o meu dia @Pacerier Eu nunca pensei nisso como um "fracasso em proibir".
Adelriosantiago

1
Eu acho que isso deve ser editado para remover "especialmente" da primeira frase. É apenas um problema se você tiver uma senha fraca. Senhas fortes não podem ser forçadas de forma bruta sob nenhuma circunstância, e o único motivo para impedir que as pessoas tentem é reduzir a carga do servidor.
Abhi Beckert 14/02

Concordo absolutamente. De qualquer forma, tudo bem evitar uma carga do servidor altamente. Tenho visto tentativas em taxas de milissegundos
Diego Andrés Díaz Espinoza
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.