IPBan – Kostenlose Software, um Angreifer schnell und einfach auf Linux und Windows zu blockieren

Nützliche Links
Voraussetzungen
- Die kostenlose Version von IPBan benötigt das .NET 9 SDK, um Code zu erstellen und zu debuggen. Als IDE empfehle ich Visual Studio Community für Windows oder VS Code für Linux. Alle sind kostenlos. Sie können eine eigenständige ausführbare Datei erstellen, um die Notwendigkeit von dotnet core auf dem Server zu vermeiden, oder einfach die vorkompilierten Binärdateien in den Releases herunterladen.
- Zum Ausführen und/oder Debuggen des Codes müssen Sie Ihre IDE oder Ihr Terminal als Administrator oder root ausführen.
- Offiziell unterstützte Plattformen:
- Windows 10 oder neuer (x86, x64)
- Windows Server 2016 oder neuer (x86, x64)
- Windows Server 2025 oder neuer erfordert IPBan 2.0.1 oder neuer.
- Linux Ubuntu x64, arm, arm64 (erfordert firewalld, nftables oder iptables)
- Linux Debian x64, arm, arm64 (erfordert firewalld, nftables oder iptables)
- Linux CentOS x64, arm, arm64 (erfordert firewalld, nftables oder iptables)
- Linux RedHat x64, arm, arm64 (erfordert firewalld, nftables oder iptables)
- Mac OS X wird derzeit nicht unterstützt
Funktionen
- Automatisches Blockieren von IP-Adressen durch Erkennung fehlgeschlagener Anmeldungen aus der Ereignisanzeige und/oder Logdateien. Unter Linux wird standardmäßig SSH überwacht. Unter Windows werden RDP, OpenSSH, VNC, MySQL, SQL Server, Exchange, SmarterMail, MailEnable überwacht. Weitere Anwendungen können einfach über die Konfigurationsdatei hinzugefügt werden.
- Zusätzliche Rezepte für Ereignisanzeige und Logdateien finden Sie hier: https://github.com/DigitalRuby/IPBan/tree/master/Recipes
- Hoch konfigurierbar, viele Optionen zur Festlegung des Schwellenwerts für fehlgeschlagene Anmeldungen, der Sperrdauer usw.
- Schauen Sie sich unbedingt die Datei ipban.config (früher DigitalRuby.IPBan.dll.config, siehe IPBanCore-Projekt) für Konfigurationsoptionen an; jede Option ist mit Kommentaren dokumentiert.
- Die Sperrung erfolgt bei der Ereignisanzeige praktisch sofort. Für Logdateien können Sie einstellen, wie oft nach Änderungen gesucht wird.
- Sehr schnell – ich habe diesen Code seit 2012 optimiert und abgestimmt. Der Engpass ist fast immer die Firewall-Implementierung, nicht dieser Code.
- Entsperren Sie IP-Adressen ganz einfach, indem Sie eine Datei unban.txt in den Dienstordner legen, mit jeder zu entsperrenden IP-Adresse in einer Zeile.
- Funktioniert mit IPv4 und IPv6 auf allen Plattformen.
- Besuchen Sie bitte das Wiki unter https://github.com/DigitalRuby/IPBan/wiki für viel mehr Dokumentation.
Download
Installation
Bitte beachten Sie, dass Sie für IPBan Pro Installationsanweisungen unter https://ipban.com/ipban-pro-install-instructions/ finden. Diese Installationsanweisungen hier auf GitHub gelten für die kostenlose IPBan-Version.
Windows
- IPBan wird auf Windows Server 2016 und Windows 10 oder neuer unterstützt.
- Fail2Ban, aber für Windows!
- Einfache Ein-Klick-Installation, Admin-Powershell öffnen und ausführen:
$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'))
Hinweis: PowerShell 5.1 oder höher ist erforderlich.
Erweiterte Installationsoptionen
Das Installationsskript unterstützt zusätzliche Parameter zur Anpassung. Aufgrund der in kürzlichen Updates eingeführten PowerShell-Parametervalidierung müssen Sie den Parameter startupType explizit angeben, wenn Sie den Einzeiler-Installationsbefehl verwenden.
Installation mit benutzerdefiniertem Starttyp:
$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'"
Ersetzen Sie 'delayed-auto' durch 'auto', wenn der Dienst sofort beim Start ausgeführt werden soll (bietet sofortigen Schutz, kann aber Kompatibilitätsprobleme verursachen).
Verfügbare Parameter:
-startupType: Starttyp des Dienstes - 'delayed-auto' (Standard, sicherer) oder 'auto' (sofortiger Schutz beim Start)
-silent: $True für nicht-interaktive Installation, $False (Standard) für interaktiven Modus
-autostart: $True (Standard) zum sofortigen Starten des Dienstes nach der Installation, $False zum Gestoppt lassen
-uninstall: 'uninstall' oder 'u' zur Deinstallation von IPBan
Beispiel mit mehreren Parametern:
$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"
Hinweis: Der Starttyp 'delayed-auto' wartet, dass Dienste mit höherer Priorität zuerst starten, wodurch das System nach dem Booten kurzzeitig ungeschützt bleibt. Die Option 'auto' bietet sofortigen Schutz beim Booten, kann jedoch bei einigen Systemkonfigurationen Kompatibilitätsprobleme verursachen. Wenn Sie 'auto' wählen, überprüfen Sie, ob der Dienst nach einem Neustart korrekt startet.
Zusätzliche Windows-Hinweise
- Windows Server 2012 wird seit Oktober 2023 nicht mehr unterstützt. Bitte aktualisieren Sie auf ein anderes Betriebssystem, das tatsächlich von Microsoft unterstützt wird.
- Bitte stellen Sie sicher, dass Ihr Server und Ihre Clients vor der oben genannten Änderung gepatcht sind: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018. Sie müssen die Gruppenrichtlinie wie im Link angegeben manuell bearbeiten.

