Eu recebo 1 falha na tentativa de conexão SSH por segundo de um IP diferente. O que eu posso fazer?

4

Recebo muita tentativa de conexão SSH de um IP diferente no meu servidor (com um nome de usuário diferente). 1 a 5 por segundo. Parece um ataque de força bruta. O que posso fazer para evitar isso? Bloquear o IP? mudar a porta SSH? Algo mais?

Obrigado!

    
por benjisail 08.02.2010 / 19:39

11 respostas

1

Então eu fiz uma combinação de:

por 09.02.2010 / 09:54
13

O pacote DenyHosts é um que está disponível gratuitamente e bloqueará que "bots" tentem ataques repetidos em sua porta ssh.

link

Ótimo software para bloqueá-los.

Observação: ele também é incluído em muitas distribuições por padrão.

    
por 08.02.2010 / 19:41
7
  • Você pode instalar o fail2ban. Ele serve exatamente para esse propósito, bloqueando as tentativas de força bruta. Funciona com outros servidores como http / ftp / etc também.
  • Você pode bloquear o ip manualmente, mas isso é mais uma solução temporária.
  • Você pode alterar a porta SSH conforme sugerido. A menos que seja um requisito para você executá-lo na porta padrão, essa é uma boa ideia. A maioria dos invasores não demorará a descobrir se você tem um servidor ssh público em execução e em qual porta, exceto, talvez, se o ataque for direcionado especificamente para você.
por 08.02.2010 / 19:40
4

Mudar a porta ssh resolve muito bem. Nunca tive nenhum problema (é muito caro para os forçadores brutos varrerem o alcance uma vez que existem tantas máquinas com a porta defaut).

    
por 08.02.2010 / 19:40
2

Não altere a porta (permanentemente) sem sentido contra ataques sofisticados e apenas crie obstruções. Boa segurança está em boa política, não obscuridade. Se você pode considerar limitar o acesso a um conjunto de IPs conhecidos, se você não puder considerar denyhosts , como mencionado acima. Você também deve falar com seu ISP sobre isso, talvez haja um ataque em um segmento de sua rede e eles não estão cientes.

    
por 09.02.2010 / 00:00
1

Você pode encontrar o link útil para isso - você pode fazer algo assim: -

iptables -A INPUT -m recent --rcheck
--seconds 60 -j DROP iptables -A INPUT -i eth0 -d 192.2.0.1 -m recent --set -j DROP
    
por 09.02.2010 / 11:19
1

Se você estiver configurando muitas falhas de diferentes endereços IP, seu servidor estará sendo alvo de um ataque distribuído de força bruta. alguns pontos-chave:

  • se você estivesse executando o ssh em uma porta diferente de 22, esse ataque nunca teria segmentado você
  • executar algo como denyhosts geralmente não ajudará porque ataques como esses são ajustados para ter um número suficientemente baixo de tentativas por IP - o último ataque como este que vi usou alguns milhares de IPs

Então, etapas para proteger seu servidor SSH:

  1. Altere a porta. Cada ataque automatizado só verifica a porta 22. Se você estiver executando o ssh na porta 22 e começar a ver falhas de login, isso significa que você foi pego em uma varredura da porta 22 em algum momento. Se você estiver executando o ssh na porta 12501 e começar a ver falhas de login, terá problemas muito maiores. Se tudo mais falhar, não ter a porta 22 aberta impede que você seja um alvo fácil.
  2. Bloqueie o acesso à porta ssh de qualquer lugar, exceto da sua rede. Se você não tiver um IP estático, configure o knockd ou uma VPN para permitir a conexão de qualquer lugar. Configurar o knockd é consideravelmente mais simples do que configurar uma VPN.

A exigência de autenticação baseada em chave não protege realmente o servidor ssh, protegendo a autenticação. Se você confiar apenas na autenticação baseada em chave para proteger o servidor, você se abre para qualquer potencial exploit contra o openssh. Se um exploit de 0day foi lançado contra o openssh e você estiver executando o ssh na porta 22 e contando com as chaves para "proteger" seu servidor, ele será hackeado dentro de algumas horas.

Uma prática muito melhor é não permitir que as pessoas se conectem ao servidor ssh em primeiro lugar.

    
por 09.02.2010 / 14:02
0

+1 para alterar a porta.

Se você sempre tiver um IP estático, bloqueie todo o acesso de tudo, exceto desse IP.

É difícil bloquear IPs se você tiver um IP dinâmico ou se seu ataque de força bruta estiver vindo de vários IPs.

Se os IPs forem comuns, ou seja, é sempre um intervalo de 10 endereços IP que realizam o ataque, descubra qual provedor é o proprietário deles e envie um relatório de abuso com entradas de registro.

    
por 08.02.2010 / 20:56
0

outro +1 para mudar de porta - no mínimo. Caso contrário, configure uma VPN e um firewall, exceto a conexão VPN. É o melhor dos dois mundos na minha opinião.

    
por 08.02.2010 / 23:36
0

Se for um único (ou apenas alguns) IPs remotos tentando efetuar login, você pode instalar uma rota de host para o (s) IP (s), com um gateway de 127.0.0.1 (a interface de loopback). Dessa forma, eles não podem estabelecer uma sessão TCP, mas você corre o risco de ficar sem recursos do kernel (em 1-5 tentativas por segundo, mas deve estar tudo bem).

    
por 09.02.2010 / 13:06
0

Isso já foi respondido, mas apenas para adicionar algo que não vejo mencionado ...

Você pode desativar o login root.

Se você fizesse isso no Centos, você mudaria o seguinte em / etc / ssh / sshd_config:

PermitRootLogin no

A maioria dos ataques de força bruta é contra o usuário root.

Certifique-se de que outros usuários do sistema não tenham nomes genéricos, por exemplo, 'admin' ou 'public' ou seu nome, por exemplo, 'dave'. O invasor teria que forçar o nome do usuário e a senha juntos, isso não acontecerá.

    
por 05.03.2017 / 16:23