IPS o el sistema de prevención de intrusiones es una tecnología utilizada en la seguridad de la red para examinar el tráfico de la red y evitar diferentes ataques al detectar entradas maliciosas. Además de simplemente detectar entradas maliciosas como lo hace el sistema de detección de intrusos, también evita que la red sea ataques maliciosos. Puede evitar que la red sea de fuerza bruta, DOS (denegación de servicio), DDoS (denegación de servicio distribuida), exploits, gusanos, virus y otros ataques comunes. Los IP se colocan justo detrás del firewall, y pueden enviar alarmas, soltar paquetes maliciosos y bloquear las direcciones IP ofensivas. En este tutorial, utilizaremos 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 ofensas que intentan demasiadas contraseñas fallidas o buscan exploits. Básicamente, Fail2ban actualiza las reglas de firewall para bloquear diferentes IP en el servidor. Fail2ban también proporciona filtros utilizando los cuales podemos usar para un servicio específico (e.gramo., Apache, SSH, etc.).
Instalación de Fail2Ban
Fail2ban no viene preinstalado en Ubuntu, por lo que antes de usarlo, tenemos que instalarlo.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install fail2ban
Después de instalar Fail2Ban, inicie y habilite el servicio Fail2Ban utilizando la línea de comandos.
ubuntu@ubuntu: ~ $ sudo systemctl inicio fail2ban
ubuntu@ubuntu: ~ $ sudo systemctl habilitar fail2ban
Ahora verifique el estado del servicio Fail2Ban para confirmar si comenzó o no.
ubuntu@ubuntu: ~ $ sudo systemctl status fail2ban
Configuración de Fail2Ban para SSH
Podemos configurar Fail2ban modificando/etc/fail2ban/cárcel.archivo conf. Antes de modificarlo, tome una copia de seguridad de este archivo.
ubuntu@ubuntu: ~ $ sudo cp/etc/fail2ban/cárcel.conf/etc/fail2ban/cárcel.local
Ahora configuraremos Fail2Ban para evitar que el servicio SSHD sea entradas maliciosas. Abierto/etc/fail2ban/cárcel.Archivo local en su editor favorito.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/cárcel.local
Ve a la [por defecto] Sección e ingrese los parámetros de configuración en [por defecto] sección.
[POR DEFECTO]
ignorar = 127.0.0.1/8 de 192.168.18.10/32
Bantime = 300
maxretry = 2
FindTime = 600
ignorar es la lista de máscara CIDR, dirección IP o host DNS separado por un personaje espacial. Agregue sus IP de confianza a esta lista, y estas IP serán blancas y no serán bloqueadas por Fail2ban incluso si realizan un ataque de fuerza bruta en el servidor.
bantime es el momento en que se bloqueará una IP después de hacer una cantidad específica de intentos fallidos para el servidor.
maxretería es el número de intentos máximos fallidos después de los cuales una IP está bloqueada por Fail2ban por un tiempo específico de tiempo.
FindTime es la cantidad de tiempo durante el cual un anfitrión hace maxretería intentos fallidos, se bloqueará.
Después de configurar los parámetros anteriores, ahora configuraremos el servicio en el que se aplicarán las reglas anteriores. Por defecto, Fail2Ban ha definido filtros predefinidos para diferentes servicios, por lo que no necesitamos ingresar ninguna entrada específica para los servicios. Solo habilitamos o deshabilitamos diferentes servicios en el archivo de configuración. Abierto/etc/fail2ban/cárcel.Archivo local en su editor favorito.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/cárcel.local
Encuentra el [SSHD] sección en el archivo e ingrese los siguientes parámetros en la sección.
[SSHD]
habilitar = verdadero
puerto = ssh
Filtro = SSHD
logPath =/var/log/auth.registro
Maxretry = 3
activado Define si este servicio está siendo protegido por Fail2ban o no. Si habilitado es verdadero, entonces el servicio está siendo protegido; de lo contrario, no está siendo protegido.
puerto Define el puerto de servicio.
filtrar se refiere al archivo de configuración fail2ban usará. Por defecto, usará/etc/fail2ban/filtro.d/sshd.archivo conf para el servicio SSH.
periódico Define la ruta hacia 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.Registro, por lo que Fail2Ban monitoreará este archivo de registro y actualizará el firewall detectando intentos de inicio de sesión fallidos.
maxretería Define el número de intentos de inicio de sesión fallidos antes de ser bloqueado por el fail2ban.
Después de aplicar la configuración anterior para Fail2Ban, reinicie el servicio para guardar cambios.
ubuntu@ubuntu: ~ $ sudo systemctl reiniciar fail2ban.servicio
ubuntu@ubuntu: ~ $ sudo systemctl status fail2ban.servicio
Prueba de fail2ban
Hemos configurado Fail2Ban para proteger nuestro sistema contra los ataques de la fuerza bruta en el servicio SSH. Ahora haremos intentos de inicio de sesión fallidos en nuestro sistema desde otro sistema para verificar si Fail2ban está funcionando o no. Después de hacer algunos intentos de inicio de sesión fallidos ahora, verificaremos los registros de Fail2Ban.
ubuntu@ubuntu: ~ $ cat/var/log/fail2ban.registro
Podemos ver que después de los intentos de inicio de sesión fallidos, la IP ha sido bloqueada por Fail2ban.
Podemos obtener una lista de todos los servicios para los cuales Fail2ban está habilitado para usar el siguiente comando.
ubuntu@ubuntu: ~ $ 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.
ubuntu@ubuntu: ~ $ sudo fail2ban-client sshd
Fail2ban desbloquear automáticamente la dirección IP prohibida después de Bantime, pero podemos desahogar cualquier IP en cualquier momento utilizando la línea de comandos. Esto dará más control sobre fail2ban. Use el siguiente comando para desgastar la dirección IP.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd noanip 192.168.43.35
Si intenta desgastar una dirección IP que no está bloqueada por Fail2Ban, solo le dirá que la IP no está bloqueada.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd noanip 192.168.43.35
Conclusión
Para un administrador del sistema o un ingeniero de seguridad, es un gran desafío mantener la seguridad de los servidores. Si su servidor está siendo protegido por la contraseña, no por un par de claves públicas y privadas, 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 restringir a los atacantes de lanzar 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.