adivinhação de senha de força bruta no servidor SSH não vai funcionar?

2

Estou executando um servidor SSH no meu computador pessoal. O log tinha muitas pessoas (ou bots?) Repetidamente tentando entrar no meu servidor (ou seja, antes de eu mudar a porta padrão), o que me deixou um pouco assustada. Eu estava preocupado com seus ataques de dicionário ou adivinhação de senha de força bruta.

Mas se você digitar uma senha incorreta (ou nome de usuário incorreto), o servidor esperará cerca de 2 segundos antes de solicitar a senha novamente. Assim, um invasor pode tentar uma senha por 2 segundos. Então eu concluí que esses ataques não são uma grande ameaça (desde que sua senha não seja composta de palavras do dicionário). Estou correto?

    
por RamyenHead 12.08.2009 / 13:53

4 respostas

3

As sugestões nas outras respostas para se proteger mais quando usar o SSH são muito sensatas.

Mas, especificamente para a sua pergunta, é improvável que os ataques de força bruta de um único usuário sejam efetivos, exceto contra combinações comuns de nome de usuário / senha ou palavras do dicionário. Uma força aleatória alfanumérica de 9 letras de senha levará cerca de 6 milhões de anos para ser adivinhada.

No entanto, também é possível atacar com um botnet grande e coordenado que permite minimizar o impacto de um atraso de 2 segundos do servidor para cada usuário. Um milhão de bots (obviamente não exatamente provável) reduziriam seu tempo de cracking para 6.4 anos mais assustadores

    
por 12.08.2009 / 14:14
12

A força bruta do SSH em senhas de raiz que não são realmente fáceis (por exemplo, "deus";)) provavelmente nunca será bem-sucedida. No entanto, há tantas pessoas tentando, acho que há pessoas suficientes usando uma senha fraca o bastante para que os invasores tentem.

Então, sim, se você estiver usando senhas seguras, provavelmente está seguro, mas há várias coisas que você pode fazer para melhorar ainda mais sua segurança (e tornar possível rir de tentativas de login de 50k em seus arquivos de log todos os dias ):

  • use o fail2ban para bloquear automaticamente atacantes de força bruta (ele cria regras de iptables com base em seus arquivos de log, eu acho).
  • desative completamente a conta root usando "passwd -l" e use sudo (certifique-se de habilitar e testar sudo antes executando esse comando!)
  • e ainda melhor: desabilite logins de senha via SSH completamente em sshd_config (PasswordAuthentication no) e use arquivos de chaves.
por 12.08.2009 / 13:59
4

Eu instalo DenyHosts em qualquer máquina com servidores ssh voltados para a Internet. Ele adiciona automaticamente os IPs de origem de logins repetidamente com falha para hosts.deny.

    
por 12.08.2009 / 14:14
2

Existe um pouco mais que você pode fazer com BlockSSHd .

BlockSSHD is a Perl script based on BruteForceBlocker v1.2.3 that dynamically adds IPTables rules for Linux and pf firewall rules for BSD that block SSH brute force attacks. It can also detect ProFTPd login failures.

É bem legal e flexível.

The BlockSSHD script can unblock IP address after a period. This is enabled in the blocksshd.conf configuration file using the unblock option and with the period set using the unblock_timeout option.

The BlockSSHD script can also log the IP addresses blocked to a file and re-apply these blocked IP addresses when the script is re-started. This allows you to restore previously blocked IP addresses after a restart or when your firewall rules are flushed.

Um recente digg - 6 maneiras de tornar seus logins SSH mais seguros .

  1. Escolha senhas strongs
    • Desativar login raiz direto
    • Desativar logins baseados em senha
    • Executar o SSH em uma porta não padrão
    • Proibir infratores persistentes (o caminho do iptables)
    • Perl com BlockSSHd
    • Python com base Fail2Ban
    • Taxa limite das conexões ( iptables novamente )

Ainda paranóico? Autenticação de dois fatores do usuário , Proteja sua implantação de SSH com a autenticação de dois fatores WiKID

    
por 12.08.2009 / 13:55