domingo, 23 de junho de 2013

Listas de Controle de Acesso em Redes IPv6

Olá Pessoal.

Uma das tarefas que mais preocupa na transição de uma rede IPv4 para IPv6 ou mesmo na adição do IPv6 em modo pilha-dupla para ganhar experiência com o novo protocolo consiste no processo de escrita das regras de controle de acesso (firewall) que já estão implementadas no IPv4 e agora precisam ser reescritas no contexto do IPv6.

O objetivo desse artigo é mostrar que o processo de escrita dessas regras de controle de acesso em redes baseadas no IPv6 não é tão diferente daquilo que já se fazia, até mesmo porque, via de regra, a sintaxe se mantém basicamente a mesma na maioria das soluções. 

Talvez o maior obstáculo sejam as novas funcionalidades do IPv6 e seu modus operandi, afinal agora existem algumas diferenças relevantes. Por exemplo, em IPv6 o ICMPv6 não pode mais ser sumariamente bloqueado como se fazia com o ICMP no IPv4, uma vez que o ICMPv6 é responsável por várias funcionalidades importantes para assegurar a operação de uma rede IPv6. Por isso o profissional de segurança deve estudar os detalhes de operação do novo protocolo para saber exatamente quais funcionalidades ele deseja bloquear a quais ele não pode!!! O objetivo desse artigo não é detalhar essas questões, mas fiquem tranquilos que vocês poderão aprender esses detalhes no meu novo livro sobre IPv6 que será lançado em breve...

Voltando ao foco desse artigo, vamos considerar o cenário da figura abaixo em que existem três departamentos, cada um vinculado a uma sub-rede, conectados entre si através do dispositivo denominado Roteador-Firewall. Nesse dispositivo iremos configurar uma simples lista de controle de acesso (ACL) para impedir que as máquinas na sub-rede do departamento de marketing tenham acesso à intranet (serviço www) no Server-B (2001:db8:cafe:3::12).



Nesse caso, para bloquear um serviço (web) ou mesmo todo o tráfego (ipv6) de uma rede para outra ou para uma máquina específica o processo de escrita da ACL é exatamente igual àquilo que seria feito em redes IPv4, mudando apenas os endereços para IPv6. A única mudança mais significativa está na sintaxe de aplicação da ACL na interface, conforme pode ser observado abaixo:

Roteador-Firewall(config)# ipv6 access-list FIREWALL
Roteador-Firewall(config-acl-ipv6)# deny tcp 2001:db8:cafe:1::/64 
                                    host 2001:db8:cafe:3::12 eq www
Roteador-Firewall(config-acl-ipv6)# permit ipv6 any any
Roteador-Firewall(config-acl-ipv6)# exit
Roteador-Firewall(config)# int g0/0
Roteador-Firewall(config-if)# ipv6 traffic-filter FIREWALL in

Criamos uma ACL denominada FIREWALL que bloqueia o acesso das máquinas da rede do departamento de marketing (2001:db8:cafe:1::/64) ao Server-B (2001:db8:cafe:3::12). Observem que somente o serviço web está sendo bloqueado (eq www), ou seja, todos os demais acessos são permitidos nesse exemplo! Esse é apenas um exemplo de como escrever as regras de firewall e não deve ser utilizado em ambientes de produção porque também é muito permissivo. O leitor pode (e deve) utilizar esse mesmo cenário para explorar o processo de escrita de novas ACLs.

Abraço.

Samuel.

Nenhum comentário:

Postar um comentário