
Sicurezza di rete automatizzata con Rust: rilevamento e blocco degli scanner di porte
Questo strumento mira a dimostrare le capacità della funzionalità nfnetlink_queue del kernel Linux.
Per informazioni più approfondite, puoi leggere questo articolo.
Prima che i pacchetti vengano scartati dal kernel, vengono inviati a questo strumento per ulteriori elaborazioni. Se un peer remoto tenta di raggiungere troppe porte chiuse sulla tua macchina, verrà automaticamente bannato inserendo una regola di drop per il suo indirizzo IP molto presto nello stack di rete (prima che avvenga qualsiasi deframmentazione dei pacchetti o tracciamento delle connessioni).
Gli IP che sono stati bannati verranno automaticamente sbannati dopo un determinato periodo di tempo; questo è utile nel caso in cui:
Affinché questo strumento funzioni, devi aggiungere la seguente istruzione alla fine della tua catena di input nftables:
queue num 0-3 fanout
Quindi riavvia il servizio nftables:
sudo systemctl restart nftables
Per installare questo strumento dal sorgente, devi avere installata la toolchain stabile di Rust; puoi usare rustup a tale scopo.
Quindi esegui i seguenti comandi:
make
sudo make install
set di nftables per ricerche più veloci degli IP bannati invece di aggiungere una nuova regola di ban per ogni client.