Dica de segurança: Desabilitando o IPv6

O protocolo IPv6 possui diversas vantagens sobre o seu irmão mais novo velho IPv4, atualmente em uso. No entanto, atualmente a sua presença pode tornar-se um incômodo: algumas pessoas reportam problemas na resolução de nomes (DNS) quando o protocolo está ativo. Além disso, ele ainda pode tornar-se uma falha de segurança:

Imagine que você configurou o seu firewall, utilizando o iptables. Suponha que você bloqueou o acesso a pings na sua máquina, com o comando
iptables -A INPUT -p icmp -j DROP 
Até aqui tudo certo. Agora, verifique o endereço IPv6 da sua placa de rede.
debian:~# ifconfig eth0
eth0   Encapsulamento do Link: Ethernet  Endereço de HW 00:0C:29:58:2A:F7
          inet end.: 192.168.0.1  Bcast:192.168.0.255  Masc:255.255.255.0
          endereço inet6: fe80::20d:88ff:fefc:da1b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:231001053 errors:0 dropped:0 overruns:0 frame:0
          TX packets:213003406 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:2227548162 (2.0 GiB)  TX bytes:3267118860 (3.0 GiB)
          IRQ:217 Endereço de E/S:0x2480
No nosso exemplo, o endereço IPv6 da placa é fe80::20d:88ff:fefc:da1b. Agora, experimente "pingar" seu endereço IPv6, com o utilitário ping6:
debian:~# ping6 -I eth0 fe80::20d:88ff:fefc:da1b
PING fe80::20d:88ff:fefc:da1b(fe80::20d:88ff:fefc:da1b) from fe80::20d:88ff:fefc:da1b eth0: 56 data bytes
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=3 ttl=64 time=0.036 ms
64 bytes from fe80::20d:88ff:fefc:da1b: icmp_seq=4 ttl=64 time=0.035 ms

--- fe80::20d:88ff:fefc:da1b ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.035/0.069/0.169/0.057 ms
Surpresa!!! Olha o ping funcionando ... Ué, bug do iptables? Nada disso. O iptables cuida apenas de endereços IPv4. Para proteger os endereços IPv6 de seu equipamento, você tem duas opções:
  • Utilizar o ip6tables (utilitário semelhante ao iptables, mas para endereços IPv6) ou
  • desabilitar completamente o IPv6 da máquina.
Para desabilitar o IPv6 no Debian Linux é muito simples: basta criar um arquivo com o nome /etc/modprobe.d/00local (os dois zeros no começo do nome são importantes, para garantir que o arquivo será lido antes dos outros presentes no diretório, quando da inicialização do sistema) com o seguinte conteúdo:
alias net-pf-10 off
alias ipv6 off
Após salvar o arquivo, é necessária a reinicialização do sistema (o módulo não vai sair da memória com um rmmod ipv6). 

Nenhum comentário: