IPBan - Software gratuito per bloccare rapidamente e facilmente gli aggressori su Linux e Windows

Link utili
Requisiti
- La versione gratuita di IPBan richiede .NET 9 SDK per compilare e fare il debug del codice. Per un IDE, suggerisco Visual Studio Community per Windows o VS code per Linux. Sono tutti gratuiti. Puoi creare un eseguibile autonomo per eliminare la necessità di dotnet core sulla macchina server, o semplicemente scaricare i binari precompilati nelle release.
- Per eseguire e/o fare il debug del codice è necessario eseguire l'IDE o il terminale come amministratore o root.
- Piattaforme ufficialmente supportate:
- Windows 10 o successivo (x86, x64)
- Windows Server 2016 o successivo (x86, x64)
- Windows Server 2025 o successivo richiede IPBan 2.0.1 o successivo.
- Linux Ubuntu x64, arm, arm64 (richiede firewalld, nftables o iptables)
- Linux Debian x64, arm, arm64 (richiede firewalld, nftables o iptables)
- Linux CentOS x64, arm, arm64 (richiede firewalld, nftables o iptables)
- Linux RedHat x64, arm, arm64 (richiede firewalld, nftables o iptables)
- Mac OS X non supportato al momento
Caratteristiche
- Blocco automatico degli indirizzi IP rilevando i login falliti dal visualizzatore eventi e/o dai file di log. Su Linux, SSH è monitorato per impostazione predefinita. Su Windows, RDP, OpenSSH, VNC, MySQL, SQL Server, Exchange, SmarterMail, MailEnable sono monitorati. Altre applicazioni possono essere facilmente aggiunte tramite il file di configurazione.
- Ulteriori ricette per il visualizzatore eventi e i file di log sono disponibili qui: https://github.com/DigitalRuby/IPBan/tree/master/Recipes
- Altamente configurabile, molte opzioni per determinare la soglia del numero di login falliti, il tempo di ban, ecc.
- Assicurati di controllare il file ipban.config (precedentemente chiamato DigitalRuby.IPBan.dll.config, vedi progetto IPBanCore) per le opzioni di configurazione; ogni opzione è documentata con commenti.
- Il ban avviene praticamente istantaneamente per il visualizzatore eventi. Per i file di log, puoi impostare la frequenza con cui controllare le modifiche.
- Molto veloce - ho ottimizzato e messo a punto questo codice dal 2012. Il collo di bottiglia è quasi sempre l'implementazione del firewall, non questo codice.
- Sblocca facilmente gli indirizzi IP inserendo un file unban.txt nella cartella del servizio con ogni indirizzo IP su una riga da sbloccare.
- Funziona con IPv4 e IPv6 su tutte le piattaforme.
- Visita il wiki su https://github.com/DigitalRuby/IPBan/wiki per molta più documentazione.
Download
Installazione
Tieni presente che per IPBan Pro puoi trovare le istruzioni di installazione su https://ipban.com/ipban-pro-install-instructions/. Queste istruzioni di installazione qui su github sono per la versione gratuita di IPBan.
Windows
- IPBan è supportato su Windows Server 2016 e Windows 10 o successivi.
- Fail2Ban ma per Windows!
- Installazione facile con un clic, apri PowerShell come amministratore ed esegui:
$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: è richiesto PowerShell 5.1 o successivo.
Opzioni di installazione avanzate
Lo script di installazione supporta parametri aggiuntivi per la personalizzazione. A causa della convalida dei parametri di PowerShell introdotta negli aggiornamenti recenti, devi specificare esplicitamente il parametro startupType quando utilizzi il comando di installazione in una riga.
Installazione con tipo di avvio personalizzato:
$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'"
Sostituisci 'delayed-auto' con 'auto' se desideri che il servizio si avvii immediatamente all'accensione (fornisce protezione immediata ma può avere problemi di compatibilità).
Parametri disponibili:
-startupType: Tipo di avvio del servizio - 'delayed-auto' (predefinito, più sicuro) o 'auto' (protezione immediata all'avvio)
-silent: $True per installazione non interattiva, $False (predefinito) per modalità interattiva
-autostart: $True (predefinito) per avviare il servizio subito dopo l'installazione, $False per lasciarlo fermo
-uninstall: 'uninstall' o 'u' per disinstallare IPBan
Esempio con parametri multipli:
$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: Il tipo di avvio 'delayed-auto' attende l'avvio dei servizi con priorità più alta, lasciando il sistema brevemente non protetto dopo l'accensione. L'opzione 'auto' fornisce protezione immediata all'avvio ma può incontrare problemi di compatibilità con alcune configurazioni di sistema. Se scegli 'auto', verifica che il servizio si avvii correttamente dopo il riavvio.
Note aggiuntive per Windows
- Windows Server 2012 non è più supportato da ottobre 2023. Aggiorna a un sistema operativo diverso effettivamente supportato da Microsoft.
- Assicurati che il server e i client siano aggiornati con le patch prima di apportare la modifica sopra: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018. Devi modificare manualmente i criteri di gruppo come specificato nel link.

- Su Windows Server con Exchange, è impossibile disabilitare NTLM (negare tutti i client in Security restrict ntlm incoming ntlm traffic) perché altrimenti Outlook sui computer client chiede continuamente agli utenti di inserire nome utente e password. Per ovviare, imposta il livello di autenticazione LAN Manager nelle Opzioni di Sicurezza dei Criteri Locali su "Invia solo risposta NTLMv2. Rifiuta LM e NTLM". C'è un piccolo problema: quando qualcuno tenta di accedere con un nome utente non definito, il log non contiene un indirizzo IP. Non si sa perché Microsoft non riesca a registrare correttamente un indirizzo IP.
- Se si utilizza Exchange, disabilitare il pool di applicazioni 'MSExchangeServicesAppPool' può eliminare parecchi problemi nel visualizzatore eventi con indirizzi IP non registrati.
- Disinstallatore: https://github.com/DigitalRuby/IPBan/blob/master/IPBanCore/Windows/Scripts/uninstall.cmd
Linux
Installazione facile con un clic:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)
Disinstallazione: sudo systemctl stop ipban; sudo systemctl disable ipban; sudo rm /opt/ipban -r
Iscriviti alla mailing list di IPBan
Aggiornamento
Ottieni uno sconto su IPBan Pro visitando https://ipban.com/upgrade-to-ipban-pro/.
Altri servizi
Integra IPBan con IPThreat, un sito web e servizio completamente gratuito. A differenza di altri siti e servizi che utilizzano dati forniti dalla comunità, IPThreat non addebita canoni di abbonamento.
Analisi
Per disabilitare l'invio anonimo degli indirizzi IP bloccati al database globale di ipban, imposta UseDefaultBannedIPAddressHandler su false nel file di configurazione.
Donazioni
Se IPBan gratuito ti è stato utile e ti senti incline, considera di fare una donazione...

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