
Seguridad de red automatizada con Rust: detección y bloqueo de escáneres de puertos
Esta herramienta tiene como objetivo demostrar las capacidades de la función nfnetlink_queue del kernel de Linux.
Para obtener información más detallada, puedes leer este artículo.
Antes de que los paquetes sean descartados por el kernel, se envían a esta herramienta para su posterior procesamiento. Si un equipo remoto intenta alcanzar demasiados puertos cerrados en tu máquina, será baneado automáticamente mediante la inserción de una regla de descarte para su dirección IP muy al principio de la pila de red (antes de que se produzca cualquier desfragmentación de paquetes o seguimiento de conexiones).
Las IPs que fueron baneadas se desbanean automáticamente después de un período de tiempo determinado, esto es útil en caso de que:
Para que esta herramienta funcione, debes añadir la siguiente declaración al final de tu cadena de entrada de nftables:
queue num 0-3 fanout
Y después reiniciar el servicio nftables:
sudo systemctl restart nftables
Para instalar esta herramienta desde el código fuente, debes tener instalada la cadena de herramientas estable de Rust; puedes usar rustup para ello.
A continuación, ejecuta los siguientes comandos:
make
sudo make install
set de nftables para realizar búsquedas más rápidas de IPs baneadas en lugar de añadir una nueva regla de baneo para cada cliente.