6.8.2. Bloqueo de direcciones IP que intentan más de diez nuevas conexiones TCP entrantes en un minuto
El marco nftables
permite a los administradores actualizar dinámicamente los conjuntos. Esta sección explica cómo utilizar esta función para bloquear temporalmente los hosts que establecen más de diez conexiones TCP IPv4 en un minuto. Después de cinco minutos, nftables
elimina automáticamente la dirección IP de la lista de denegación.
Procedimiento
Crear la tabla
filter
con la familia de direccionesip
:# nft add table ip filter
Añade la cadena
input
a la tablafilter
:# nft add chain ip filter input { type filter hook input priority 0 \; }
Añade un conjunto llamado
denylist
a la tablafilter
:# nft add set ip filter denylist { type ipv4_addr \️; flags dynamic, timeout \️; timeout 5m \️; }
Este comando crea un conjunto dinámico de direcciones IPv4. El parámetro
timeout 5m
define quenftables
elimine automáticamente las entradas después de 5 minutos del conjunto.Añada una regla que añada automáticamente la dirección IP de origen de los hosts que intenten establecer más de diez nuevas conexiones TCP en un minuto al conjunto
denylist
:# nft add rule ip filter input ip protocol tcp ct state new, untracked limit rate over 10/minute add @denylist { ip saddr }
Añada una regla que elimine todas las conexiones de las direcciones IP del conjunto
denylist
:# nft add rule ip filter input ip saddr @denylist drop
Recursos adicionales