
Segurança de Rede Automatizada com Rust: Detectando e Bloqueando Scanners de Portas
Esta ferramenta tem como objetivo demonstrar as capacidades do recurso nfnetlink_queue do kernel Linux.
Para informações mais aprofundadas, você pode ler este artigo.
Antes que os pacotes sejam descartados pelo kernel, eles são enviados para esta ferramenta para processamento adicional. Se um peer remoto tentar acessar muitos portas fechadas na sua máquina, ele será banido automaticamente pela inserção de uma regra de descarte do seu endereço IP bem no início da pilha de rede (antes de qualquer desfragmentação de pacotes ou rastreamento de conexões).
IPs que forem banidos serão desbanidos automaticamente após um determinado período de tempo, o que é útil caso:
Para que esta ferramenta funcione, você deve adicionar a seguinte instrução no final da sua cadeia de entrada do nftables:
queue num 0-3 fanout
E então reiniciar o serviço nftables:
sudo systemctl restart nftables
Para instalar esta ferramenta a partir do código-fonte, você deve ter a toolchain estável do Rust instalada; você pode usar rustup para essa finalidade.
Em seguida, execute os seguintes comandos:
make
sudo make install
set do nftables para consultas mais rápidas de IPs banidos, em vez de adicionar uma nova regra de banimento para cada cliente.