Página 1 de 1

Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 09 Jul 2016, 20:52
por Kike
Muy buenas! en este tutorial vamos a instalar Fail2Ban , para poner mas seguridad a nuestra Pi.

Imagen

¿Que es Fail2Ban?
Fail2ban es una herramienta que monitoriza los intentos de login de varios servicios, tales como SSH, FTP, SMTP, HTTP, entre otros; y si encuentra intentos de login fallidos una y otra vez desde una misma IP, Fail2Ban rechazará estos intentos de login bloqueando con reglas de iptables a esas IPs que estaban intentando acceder.
Nos puede ser muy util usarlo en nuestro servidor , asi evitando ataques a la fuerza bruta.

Instalando Fail2Ban:

Primero actualizaremos como de costumbre los repositorios , entrando en el terminal SSH de nuestra Pi, pondremos el siguiente comando:

Código: Seleccionar todo

sudo apt-get update
fail1.png
fail1.png (3.82 KiB)
Una vez actualizados, instalaremos Fail2Ban con el comando:

Código: Seleccionar todo

sudo apt-get install fail2ban
fail2.png
fail2.png (4.92 KiB)
Una vez finalizado , instalaremos IpTables, para que haga la función de "Bloquear" la IP junto Fail2Ban, pondremos el comando:

Código: Seleccionar todo

sudo apt-get install iptables
fail3.png
fail3.png (4.06 KiB)
Configurando Fail2Ban:

Ahora vamos a proceder a modificar la configuración de Fail2Ban, el programa YA VIENE CONFIGURADO para la mayoria de servicios, asi que no será muy complicado.
Simplemente debemos cambiar los tiempos de baneo, los intentos fallidos ...etc

Ahora copiaremos el archvo de configuracion por defecto de Fail2Ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf , ponemos el siguiente comando en el terminal SSH:

Código: Seleccionar todo

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Y ahora abriremos el archivo copiado con el comando:

Código: Seleccionar todo

nano /etc/fail2ban/jail.local
Buscaremos los parámetros que realmente nos interesan, voy a explicarlos:

Aqui pondremos las direcciónes IP , que NUNCA queremos bloquear, por ejemplo la de nuestra Red Local o Empresa:
Por ejemplo la de mi PC conectado a la misma Red, que usa la IP 192.168.1.20
ignoreip = 127.0.0.1 192.168.1.20
Este parámetro indica el tiempo que queremos bloquear la IP que ha intentado acceder ( en SEGUNDOS , por defecto 600 )
bantime = 600
Intentos máximos que tendra el "atacante" antes de ser bloqueado, ( por defecto 5 )
Esto lo modificais a vuestro gusto :)
maxretry = 5
En un principio, con eso bastaria para proteger algunos servicios (Por ejemplo SSH), si por ejemplo, queremos proteger nuestro servidor FTP funcionando por PROFTPD,
Buscaremos las lineas que se encuentran mas abajo de:
#
# JAILS
#
Que en nuestro caso seria utilizando PROFTPD:

[proftpd]

port = ftp,ftp-data,ftps,ftps-data
logpath = %(proftpd_log)s
Para activar la función, tendriamos que añadir estas lineas:
port = ftp,ftp-data,ftps,ftps-data
logpath = /var/log/proftpd/proftpd.log
maxretry = 8
enabled = true
filter = proftpd
logpath = Ruta donde tenemos el "Log" por defecto de Proftpd .
maxretry = Máximos fallos / intentos antes de bloquear
enabled = activamos este servicio en exclusivo
filter = Filtramos por nombre del servicio, en este caso proftpd

Una vez ya tengamos todos los servicios que queremos bloquear configurados a nuestro gusto, podemos guardar cambios
del archivo pulsando estas teclas, en este caso (putty ssh)

Control + X
tecleamos Y
ENTER


Simplemente debemos iniciar el servicio Fail2Ban para empezar a bloquear "atacantes" con el comando :geek:

Código: Seleccionar todo

sudo service fail2ban restart
Espero que os haya servido! y si os ha gustado dar un Like o comentad :mrgreen: :mrgreen:
Un saludo!.

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 28 Sep 2016, 20:17
por amobra
Gracias Kike , con proftpd va bien , pero ¿y si queiro añadir este servicio a niginx y transmisson? , ¿cuales serian las lineas a configurar?, ¿donde se guardan los logs de esos servicios?.

