iptables... bloqueando um intervalo sem inundar o conjunto ipset com IPs

iptables... bloqueando um intervalo sem inundar o conjunto ipset com IPs

Eu tenho esse intervalo de IPS 197.192.xx que é uma força bruta atacando meus servidores pop/imap/smtp dia após dia.

Eu tenho esse ipset que está bloqueando todos os IP que tentam hackear meu servidor.

Gostaria de bloquear o acesso para pop/smtp/imap para todos os IPs começando com 197.192

Para fazer isso, digitei este comando:

ipset -A myIpset 197.192.0.0/24

mas isso adicionou 65536 IPs ao meu ipset, tornando-o enorme e agora não consigo adicionar mais IPs a ele.

Existe outra maneira de fazer isso de uma forma mais elegante?

Responder1

Você pode adicionar outro ipset para bloquear, desta vez do tipo hash:net, e adicionar 197.192.0.0/16 a esse ipset. Ou substitua seu ipset por um do tipo, hash:netpois hash:nettambém pode armazenar endereços IP (máscara de rede 32).

Para converter de hash:ippara hash:net:

 ipset save myIpset > myIpset &&
   ipset destroy myIpset &&
   sed s/:ip/:net/ myIpset | ipset restore &&
   ipset add myIpset 197.192.0.0/16

Responder2

Você simplesmente não poderia usar um ipset para isso; iptables pode combinar redes com bastante facilidade:

iptables -I INPUT -s 197.192.0.0/16 -p tcp --dports smtp,imap,pop3 -j DROP

ou similar.

Aliás: você denunciou o abuso para[e-mail protegido]conforme solicitado no AfriNIC Whois? Vale a pena tentar...

informação relacionada