Cómo instalar y configurar Fail2Ban
¿Qué es Fail2Ban?
Fail2Ban es una aplicación para la prevención de intrusos en un sistema, permite bloquear conexiones remotas que intentan acceder por fuerza bruta.
Instalar Fail2Ban
En CentOS
yum update
yum install fail2ban |
yum update
yum install fail2ban
Configurar Fail2Ban
Hacemos una copia del archivo /etc/fail2ban/jail.conf.
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Algunas opciones principales:
ignoreip
Aquí ponemos las IPs que queremos que fail2ban no banee. 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 |
ignoreip = 127.0.0.1 192.168.1.0/24
bantime
Tiempo que queremos que banee la IP que ha intentado acceder erróneamente. El tiempo esta en segundos.
maxretry
Número máximo de intentos que queremos que fail2ban pase por alto.
action
Acciones que se van a ejecutar.
filter
Expresión regular para buscar en la bitácora lineas que coincidan.
Configurar el archivo jail.local
nano /etc/fail2ban/jail.local |
nano /etc/fail2ban/jail.local
Editamos o Agregamos al final.
Para SSH
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5 |
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5
Para WordPress
[wp-login]
enabled = true
port = http,https
filter = wp-login
action = iptables[name=WordPressLogin, port=http, protocol=tcp]
logpath = /var/log/httpd/dominio.com-access_log
bantime = 6000
maxretry = 5 |
[wp-login]
enabled = true
port = http,https
filter = wp-login
action = iptables[name=WordPressLogin, port=http, protocol=tcp]
logpath = /var/log/httpd/dominio.com-access_log
bantime = 6000
maxretry = 5
[wp-xmlrpc]
enabled = true
port = http,https
filter = wp-xmlrpc
action = iptables[name=WordPressXMLRPC, port=http, protocol=tcp]
logpath = /var/log/httpd/dominio.com-access_log
bantime = 6000
maxretry = 5 |
[wp-xmlrpc]
enabled = true
port = http,https
filter = wp-xmlrpc
action = iptables[name=WordPressXMLRPC, port=http, protocol=tcp]
logpath = /var/log/httpd/dominio.com-access_log
bantime = 6000
maxretry = 5
Crear Filtros
Creamos los siguientes filtros para proteger el WordPress.
vim /etc/fail2ban/filter.d/wp-xmlrpc.conf |
vim /etc/fail2ban/filter.d/wp-xmlrpc.conf
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex = |
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex =
vim /etc/fail2ban/filter.d/wp-login.conf |
vim /etc/fail2ban/filter.d/wp-login.conf
[Definition]
failregex = ^<HOST> .* "POST .*wp-login.php
ignoreregex = |
[Definition]
failregex = ^<HOST> .* "POST .*wp-login.php
ignoreregex =
Finalizar
Una vez configurado Fail2Ban reiniciamos el servicio Fail2Ban
systemctl fail2ban restart |
systemctl fail2ban restart
(Visited 993 times, 1 visits today)