Como filtrar intervalos de endereços IP?

0

Como eu poderia filtrar um único endereço IP ou um intervalo de endereços IP para impedi-los de acessar meu computador?

Exemplos:

  1. Bloco 31.13.76.102

  2. Bloqueie de 216.58.192.0 para 216.58.223.255

  3. Bloqueie de 173.194.0.0 para 173.194.255.255

  4. Bloqueie de 74.125.136.0 para 74.125.136.255

Eu gostaria de impedi-los de acessar meu computador sem condições adicionais.

Eu sei que é possível usar iptables nessa situação, mas não tenho conhecimento da sintaxe exata, como tornar as alterações permanentes e qual comando executar para ativar o iptables service na inicialização. Eu também não quero cometer erros que possam quebrar meu acesso à Internet.

    
por Thierry 05.03.2018 / 18:50

3 respostas

3

Embora você possa usar /etc/hosts.deny , hosts.deny só funciona com aplicativos agrupados TCP, como ssh ou xinetd. Eu recomendaria usar iptables , pois é um verdadeiro firewall para o seu sistema. Basta usar algo assim:

iptables -I INPUT -s 31.13.76.102 -j DROP
iptables -I INPUT -m iprange --src-range 216.58.192.0-216.58.223.255 -j DROP
iptables -I INPUT -m iprange --src-range 173.194.0.0-173.194.255.255 -j DROP
iptables -I INPUT -m iprange --src-range 74.125.136.0-74.125.136.255 -j DROP
iptables-save > /etc/sysconfig/iptables

O iprange é um módulo muito legal para usar em situações como essa.

    
por 05.03.2018 / 19:24
0

Basta adicionar o seguinte a /etc/hosts.deny :

ALL: 31.13.76.102
ALL: 216.58.192.0/19
ALL: 173.194.0.0/16
ALL: 74.125.136.0/24
    
por 05.03.2018 / 19:03
0

O comando ufw ( U ncomplicado F ire W all , um front-end simplificado para o iptables, inicialmente para o Ubuntu, agora também disponível para Debian e outras distros) aceita Especificações do intervalo CIDR , por exemplo:

ufw insert 1 deny from 31.13.76.102 # single address
ufw insert 1 deny from 216.58.192.0/18 # range
    
por 05.03.2018 / 22:05