Eu escrevi um programa para bloquear endereços IP, como você solicita há alguns anos, mas fiz isso para um Cliente como trabalho contratado. Como terminei com algum tempo "livre" esta noite, optei por reimplementar tudo desde o início, escrever alguma documentação útil e geralmente torná-lo um programa apresentável. Desde que ouvi de várias pessoas que isso seria útil, parece que provavelmente vale a pena. Espero que você e outros membros da comunidade possam tirar proveito 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 frequência do que o permitido em um determinado período, o endereço IP será banido.
Os nomes de usuário e limites "banir imediatamente" associados a tentativas repetidas de logon são configuráveis na seção "Configuração" do script. As configurações padrão são as seguintes:
- Proibir nomes de usuário imediatamente - administrador, root, convidado
- Tentativas de logon permitidas - 5 em 120 segundos (2 minutos)
- Duração da proibição - 300 segundos (5 minutos)
Uma vez por segundo, todos os endereços IP que foram banidos pela duração do banimento são banidos (removendo a rota do buraco negro da tabela de roteamento).
Você pode baixar o software aqui e navegar pelo arquivo aqui .
Editar:
A partir de 20/01/2010, atualizei o código para oferecer suporte ao uso do "Advanced Firewall" no Windows Vista / 2008/7/2008 R2 para realizar uma retenção negra de tráfego por meio da criação de regras de firewall (o que está muito mais alinhado com o comportamento de "fail2ban"). Também adicionei algumas strings correspondentes adicionais para capturar as versões do OpenSSH que "usuário inválido" em oposição a "usuário ilegal".
No Linux, denyhosts faz o truque, não posso dizer se ele funcionará no Windows / Cygwin ou não. De uma chance.
fonte
Este é muito interessante, atualmente estamos avaliando esta solução:
O Syspeace trabalha em estreita colaboração com o Windows para detectar possíveis ameaças com um desempenho ideal. Os eventos no log de eventos são monitorados continuamente quanto a qualquer comportamento suspeito. Se um evento é considerado uma ameaça ao sistema, o Syspeace prossegue para o próximo nível, verificando uma base de regras interna que simplesmente bloqueia o endereço IP e adiciona a regra ao firewall do Windows.
Lista de permissões locais
Um usuário sempre pode adicionar endereços IP à Lista de permissões locais para, por exemplo, impedir o bloqueio de qualquer rede interna ou adicionar temporariamente computadores individuais. Isso deve ser usado com cautela, pois quaisquer IPs nesta lista são considerados confiáveis pelo Syspeace e sempre serão ignorados.
Lista negra local
Quaisquer ameaças serão adicionadas à lista negra local automaticamente pelo Syspeace. Você sempre pode revisar a lista negra e adicioná-la ou removê-la como achar melhor. No entanto, recomendamos que você não faça alterações nesta lista, pois poderá abrir caminho acidentalmente para um hacker desconhecido.
Lista negra global
Uma característica importante do Syspeace é a capacidade de bloquear endereços IP conhecidos globalmente na lista negra, de preferência. Ao escolher esta 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 globalmente ao conjunto de regras do firewall pressionando 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 da lista negra global é alterado, o Syspeace tem a capacidade de enviar mensagens para as pessoas apropriadas. sua organização.
Relatórios
Receber e-mails quando um evento importante acontece pode ser bom, mas às vezes você também deseja obter um resumo. O Syspeace compila um relatório diário com todas as tentativas de ataque no 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
fonte
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 bloqueie todos os endereços IP que tentam fazer login usando "Administrador" como o nome de usuário?
fonte
Você pode precisar mexer no firewall do Windows; Cygwin não teria esse tipo de funcionalidade.
fonte
Você pode considerar usar o SSHBlock - um script Perl para controlar tentativas de força bruta.
Eu nunca o usei no Cygwin ainda.
No entanto, aqui está um link para outro artigo que descreve o sshblock de outras maneiras:
Defesa contra ataques ssh de força bruta
fonte