Logins falhados do Autoblock SSHd do Cygwin

19

Estou executando o Cygwin com um deamon SSH em uma máquina Windows Server 2008. Eu estava olhando para o Visualizador de Eventos e notei que 5 a 6 tentativas de login por segundo (força bruta) falharam durante a última semana, de diferentes IPs.

Como posso bloquear automaticamente esses IPs em vez de bloqueá-los manualmente?

Obrigado Ahmad

    
por ANaimi 21.07.2009 / 07:26

6 respostas

33

Eu escrevi um programa para bloquear endereços IP como você está pedindo há alguns anos atrás, mas o fiz para um cliente como um trabalho contratado. Uma vez que acabei com algum tempo "livre" esta noite, optei por reimplementar a coisa toda, escrever uma documentação útil e, geralmente, torná-la um programa apresentável. Desde que eu ouvi de várias pessoas que isso seria uma coisa útil para ter parece que provavelmente vale a pena o tempo. Espero que você e outros membros da comunidade consigam algum uso disso.

Windows sshd_block

sshd_block é um programa VBScript que atua como um coletor de eventos WMI para receber entradas do Log de Eventos do Windows registradas pelo sshd. Ele analisa essas entradas de log e age sobre elas da seguinte maneira:

  • Se o endereço IP tentar fazer logon com um nome de usuário sinalizado como "banir imediatamente", o endereço IP será banido imediatamente.

  • Se o endereço IP tentar fazer logon com mais freqüência do que o permitido em um determinado período de tempo, o endereço IP será banido.

Os nomes de usuário e limites "banidos imediatamente" associados a repetidas tentativas de logon são configuráveis na seção "Configuração" do script. As configurações padrão são as seguintes:

  • Proibir imediatamente nomes de usuários - administrador, raiz, convidado
  • Tentativas de logon permitidas - 5 em 120 segundos (2 minutos)
  • Duração da proibição - 300 segundos (5 minutos)

Uma vez por segundo, quaisquer endereços IP que tenham sido banidos durante a duração da proibição serão desbanidos (com a rota do buraco negro removida da tabela de roteamento).

Você pode baixar o software aqui e pode navegar pelo arquivo aqui .

Editar:

A partir de 2010-01-20 eu atualizei o código para suportar o uso do "Firewall Avançado" no Windows Vista / 2008/7/2008 R2 para executar o bloqueio de tráfego através da criação de regras de firewall (que é muito mais alinhado com o comportamento de "fail2ban"). Eu também adicionei algumas strings de correspondência adicionais para capturar as versões do OpenSSH que "usuário inválido" ao invés de "usuário ilegal".

    
por 22.07.2009 / 07:58
2

No Linux denyhosts faz o truque, não posso dizer se ele funcionará no Windows / Cygwin ou não. Experimente.

    
por 21.07.2009 / 07:39
1

Este é muito interessante, estamos atualmente avaliando esta solução:

O Syspeace trabalha em estreita colaboração com o Windows para detectar possíveis ameaças em um ótimo desempenho. Eventos no log de eventos são monitorados continuamente por qualquer comportamento suspeito. Se um evento for considerado uma ameaça ao sistema, o Syspeace prossegue para o próximo nível verificando uma base de regra interna que simplesmente bloqueia o endereço IP e adiciona a regra ao firewall do Windows.

Lista de permissões local

Um usuário pode sempre adicionar endereços IP à Lista de permissão local para, por exemplo, impedir o bloqueio de qualquer rede interna ou adicionar temporariamente um único computador. Isso deve ser usado com cautela, pois qualquer IP nesta lista é considerado confiável pelo Syspeace e sempre será ignorado.

Lista negra local

Quaisquer ameaças serão adicionadas automaticamente à Lista Negra Local pelo Syspeace. Você sempre pode revisar a lista negra e adicioná-la ou removê-la como achar melhor. Recomendamos, no entanto, que você não faça nenhuma alteração nessa lista, pois você pode acidentalmente abrir caminho para um hacker desconhecido.

Lista negra global

Um dos principais recursos do Syspeace é a capacidade de bloquear preventivamente os endereços IP conhecidos globalmente na lista negra. Ao escolher essa opção, o Syspeace importará a Lista Negra Global para o seu cliente e agirá de acordo, adicionando todos os endereços IP da lista negra global ao conjunto de regras do firewall com o simples toque de um botão.

Mensagens

Sempre que um evento importante ocorre, o serviço é iniciado ou interrompido, as regras são colocadas ou removidas do firewall ou o status da comunicação para a licença central e o servidor global da lista negra é alterado, o Syspeace tem a capacidade de enviar mensagens para o pessoas apropriadas em sua organização.

Relatórios

Receber e-mails quando um evento importante acontece pode ser bom, mas às vezes você também gostaria de receber um resumo. O Syspeace compila um relatório diário com todas as tentativas de ataque em seu sistema e envia uma mensagem com as informações. O Syspeace também compila um relatório semanal da mesma maneira.

www.syspeace.com

    
por 04.12.2012 / 21:19
1

Literalmente todas as tentativas de login da China / EUA / Índia no meu servidor tentam o login do Administrador, que eu desabilitei.

Não seria mais fácil desativar o login do Administrador e, em seguida, escrever um script que bloqueia todos os endereços IP que tentam fazer login usando "Administrador" como nome de usuário?

    
por 20.05.2014 / 04:24
0

Você pode precisar mexer no firewall do Windows; O Cygwin não teria esse tipo de funcionalidade.

    
por 21.07.2009 / 07:43
0

Você pode usar o SSHBlock - um script Perl para controlar as tentativas de força bruta.

SSHBlock is a daemon to monitor a syslog log for break-in attempts using SSH, and to automatically block bad hosts by adding lines to /etc/hosts.allow (TCP Wrappers). Several thresholds are pre-defined, to be able to block those trying many attempts within a longer or shorter period. Use -h to see command line options.

Eu nunca usei isso no Cygwin ainda.
No entanto, aqui está um link para outro artigo descrevendo sshblock com algumas outras formas: Defesa contra ataques ssh de força bruta

    
por 21.07.2009 / 15:41