Uno de los problemas más frecuentes al tener un servidor Windows en la nube es el de recibir ataques al puerto RDP, que acaban impidiendo el acceso al servidor o si consiguen acceso al mismo pueden llegar a hacernos perder todos los datos. En este artículo, os vamos a enseñar a cómo instalar IPBAN el cuál mediante los logs del sistema detecta los intentos de inicio de sesión erróneos y bloquea las IP para que no puedan seguir intentando acceder al sistema.
Requisitos para instalar IPBAN
- .NET 5 SDK
- Windows 8.1 o superior (x86, x64), Windows Server 2012 o superior (x86, x64). También, es compatible con Ubuntu, Debian, CentOS, RedHat x64.
- Powershell 5.1 o superior.
- Firewall de Windows activado
Activar el Firewall de Windows
Abriremos el panel de control en "Inicio > Control Panel".
Haremos clic en "Windows Defender Firewall".
En el menú de la izquierda hacemos clic en "Turn Windows Defender Firewall on or off".
Habilitamos "Private network settings" y "Public network setting" y haremos clic en "OK".
El resultado debe quedar así.
Pasos para instalar IPBAN
Para instalar IPBAN abriremos una terminal de PowerShell con permisos de Administrador de la siguiente forma:
Una vez tenemos abierto PowerShell ejecutamos el siguiente comando para descargar IPBAN e instalarlo directamente:
[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'))
Cuando se complete el proceso deberemos ver algo parecido a la siguiente imagen y se abrirá también el fichero de configuración.
Descarga .NET
Si fallase la instalación por no tener .net instalado lo podéis descargar en este enlace.
Comprobar que IPBAN se ha instalado correctamente
Abriremos los servicios de Windows y comprobamos que se ha creado un servicio llamado IPBAN y esté en ejecución.
Ahora nos desplazamos por el explorador de archivos a la ruta "C:\Program Files\IPBan" y comprobamos que el fichero "logfile.txt" empieza a haber un registro de las acciones que va tomando IPBAN.
2021-03-02 14:57:17.3686|WARN|DigitalRuby.IPBanCore.Logger|Initializing service
2021-03-02 14:57:17.4171|WARN|DigitalRuby.IPBanCore.Logger|Detecting os version...
2021-03-02 14:57:17.5149|WARN|DigitalRuby.IPBanCore.Logger|OS version detected: Name: Windows, Version: 10.0.17763, Friendly Name: Microsoft Windows Server 2019 Datacenter, Description: Microsoft Windows 10.0.17763
2021-03-02 14:57:17.5481|WARN|DigitalRuby.IPBanCore.Logger|Running as a Windows service
2021-03-02 14:57:17.6531|WARN|DigitalRuby.IPBanCore.Logger|Preparing to run service
2021-03-02 14:57:17.6955|WARN|DigitalRuby.IPBanCore.Logger|Starting service
2021-03-02 14:57:17.6955|WARN|DigitalRuby.IPBanCore.Logger|Running service
2021-03-02 14:57:18.1923|WARN|DigitalRuby.IPBanCore.Logger|IPBan is free software created and refined over many years.
2021-03-02 14:57:18.1923|WARN|DigitalRuby.IPBanCore.Logger|Please consider upgrading to the pro version for more advanced functions, shared ban lists and much more.
2021-03-02 14:57:18.1923|WARN|DigitalRuby.IPBanCore.Logger|Learn more at https://ipban.com
2021-03-02 14:57:18.1923|INFO|DigitalRuby.IPBanCore.Logger|Initializing IPBan database at Data Source=C:\Program Files\IPBan\ipban.sqlite
2021-03-02 14:57:18.6904|WARN|DigitalRuby.IPBanCore.Logger|IPBan service started and initialized
2021-03-02 14:57:18.6904|WARN|DigitalRuby.IPBanCore.Logger|Log levels: True,True,True,True,False,False
2021-03-02 14:57:20.2096|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files/Microsoft/Exchange Server/*/TransportRoles/Logs/FrontEnd/ProtocolLog/**.log
2021-03-02 14:57:20.2096|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files/Smarter Tools/Smarter Mail/**/*.log
2021-03-02 14:57:20.2096|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files (x86)/Smarter Tools/Smarter Mail/**/*.log
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/SmarterMail/logs/**/*.log
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Smarter Mail/logs/**/*.log
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files (x86)/Mail Enable/Logging/SMTP/SMTP-Activity-*.log
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files/Mail Enable/Logging/SMTP/SMTP-Activity-*.log
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/Program Files/Tomcat/logs/**/*access_log*.txt
2021-03-02 14:57:20.2167|INFO|DigitalRuby.IPBanCore.Logger|Adding log file to parse: C:/IPBanCustomLogs/**/*.log
Finalmente, comprobamos en el Firewall de Windows si empieza a crear reglas de bloqueo. Este paso puede tardar un tiempo hasta que bloquea la primera IP. Para ello iremos a Inicio > Control Panel > Windows Defender Firewall > Advanced Setting. Deberemos ver reglas de este estilo:
Si abrimos las propiedades de una de las reglas creadas podremos ver que ha sido IPBAN quién las ha creado:
Configuración inicial
Editaremos el fichero "C:\Program Files\IPBan\ipban.config con notepad" y editaremos las siguientes variables:
<add key="FailedLoginAttemptsBeforeBan" value="3"/>
<add key="BanTime" value="02:00:00:00"/>
<add key="Whitelist" value="IPs_DE_Confianza"/>
Si tenemos por ejemplo una IP fija en nuestra conexión a Internet podemos sustituir "IPs_DE_Confianza" por la IP de nuestra conexión, si no disponemos de ella lo dejamos en blanco como viene por defecto.
Además, crearemos un fichero en "C:\Program Files\IPBan\" con nombre "unban.txt" para que en caso de que bloquee una IP que no lo debe estar podamos añadir esa IP al fichero y quitar el ban. El fichero debe contener una IP por linea.
Configuraciones adicionales
Podéis encontrar más información de configuraciones o cómo añadir nuevas expresiones a filtrar en este enlace
Con estos pasos tenemos configurado IPBAN que nos dará un extra de seguridad en nuestro servidor.