IPBan - Software gratuito para bloquear atacantes rapidamente e facilmente no Linux e Windows

Links Úteis
Requisitos
- A versão gratuita do IPBan requer o SDK .NET 9 para compilar e depurar o código. Para uma IDE, sugiro o Visual Studio Community para Windows, ou VS Code para Linux. Todos são gratuitos. Você pode criar um executável autossuficiente para eliminar a necessidade do dotnet core na máquina servidora, ou apenas baixar os binários pré-compilados nos releases.
- Executar e/ou depurar o código requer que você execute sua IDE ou terminal como administrador ou root.
- Plataformas oficialmente suportadas:
- Windows 10 ou superior (x86, x64)
- Windows Server 2016 ou superior (x86, x64)
- Windows Server 2025 ou superior requer IPBan 2.0.1 ou superior.
- Linux Ubuntu x64, arm, arm64 (requer firewalld, nftables ou iptables)
- Linux Debian x64, arm, arm64 (requer firewalld, nftables ou iptables)
- Linux CentOS x64, arm, arm64 (requer firewalld, nftables ou iptables)
- Linux RedHat x64, arm, arm64 (requer firewalld, nftables ou iptables)
- Mac OS X não suportado no momento
Recursos
- Banir automaticamente endereços IP detectando logins com falha no visualizador de eventos e/ou arquivos de log. No Linux, o SSH é monitorado por padrão. No Windows, RDP, OpenSSH, VNC, MySQL, SQL Server, Exchange, SmarterMail, MailEnable são monitorados. Mais aplicativos podem ser facilmente adicionados via arquivo de configuração.
- Receitas adicionais para o visualizador de eventos e arquivos de log estão aqui: https://github.com/DigitalRuby/IPBan/tree/master/Recipes
- Altamente configurável, muitas opções para determinar o limite de contagem de login com falha, tempo de banimento, etc.
- Certifique-se de verificar o arquivo ipban.config (anteriormente chamado DigitalRuby.IPBan.dll.config, veja o projeto IPBanCore) para opções de configuração, cada opção está documentada com comentários.
- O banimento ocorre basicamente instantaneamente para o visualizador de eventos. Para arquivos de log, você pode definir a frequência de verificação de alterações.
- Muito rápido - otimizei e ajustei este código desde 2012. O gargalo é quase sempre a implementação do firewall, não este código.
- Desbanir endereços IP facilmente colocando um arquivo unban.txt na pasta de serviço com cada endereço IP em uma linha para desbanir.
- Funciona com IPv4 e IPv6 em todas as plataformas.
- Por favor, visite a wiki em https://github.com/DigitalRuby/IPBan/wiki para muito mais documentação.
Download
Instalação
Observe que para o IPBan Pro, você pode encontrar instruções de instalação em https://ipban.com/ipban-pro-install-instructions/. Estas instruções de instalação aqui no github são para a versão gratuita do IPBan.
Windows
- IPBan é suportado no Windows Server 2016 e Windows 10, ou superior.
- Fail2Ban, mas para Windows!
- Instalação fácil com um clique, abra o PowerShell como administrador e execute:
$ProgressPreference = 'SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Windows/Scripts/install_latest.ps1'))
Nota: PowerShell 5.1 ou superior é necessário.
Opções Avançadas de Instalação
O script de instalação suporta parâmetros adicionais para personalização. Devido à validação de parâmetros do PowerShell introduzida em atualizações recentes, você deve especificar explicitamente o parâmetro startupType ao usar o comando de instalação de uma linha.
Instalação com tipo de inicialização personalizado:
$ProgressPreference = 'SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Windows/Scripts/install_latest.ps1')) } -startupType 'delayed-auto'"
Substitua 'delayed-auto' por 'auto' se quiser que o serviço inicie imediatamente na inicialização (fornece proteção imediata, mas pode ter problemas de compatibilidade).
Parâmetros disponíveis:
-startupType: Tipo de inicialização do serviço - 'delayed-auto' (padrão, mais seguro) ou 'auto' (proteção imediata na inicialização)
-silent: $True para instalação não interativa, $False (padrão) para modo interativo
-autostart: $True (padrão) para iniciar o serviço imediatamente após a instalação, $False para deixar parado
-uninstall: 'uninstall' ou 'u' para desinstalar o IPBan
Exemplo com múltiplos parâmetros:
$ProgressPreference = 'SilentlyContinue'; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Windows/Scripts/install_latest.ps1')) } -startupType 'auto' -silent `$True -autostart `$True"
Nota: O tipo de inicialização 'delayed-auto' aguarda serviços de prioridade mais alta iniciarem primeiro, deixando o sistema brevemente desprotegido após a inicialização. A opção 'auto' fornece proteção imediata na inicialização, mas pode encontrar problemas de compatibilidade com algumas configurações de sistema. Se você escolher 'auto', verifique se o serviço inicia corretamente após a reinicialização.
Notas Adicionais sobre Windows
- Windows Server 2012 não é mais suportado a partir de outubro de 2023. Atualize para um sistema operacional diferente que seja realmente suportado pela Microsoft.
- Certifique-se de que seu servidor e clientes estão com patches antes de fazer a alteração acima: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018. Você precisa editar manualmente a política de grupo conforme especificado no link.

- No Windows Server executando Exchange, é impossível desabilitar NTLM (negar todos os clientes em Security restrict ntlm incoming ntlm traffic), pois então o Outlook em computadores cliente solicita permanentemente aos usuários que insiram nome de usuário e senha. Para contornar isso, defina o nível de autenticação LAN Manager em Opções de Segurança das Políticas Locais para "Send NTLMv2 response only. Refuse LM & NTLM". Há um pequeno problema – quando alguém tenta fazer login com um nome de usuário indefinido, o log não contém um endereço IP. Não sei por que a Microsoft não consegue registrar um endereço IP corretamente.
- Se estiver usando Exchange, desabilitar o pool de aplicativos 'MSExchangeServicesAppPool' pode eliminar muitos problemas no visualizador de eventos com endereços IP não sendo registrados.
- Desinstalador: https://github.com/DigitalRuby/IPBan/blob/master/IPBanCore/Windows/Scripts/uninstall.cmd
Linux
Instalação fácil com um clique:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)
Desinstalar: sudo systemctl stop ipban; sudo systemctl disable ipban; sudo rm /opt/ipban -r
Inscreva-se na lista de e-mails do IPBan
Upgrade
Obtenha um desconto no IPBan Pro visitando https://ipban.com/upgrade-to-ipban-pro/.
Outros Serviços
Integre o IPBan com o IPThreat, um site e serviço 100% gratuito. Ao contrário de alguns outros sites e serviços que usam dados contribuídos pela comunidade, o IPThreat não cobra taxas de assinatura.
Analytics
Para desabilitar o envio anônimo de endereços IP banidos para o banco de dados global do ipban, defina UseDefaultBannedIPAddressHandler como false no arquivo de configuração.
Doações
Se o IPBan gratuito ajudou você e você se sentir inclinado, por favor considere doar...

Jeff Johnson, CEO/CTO
Digital Ruby, LLC
https://ipban.com
[email protected]