En esta entrada, veremos como complementar la seguridad junto con Fail2Ban. Vamos a instalar y configurar IPset con el objetivo de bloquear IP’s y rangos directamente. Esto nos va a permitir que las peticiones no lleguen a Fail2Ban directamente sino que el propio iptables lo bloqueará.
Instalación IPset:
yum install -y ipset ipset-service ipset-libs
systemctl enable ipset.service
Creación de 2 listas: rangos (paises) e IP’s (individuales)
/sbin/ipset create MYBLACKLIST_IP hash:ip family inet hashsize 524288 maxelem 6553600
/sbin/ipset create MYBLACKLIST_COUNTRIES hash:net family inet hashsize 524288 maxelem 6553600
Añadiremos las entradas anteriores en la configuración de iptables. En este caso, le aplicaremos una denegación de acceso (DROP):
iptables -I INPUT -m set --match-set MYBLACKLIST_COUNTRIES src -j DROP
iptables -I INPUT -m set --match-set MYBLACKLIST_IP src -j DROP
Actualizaremos la configuración de iptables:
/usr/sbin/iptables-save > /etc/sysconfig/iptables
/usr/sbin/iptables-save | uniq | iptables-restore
/usr/sbin/iptables-save > /etc/sysconfig/iptables
/usr/sbin/iptables-restore < /etc/sysconfig/iptables
/usr/libexec/iptables/iptables.init save
service iptables reload
Se puede observar, que IPset está configurado con un DROP al principio de IPtables:
A continuación, vaciaremos y dejaremos los permisos correctos
/sbin/ipset flush MYBLACKLIST_IP
/sbin/ipset flush MYBLACKLIST_COUNTRIES
/sbin/ipset restore -f /etc/ipset.conf -!
/sbin/ipset save -file /etc/sysconfig/ipset
touch /etc/ipset.conf
chmod 664/etc/ipset.conf
chmod 664 /etc/sysconfig/ipset
Para añadir rangos e IP’s:
add MYBLACKLIST_COUNTRIES 136.169.212.0/22 >> /etc/ipset.conf
add MYBLACKLIST_COUNTRIES 136.169.212.0/23 >> /etc/ipset.conf
add MYBLACKLIST_IP 101.109.186.37 >> /etc/ipset.conf
add MYBLACKLIST_IP 101.109.187.158 >> /etc/ipset.conf
En este punto, se puede buscar en Google por listas y crear nuestras respectivas blacklists personalizadas, automatizadas,…
Y para recargar la configuracion anteriormente generada en /etc/ipset.conf tendremos que:
/sbin/ipset restore -f /etc/ipset.conf -!
/sbin/ipset save -file /etc/sysconfig/ipset
service iptables reload