Gracias crack.

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 03 Oct 2016, 15:45
por Kike
amobra escribió:Gracias Kike , con proftpd va bien , pero ¿y si queiro añadir este servicio a niginx y transmisson? , ¿cuales serian las lineas a configurar?, ¿donde se guardan los logs de esos servicios?.

Gracias crack.
Hola @amobra perdona por la tardanza, para proteger los logs de acceso Nginx ( con usuario y contraseña ) debes añadir lo siguiente marcado en rojo en la ruta de configuración con el comando:

Código: Seleccionar todo

sudo nano /etc/fail2ban/jail.local
[nginx-http-auth]
port = http,https
logpath = %(nginx_error_log)s
enabled = true
action = iptables-multiport[name=NoAuthFailures, port="http,https"]

Y para protegerse de ataques DDOS la mejor configuración que te permite limitar las peticiones por segundo ( te saldría error 503 ), dejando de lado el Fail2BAN, es la siguiente:

Código: Seleccionar todo

sudo nano /etc/nginx/nginx.conf
Dentro del parámetro http { añade lo siguiente:
limit_req_zone $binary_remote_addr zone=app:10m rate=2r/s;
El número marcado en azul serán las peticiones por segundo que queremos establecer.
Guardas los cambios con CONTROL + X , pulsas "Y" seguido de "Enter"

Y por último vas al parámetro de configuración NGINX por defecto de tu web, por defecto:

Código: Seleccionar todo

sudo nano /etc/nginx/sites-enabled/default
Y después de la linea location ~ \.php$ { añadimos esto:
limit_req zone=one burst=5;
Guardas los cambios con CONTROL + X , pulsas "Y" seguido de "Enter" y seguidamente reinicias nginx con:

Código: Seleccionar todo

sudo nginx -s reload
Para proteger Transmission tendré que informarme un poco la verdad, ya que no tengo ni idea 8-)
Si se algo más ya te escribo!! :victoria

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 04 Oct 2016, 16:12
por amobra
Gracias Kike, lo probaré.
Un saludo.

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 12 Feb 2017, 19:08
por Gubenote
Pregunta de ignorante :

Para poder copiar y luego editar el archivo jail.local me ha sido necesario poner sudo en los comandos. ¿es así? ¿o lo he hecho mal?

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 12 Feb 2017, 19:16
por Kike
Gubenote escribió:Pregunta de ignorante :

Para poder copiar y luego editar el archivo jail.local me ha sido necesario poner sudo en los comandos. ¿es así? ¿o lo he hecho mal?
Exacto así es, por ejemplo en Raspbian es necesario si has entrado con el usuario por defecto "Pi" :D

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 03 Mar 2017, 19:30
por koldomikel
Hola! yo utilizo el apache para mi servidor web, cual seria la config. idonea para tenerlo protegido? he activado todos los q ponia apache pero no se si esta bien echo.
un saludo y gracias.

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 04 Mar 2017, 20:46
por Kike
koldomikel escribió:Hola! yo utilizo el apache para mi servidor web, cual seria la config. idonea para tenerlo protegido? he activado todos los q ponia apache pero no se si esta bien echo.
un saludo y gracias.
Buenas tardes, la configuración para Apache sería asi:
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 5
Es muy importante definir la ruta del Log en Apache marcado en rojo , ya que si no está correctamente podría no funcionar.
Para cualquier duda que tengas aqui estamos, un saludo!

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 05 Mar 2017, 16:02
por koldomikel
Hola! Debajo de esas lineas de Apache hay mas lineas configurables de Apache, tambien hay q ponerlas en true??
Muchas gracias por las respuestas y la ayuda.

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 24 Abr 2017, 23:56
por xxmonti
Para activar los avisos por email, hay que activar la accion "%(action_mw)s" y en "destemail" poner tu correo personal.
Lo he probado y no me envia correos :triste
Tengo armbian en la opi plus 2e y sendmail instalado

Re: Instalación y Configuración FAIL2BAN para prevenir ataques a nuestra Pi

Publicado: 16 May 2017, 17:21
por MLopez
Kike escribió:
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 5
Es muy importante definir la ruta del Log en Apache marcado en rojo , ya que si no está correctamente podría no funcionar.
Para cualquier duda que tengas aqui estamos, un saludo!
en mi caso tengo la nuve de nextcloud junto con mariadb y apache... como puedo ponerlo seguro? he intentado y no me banea... si por ssh y demas pero la nube no me banea la ip cuando falla

saludos y gracias... esta herramienta es fantástica!