Eu usei as seguintes regras para bloquear os scanners de porta por 24 horas e desbloquear o endereço IP do scanner após 24 horas e registrar o endereço IP do invasor.
iptables -A INPUT -m recent --name portscan --rcheck --seconds 86400 -j DROP iptables -A FORWARD -m recent --name portscan --rcheck --seconds 86400 -j DROP
iptables -A INPUT -m recent --name portscan --remove iptables -A FORWARD -m recent --name portscan --remove
iptables -A INPUT -p tcp -m tcp --dport 139 -m recente --name portscan --set -j LOG --log-prefix "portscan:" iptables -A INPUT -p tcp -m tcp --dport 139 -m recente --name portscan --set -j DROP iptables -A FORWARD -p tcp -m tcp --dport 139 -m recente --name portscan --set -j LOG --log-prefix "portscan:" iptables -A FORWARD -p tcp -m tcp --dport 139 -m recent --name portscan --set -j DROP
tudo funciona bem, e o endereço IP do scanner está sendo bloqueado pelo iptables. mas não consigo encontrar o ip bloqueado em nenhuma das cadeias do iptables. O ip do scanner está sendo registrado apenas no arquivo kernel.log, e estou procurando uma maneira possível de remover um único ip em vez de reiniciar o próprio iptables.
O módulo recente não cria novas regras para cada infrator que você pode consultar com o Iptables. Ele simplesmente mantém a lista de infratores na memória
http://ipset.netfilter.org/iptables-extensions.man.html#lbBW
para adicionar
addr
à lista DEFAULTpara remover
addr
da lista DEFAULTpara liberar a lista DEFAULT (remover todas as entradas)