IPBan - Software gratuito para bloquear atacantes rápida y fácilmente en Linux y Windows

Enlaces útiles
Requisitos
- La versión gratuita de IPBan requiere el SDK de .NET 9 para compilar y depurar el código. Para un IDE, sugiero Visual Studio Community para Windows, o VS Code para Linux. Todos son gratuitos. Puedes crear un ejecutable autónomo para eliminar la necesidad de dotnet core en el servidor, o simplemente descargar los binarios precompilados en las versiones.
- Ejecutar y/o depurar el código requiere que ejecutes tu IDE o terminal como administrador o root.
- Plataformas oficialmente compatibles:
- Windows 10 o más reciente (x86, x64)
- Windows Server 2016 o más reciente (x86, x64)
- Windows Server 2025 o más reciente requiere IPBan 2.0.1 o más reciente.
- Linux Ubuntu x64, arm, arm64 (requiere firewalld, nftables o iptables)
- Linux Debian x64, arm, arm64 (requiere firewalld, nftables o iptables)
- Linux CentOS x64, arm, arm64 (requiere firewalld, nftables o iptables)
- Linux RedHat x64, arm, arm64 (requiere firewalld, nftables o iptables)
- Mac OS X no compatible en este momento
Características
- Bloqueo automático de direcciones IP al detectar inicios de sesión fallidos desde el visor de eventos y/o archivos de registro. En Linux, SSH se supervisa por defecto. En Windows, se supervisan RDP, OpenSSH, VNC, MySQL, SQL Server, Exchange, SmarterMail, MailEnable. Se pueden agregar fácilmente más aplicaciones mediante el archivo de configuración.
- Recetas adicionales para el visor de eventos y archivos de registro aquí: https://github.com/DigitalRuby/IPBan/tree/master/Recipes
- Altamente configurable, muchas opciones para determinar el umbral de recuento de inicios de sesión fallidos, tiempo de bloqueo, etc.
- Asegúrate de revisar el archivo ipban.config (anteriormente llamado DigitalRuby.IPBan.dll.config, ver proyecto IPBanCore) para las opciones de configuración. Cada opción está documentada con comentarios.
- El bloqueo ocurre básicamente al instante para el visor de eventos. Para archivos de registro, puedes configurar la frecuencia con la que se consultan los cambios.
- Muy rápido: he optimizado y ajustado este código desde 2012. El cuello de botella es casi siempre la implementación del cortafuegos, no este código.
- Desbloquea direcciones IP fácilmente colocando un archivo unban.txt en la carpeta del servicio con cada dirección IP en una línea para desbloquear.
- Funciona con ipv4 e ipv6 en todas las plataformas.
- Visita la wiki en https://github.com/DigitalRuby/IPBan/wiki para mucha más documentación.
Descarga
Instalación
Ten en cuenta que para IPBan Pro, puedes encontrar instrucciones de instalación en https://ipban.com/ipban-pro-install-instructions/. Estas instrucciones de instalación aquí en github son para la versión gratuita de IPBan.
Windows
- IPBan es compatible con Windows Server 2016 y Windows 10, o versiones más recientes.
- ¡Fail2Ban pero para Windows!
- Instalación fácil con un solo clic, abre PowerShell como administrador y ejecuta:
$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: Se requiere PowerShell 5.1 o superior.
Opciones de instalación avanzadas
El script de instalación admite parámetros adicionales para personalización. Debido a la validación de parámetros de PowerShell introducida en actualizaciones recientes, debes especificar explícitamente el parámetro startupType al usar el comando de instalación en una sola línea.
Instalación con tipo de inicio 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'"
Reemplaza 'delayed-auto' con 'auto' si deseas que el servicio se inicie inmediatamente al arrancar (proporciona protección inmediata pero puede tener problemas de compatibilidad).
Parámetros disponibles:
-startupType: Tipo de inicio del servicio - 'delayed-auto' (predeterminado, más seguro) o 'auto' (protección inmediata al arranque)
-silent: $True para instalación no interactiva, $False (predeterminado) para modo interactivo
-autostart: $True (predeterminado) para iniciar el servicio inmediatamente después de la instalación, $False para dejarlo detenido
-uninstall: 'uninstall' o 'u' para desinstalar IPBan
Ejemplo con múltiples 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: El tipo de inicio 'delayed-auto' espera a que los servicios de mayor prioridad se inicien primero, dejando el sistema brevemente desprotegido después del arranque. La opción 'auto' proporciona protección inmediata al arranque pero puede encontrar problemas de compatibilidad con algunas configuraciones del sistema. Si eliges 'auto', verifica que el servicio se inicie correctamente después de reiniciar.
Notas adicionales para Windows
- Windows Server 2012 ya no es compatible desde octubre de 2023. Actualiza a un sistema operativo diferente que realmente sea compatible con Microsoft.
- Asegúrate de que tu servidor y clientes estén parcheados antes de realizar el cambio anterior: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018. Debes editar manualmente la directiva de grupo como se especifica en el enlace.

- En Windows Server con Exchange, es imposible deshabilitar NTLM (denegar todos los clientes en Seguridad restringir NTLM tráfico NTLM entrante) ya que entonces Outlook en los equipos cliente pide permanentemente a los usuarios que ingresen nombre de usuario y contraseña. Para solucionarlo, establece el nivel de autenticación de LAN Manager en Opciones de seguridad de Directivas locales en "Enviar solo respuesta NTLMv2. Rechazar LM y NTLM". Hay un pequeño problema: cuando alguien intenta iniciar sesión con un nombre de usuario no definido, el registro no contiene una dirección IP. No estoy seguro de por qué Microsoft no puede registrar una dirección IP correctamente.
- Si usas Exchange, deshabilitar el grupo de aplicaciones 'MSExchangeServicesAppPool' puede eliminar bastantes problemas en el visor de eventos con direcciones IP que no se registran.
- Desinstalador: https://github.com/DigitalRuby/IPBan/blob/master/IPBanCore/Windows/Scripts/uninstall.cmd
Linux
Instalación fácil con un solo clic:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)
Desinstalación: sudo systemctl stop ipban; sudo systemctl disable ipban; sudo rm /opt/ipban -r
Regístrate en la lista de correo de IPBan
Actualización
Obtén un descuento en IPBan Pro visitando https://ipban.com/upgrade-to-ipban-pro/.
Otros servicios
Integra IPBan con IPThreat, un sitio web y servicio 100% gratuito. A diferencia de otros sitios y servicios que utilizan datos aportados por la comunidad, IPThreat no cobra tarifas de suscripción.
Analítica
Para deshabilitar el envío anónimo de direcciones IP bloqueadas a la base de datos global de ipban, establece UseDefaultBannedIPAddressHandler en falso en el archivo de configuración.
Donaciones
Si IPBan gratuito te ha ayudado y te sientes inclinado, considera donar...

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