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“.

Captura_de_pantalla_2021-03-02_a_las_15.20.42.png

Haremos clic en “Windows Defender Firewall“.

Captura_de_pantalla_2021-03-02_a_las_15.21.03.png

En el menú de la izquierda hacemos clic en “Turn Windows Defender Firewall on or off“.

Captura_de_pantalla_2021-03-02_a_las_15.21.26.png

Habilitamos “Private network settings” y “Public network setting” y haremos clic en “OK“.

Captura_de_pantalla_2021-03-02_a_las_15.21.37.png

El resultado debe quedar así.

Captura_de_pantalla_2021-03-02_a_las_15.21.50.png

Pasos para instalar IPBAN

Para instalar IPBAN abriremos una terminal de PowerShell con permisos de Administrador de la siguiente forma:

Captura_de_pantalla_2021-03-02_a_las_14.56.31.png

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.

Captura_de_pantalla_2021-03-02_a_las_14.58.32.png

 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.

Captura_de_pantalla_2021-03-02_a_las_15.13.25.png
Captura_de_pantalla_2021-03-02_a_las_15.13.33.png

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:

Captura_de_pantalla_2021-03-02_a_las_15.29.59.png

Si abrimos las propiedades de una de las reglas creadas podremos ver que ha sido IPBAN quién las ha creado:

Captura_de_pantalla_2021-03-02_a_las_15.31.55.png

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.

Captura_de_pantalla_2021-03-02_a_las_15.57.23.png

 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.