- Registrado
- 5 Ago 2014
- Mensajes
- 66
- Reacciones
- 13
Esta es de una de las mejores herramientas para los ataques a los puertos ssh hecho por chinos, rusos etc...Vamos a la instalación y configuración en debian:
1-Instalando Fail2ban
La instalación la podemos realizar desde apt directamente. Primero actualizamos el sistema y luego instalamos Fail2ban
apt-get update && apt-get -y upgrade
apt-get install fail2ban
2-Configurando Fail2ban
Ahora procederemos a editar el archivo de configuración de Fail2ban para establecer ciertos parámetros como el tiempo de baneo, los máximos intentos fallidos… La configuración no es muy difícil ya que ya viene configurado para la mayoría de servicios estándar que tienen los servidores Linux (web, ssh …)
Copiamos el archvo de configuracion por defecto de fail2ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abrimos el archivo con el editor.
nano /etc/fail2ban/jail.local
Y modificamos los parametros de SSH (o otros servicios) que deseemos. Los mas comunes son los siguientes.
3-Sección [Default]
ignoreip
Aquí hemos de poner las ips que queremos que fail2ban no banee bajo ningún concepto, por ejemplo las de la empresa o red local donde esta alojado el servidor Linux. Por defecto nos trae la 127.0.0.1 que es la interfaz lo del servidor Linux (para evitar banearse a si mismo). Añadimos la ip o red que queramos.
ignoreip = 127.0.0.1 192.168.1.0/24
bantime
Como el nombre mismo dice, es el tiempo que queremos que banee la ip que ha intentado acceder erroneamente. El tiempo esta en segundos, por lo que si queremos banear 24h esa ip, 24h * 60 * 60 = 86400 segundos.
bantime = 86400
maxretry
Es el numero máximo de intentos que queremos que fail2ban pase por alto, lo normal es dar un poco de margen y poner 5 fallos como máximo, pero esto siempre va a gustos.
maxretry = 5
Sección [ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
logpath = /var/log/auth.log
maxretry = 5
Aquí podemos configurar si esta activo para el servicio SSH, que nos envie un email al banear una ip etc… En mi caso también lo he activado para el servicio proftpd.
Una vez hayamos terminado de configurar el archivo de fail2ban a nuestro gusto, reiniciamos el servicio.
service fail2ban restart
Y comprobamos si el funcionamiento es correcto como solemos hacer con todos los servicios
service fail2ban status
O bien lo podemos comprobar con el cliente
fail2ban-client ping
A lo que el servidor nos responderá “pong”
Ya hemos terminado la instalación de Fail2ban y su configuración para evitar que nos realicen ataques a los servicios que tenemos instalados por el método de fuerza bruta. Ahora recuerda que has de poner una contraseña un poquito difícil para que no pueda sacarlas con los primeros cinco intentos (evita 1234, admin, 0000, …). Una buena opción es usar una contraseña que tenga mayúsculas, minúsculas y algún numero.
Para ubuntu es lo mismo pero poniendo delante el sudo..
sudo apt-get update
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP
-A fail2ban-ssh -j RETURN
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -j DROP
sudo service fail2ban stop
sudo service fail2ban start
1-Instalando Fail2ban
La instalación la podemos realizar desde apt directamente. Primero actualizamos el sistema y luego instalamos Fail2ban
apt-get update && apt-get -y upgrade
apt-get install fail2ban
2-Configurando Fail2ban
Ahora procederemos a editar el archivo de configuración de Fail2ban para establecer ciertos parámetros como el tiempo de baneo, los máximos intentos fallidos… La configuración no es muy difícil ya que ya viene configurado para la mayoría de servicios estándar que tienen los servidores Linux (web, ssh …)
Copiamos el archvo de configuracion por defecto de fail2ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abrimos el archivo con el editor.
nano /etc/fail2ban/jail.local
Y modificamos los parametros de SSH (o otros servicios) que deseemos. Los mas comunes son los siguientes.
3-Sección [Default]
ignoreip
Aquí hemos de poner las ips que queremos que fail2ban no banee bajo ningún concepto, por ejemplo las de la empresa o red local donde esta alojado el servidor Linux. Por defecto nos trae la 127.0.0.1 que es la interfaz lo del servidor Linux (para evitar banearse a si mismo). Añadimos la ip o red que queramos.
ignoreip = 127.0.0.1 192.168.1.0/24
bantime
Como el nombre mismo dice, es el tiempo que queremos que banee la ip que ha intentado acceder erroneamente. El tiempo esta en segundos, por lo que si queremos banear 24h esa ip, 24h * 60 * 60 = 86400 segundos.
bantime = 86400
maxretry
Es el numero máximo de intentos que queremos que fail2ban pase por alto, lo normal es dar un poco de margen y poner 5 fallos como máximo, pero esto siempre va a gustos.
maxretry = 5
Sección [ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
logpath = /var/log/auth.log
maxretry = 5
Aquí podemos configurar si esta activo para el servicio SSH, que nos envie un email al banear una ip etc… En mi caso también lo he activado para el servicio proftpd.
Una vez hayamos terminado de configurar el archivo de fail2ban a nuestro gusto, reiniciamos el servicio.
service fail2ban restart
Y comprobamos si el funcionamiento es correcto como solemos hacer con todos los servicios
service fail2ban status
O bien lo podemos comprobar con el cliente
fail2ban-client ping
A lo que el servidor nos responderá “pong”
Ya hemos terminado la instalación de Fail2ban y su configuración para evitar que nos realicen ataques a los servicios que tenemos instalados por el método de fuerza bruta. Ahora recuerda que has de poner una contraseña un poquito difícil para que no pueda sacarlas con los primeros cinco intentos (evita 1234, admin, 0000, …). Una buena opción es usar una contraseña que tenga mayúsculas, minúsculas y algún numero.
Para ubuntu es lo mismo pero poniendo delante el sudo..
sudo apt-get update
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP
-A fail2ban-ssh -j RETURN
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -j DROP
sudo service fail2ban stop
sudo service fail2ban start