iptables… bloqueando um intervalo sem flood ipset set com IPs

3

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

Eu tenho este ipset no lugar que está bloqueando cada IP que tenta invadir o meu servidor.

Eu gostaria de bloquear o acesso para pop / smtp / imap para todos os IPs a partir de 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 posso adicionar mais IPs a ele.

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

    
por SpaceDog 30.04.2013 / 21:58

2 respostas

3

Você pode adicionar outro ipset a ser bloqueado, 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:net , pois hash:net também pode armazenar endereços IP (máscara de rede 32).

Para converter de hash:ip para hash:net :

 ipset save myIpset > myIpset &&
   ipset destroy myIpset &&
   sed s/:ip/:net/ myIpset | ipset restore &&
   ipset add myIpset 197.192.0.0/16
    
por 30.04.2013 / 22:39
0

Você poderia simplesmente não 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.

BTW: Você denunciou o abuso para [email protected], conforme solicitado no AfriNIC Whois? Vale a pena tentar ...

    
por 30.04.2013 / 23:23

Tags