- Auf Windows Server mit Exchange ist es unmöglich, NTLM zu deaktivieren (alle Clients in Sicherheitseinschränkungen für eingehenden NTLM-Verkehr ablehnen), da Outlook auf den Client-Computern dann dauerhaft nach Benutzername und Passwort fragt. Um dies zu umgehen, setzen Sie die LAN Manager-Authentifizierungsstufe in den Sicherheitsoptionen der lokalen Richtlinien auf "Nur NTLMv2-Antwort senden. LM und NTLM verweigern". Es gibt ein kleines Problem – wenn jemand versucht, sich mit einem undefinierten Benutzernamen anzumelden, enthält das Protokoll keine IP-Adresse. Ich bin mir nicht sicher, warum Microsoft eine IP-Adresse nicht ordnungsgemäß protokollieren kann.
- Wenn Sie Exchange verwenden, kann das Deaktivieren des Anwendungspools 'MSExchangeServicesAppPool' eine ganze Reihe von Problemen in der Ereignisanzeige beseitigen, bei denen IP-Adressen nicht protokolliert werden.
- Deinstallationsprogramm: https://github.com/DigitalRuby/IPBan/blob/master/IPBanCore/Windows/Scripts/uninstall.cmd
Linux
Einfache Ein-Klick-Installation:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)
Deinstallation: sudo systemctl stop ipban; sudo systemctl disable ipban; sudo rm /opt/ipban -r
Für die IPBan-Mailingliste anmelden
Upgrade
Erhalten Sie einen Rabatt auf IPBan Pro unter https://ipban.com/upgrade-to-ipban-pro/.
Andere Dienste
IPBan mit IPThreat integrieren, eine 100% kostenlose Website und Dienstleistung. Im Gegensatz zu einigen anderen Websites und Diensten, die von der Community bereitgestellte Daten verwenden, erhebt IPThreat keine Abonnementgebühren.
Analytik
Um das anonyme Senden gesperrter IP-Adressen an die globale IPBan-Datenbank zu deaktivieren, setzen Sie UseDefaultBannedIPAddressHandler in der Konfigurationsdatei auf false.
Spenden
Wenn die kostenlose IPBan Ihnen geholfen hat und Sie dazu geneigt sind, erwägen Sie bitte eine Spende...

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