Seguridad

Cómo configurar un IPS (Fail2ban) para protegerse de diferentes ataques

Cómo configurar un IPS (Fail2ban) para protegerse de diferentes ataques

IPS o Intrusion Prevention System es una tecnología utilizada en la seguridad de la red para examinar el tráfico de la red y prevenir diferentes ataques mediante la detección de entradas maliciosas. Además de solo detectar entradas maliciosas como lo hace el Sistema de detección de intrusiones, también previene la red de ataques maliciosos. Puede evitar que la red sea fuerza bruta, DoS (Denegación de servicio), DDoS (Denegación de servicio distribuida), Exploits, gusanos, virus y otros ataques comunes. Los IPS se colocan justo detrás del firewall y pueden enviar alarmas, eliminar paquetes maliciosos y bloquear direcciones IP ofensivas. En este tutorial, usaremos Fail2ban, que es un paquete de software de prevención de intrusiones, para agregar una capa de seguridad contra diferentes ataques de fuerza bruta.

Cómo funciona Fail2ban

Fail2ban lee los archivos de registro (e.gramo. / var / log / apache / error_log) y obtiene las IP ofensivas que están intentando demasiadas contraseñas fallidas o buscando exploits. Básicamente, Fail2ban actualiza las reglas del firewall para bloquear diferentes IP en el servidor. Fail2ban también proporciona filtros con los que podemos utilizar para un servicio específico (p.gramo., apache, ssh, etc.).

Instalación de Fail2ban

Fail2ban no viene preinstalado en Ubuntu, así que antes de usarlo tenemos que instalarlo.

[correo electrónico protegido]: ~ $ sudo apt-get update -y
[correo electrónico protegido]: ~ $ sudo apt-get install fail2ban

Después de instalar Fail2ban, inicie y habilite el servicio Fail2ban usando la línea de comando.

[correo electrónico protegido]: ~ $ sudo systemctl start fail2ban
[correo electrónico protegido]: ~ $ sudo systemctl enable fail2ban


Ahora verifique el estado del servicio fail2ban para confirmar si se inició o no.

[correo electrónico protegido]: ~ $ sudo systemctl status fail2ban

Configuración de Fail2ban para SSH

Podemos configurar Fail2ban modificando / etc / fail2ban / jail.conf archivo. Antes de modificarlo, haga una copia de seguridad de este archivo.

[correo electrónico protegido]: ~ $ sudo cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Ahora configuraremos Fail2ban para evitar que el servicio sshd reciba entradas maliciosas. Abra / etc / fail2ban / jail.archivo local en su editor favorito.

[correo electrónico protegido]: ~ $ sudo nano / etc / fail2ban / jail.local

Ve a la [defecto] e introduzca los parámetros de configuración en [defecto] sección.

[DEFECTO]
ignoreip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
maxretry = 2
tiempo de búsqueda = 600

ignorar es la lista de máscara cidr, dirección IP o host DNS separados por un carácter de espacio. Agregue sus IP de confianza a esta lista, y estas IP se incluirán en la lista blanca y fail2ban no las bloqueará, incluso si realizan un ataque de fuerza bruta en el servidor.

bantime es el momento en que se bloqueará una IP después de realizar una cantidad específica de intentos fallidos en el servidor.

maxretry es el número máximo de intentos fallidos después de los cuales fail2ban bloquea una IP durante un período de tiempo específico.

encontrar tiempo es la cantidad de tiempo durante el cual si un anfitrión hace maxretry intentos fallidos, será bloqueado.

Después de configurar los parámetros anteriores, ahora configuraremos el servicio en el que se aplicarán las reglas anteriores. De forma predeterminada, Fail2ban tiene filtros predefinidos para diferentes servicios, por lo que no es necesario que ingrese ninguna entrada específica para los servicios. Solo habilitamos o deshabilitamos diferentes servicios en el archivo de configuración. Abra / etc / fail2ban / jail.archivo local en su editor favorito.

[correo electrónico protegido]: ~ $ sudo nano / etc / fail2ban / jail.local

Encuentra el [sshd] en el archivo e ingrese los siguientes parámetros en la sección.

[sshd]
habilitar = verdadero
puerto = ssh
filter = sshd
logpath = / var / log / auth.Iniciar sesión
maxretry = 3

activado define si este servicio está protegido por fail2ban o no. Si habilitado es verdadero, entonces el servicio está protegido; de lo contrario, no está protegido.

Puerto define el puerto de servicio.

filtrar hace referencia al archivo de configuración que utilizará fail2ban. Por defecto usará / etc / fail2ban / filter.d / sshd.conf archivo para el servicio ssh.

logpath define la ruta a los registros, fail2ban monitoreará para proteger el servicio de diferentes ataques. Para el servicio ssh, los registros de autenticación se pueden encontrar en / var / log / auth.log, por lo que fail2ban monitoreará este archivo de registro y actualizará el firewall detectando intentos fallidos de inicio de sesión.

maxretry define el número de intentos fallidos de inicio de sesión antes de ser bloqueados por fail2ban.

Después de aplicar la configuración anterior para fail2ban, reinicie el servicio para guardar los cambios.

[correo electrónico protegido]: ~ $ sudo systemctl restart fail2ban.Servicio
[correo electrónico protegido]: ~ $ sudo systemctl status fail2ban.Servicio

Prueba de Fail2ban

Hemos configurado fail2ban para proteger nuestro sistema contra ataques de fuerza bruta en el servicio ssh. Ahora haremos intentos fallidos de inicio de sesión en nuestro sistema desde otro sistema para verificar si fail2ban está funcionando o no. Después de hacer algunos intentos fallidos de inicio de sesión ahora, verificaremos los registros de fail2ban.

[correo electrónico protegido]: ~ $ cat / var / log / fail2ban.Iniciar sesión

Podemos ver que después de intentos fallidos de inicio de sesión, la IP ha sido bloqueada por fail2ban.

Podemos obtener una lista de todos los servicios para los cuales fail2ban está habilitado usando el siguiente comando.

[correo electrónico protegido]: ~ $ sudo fail2ban-client status


La figura anterior muestra que hemos habilitado fail2ban solo para el servicio sshd. Podemos obtener más información sobre el servicio sshd especificando el nombre del servicio en el comando anterior.

[correo electrónico protegido]: ~ $ sudo fail2ban-client status sshd

Fail2ban desbloquea automáticamente la dirección IP prohibida después de bantime, pero podemos desbloquear cualquier IP en cualquier momento usando la línea de comando. Esto le dará más control sobre fail2ban. Utilice el siguiente comando para desbloquear la dirección IP.

[correo electrónico protegido]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Si intenta desbloquear una dirección IP que no está bloqueada por fail2ban, solo le dirá que la IP no está bloqueada.

[correo electrónico protegido]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Conclusión

Para un administrador de sistemas o un ingeniero de seguridad, es un gran desafío mantener la seguridad de los servidores. Si su servidor está protegido por contraseña, no por un par de claves pública y privada, entonces su servidor es más vulnerable a los atacantes de fuerza bruta. Pueden ingresar a su sistema aplicando diferentes combinaciones de contraseñas. Fail2ban es una herramienta que puede impedir que los atacantes lancen diferentes tipos de ataques, incluidos los ataques de fuerza bruta y los ataques DDoS en su servidor. En este tutorial, discutimos cómo podríamos usar Fail2ban para proteger nuestro servidor de diferentes ataques. También podemos usar Fail2ban para proteger otros servicios como apache, nginx, etc.

Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...
Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...