Configuração de DMZ em roteadores Cisco com Stateful packet filtering

A intenção deste artigo é mostrar a configuração de uma DMZ utilizando Stateful packet filtering em roteadores Cisco, para isto vamos considerar que toda a rede da topologia abaixo está funcional, com todos os endereços IPs configurados, rotas configuradas e que os servidores e as estações de trabalho estão funcionais.

O Stateful packet filtering filtra o tráfego baseado no destino e na origem dos endereços IPs, portas, flags além de realizar “stateful inspection” uma inspeção de pacotes que permite o armazenamento de dados de cada conexão em uma tabela de sessão. Esta tabela armazena o estado do fluxo de pacotes e serve como ponto de referência para determinar se os pacotes pertencem a uma conexão existente ou se são pacotes de uma fonte não autorizada.

Neste tipo de configuração é aconselhável que você tenha conhecimento sobre  ACLs (listas de controlo de  acesso). As ACLs são utilizadas em equipamentos Cisco para a configuração de filtros de rede. Para facilitar o entendimento, colocamos apenas 01 (um) servidor WEB na DMZ e iremos configura somente uma regra de inspeção de pacotes.

Postamos ao final do artigo um vídeo sobre a configuração da topologia de rede apresentada, bem como disponibilizamos o download do arquivo de simulação da rede, para que você possa realizar as configurações na prática.

Antes de iniciarmos as configurações é preciso definir as políticas segurança da nossa DMZ:

  • Os dispositivos da rede externa só poderão realizar acesso HTTP no servidor WEB localizado na DMZ;
  • Os dispositivos da rede interna  poderão realizar acesso HTTP no servidor WEB localizado na DMZ e em dispositivos da rede externa;
  • A estação de trabalho do DTI poderá realizar ICMP e HTTP para o servidor WEB localizado na DMZ e para dispositivos da rede externa;
  • Qualquer outro tipo de tráfego deverá ser bloqueado;
  • Todo o tráfego HTTP que entrar no roteador deverá ser inspecionado;
  • Todos os logs de inspeção de pacotes deverão ser encaminhados para o servidor de LOG.

Para configurar uma DMZ com Stateful packet filtering em roteadores Cisco é aconselhável que você siga uma sequência lógica de implementação dos comandos de ACL e de inspeção de pacotes, com os seguintes passos:

Etapa 01 - Identificar as interfaces internas e externas;
Etapa 02 - Definir as regras de ACLs nas interfaces;
Etapa 03 - Definir as regras de inspeção de pacotes;
Etapa 04 - Aplicar as regras de inspeção de pacotes e as ACLs nas interfaces;
Etapa 05 - Configurar o servidor que receberá as mensagens de auditoria;
Etapa 06 -Testar e verifique as configurações aplicadas.

Vamos então a nossa configuração com base nas políticas segurança da nossa DMZ e dos passos de configuração descritos acima: 

Etapa 01 - Identificar as interfaces internas e externas

Porta fa0/0 - Será a porta interna
Porta s0/0/0 - Será a porta externa
Porta fa0/1 – Será a porta da DMZ que contem o Servidor WEB e de  LOG

Etapa 02 - Definir as regras de ACLs das interfaces

(config)# ip access-list extended rede_interna(cria uma ACL estendida com nome rede_interna)
(config-ext-nacl)# permit tcp any any eq www(permite todo tráfego tcp de qualquer origem para qualquer destino que tenha a porta 80)
(config-ext-nacl)# permit icmp any any(permite todo tráfego icmp de qualquer origem para qualquer destino)
(config-ext-nacl)# deny ip any any(nega todo o tráfego ip de qualquer origem para qualquer destino. Esta linha de comando já esta implícita em qualquer ACL)
(config-ext-nacl)# ip access-list extended dmz(cria uma ACL estendida com nome dmz)
(config-ext-nacl)# permit icmp any host 192.168.0.1(permite todo tráfego icmp de qualquer origem para o host 192.168.0.1)
(config-ext-nacl)#deny ip any any(nega todo o  tráfego ip de qualquer origem para qualquer destino)
(config)# ip access-list extended rede_externa(cria uma ACL estendida com nome rede_externa)
(config-ext-nacl)# permit tcp any host 190.16.1.1 eq www(permite todo tráfego tcp de qualquer origem para o host 190.16.1.1 que tenha a porta 80)
(config-ext-nacl)# permit icmp any host 192.168.0.1 echo-reply(permite todo tráfego icmp de resposta de qualquer origem para o host 192.168.0.1)

Etapa 03 - Definir as regras de inspeção de pacotes

(config)# ip inspect name DMZ http audit-trail on(define uma regra de inspeção de pacotes, com o nome DMZ onde todo o tráfego http será inspecionado e logado. A inspeção de pacotes http permite automaticamente o retorno do tráfego de todas as sessões http, mesmo que haja uma regra de bloqueio por uma ACL)

Vamos ver a definição do comando de inspeção separadamente:

  • ip inspect: Habilita a inspeção de pacotes;
  • name: Define que a regra de inspeção terá um nome;
  • DMZ: Nome da inspeção (define um nome para a regra de inspeção, pode ser qualquer nome);
  • http: Somente os pacotes http serão inspecionados;
  • audit-trail on: Habilita o rastreamento dos pacotes para fins de auditoria, neste caso vamos mandar os logs para um servidor de log.
Etapa 04 - Aplicar as regras de inspeção de pacotes e as ACLs nas interfaces

(config)# interface FastEthernet0/0(entra no modo da  interface)
(config-if)# ip access-group rede_interna in(aplica a ACL rede_interna para pacotes que entram na interface)
(config-if)# ip inspect DMZ in(aplica a inspeção de pacotes DMZ para pacotes que entram na interface)

(config)# interface FastEthernet0/1(entra no modo da  interface)
(config-if)ip access-group dmz in(aplica a ACL dmz para pacotes que entram na interface)

(config)# interface Serial0/0/0(entra no modo da  interface)
(config-if)#ip access-group rede_externa in(aplica a ACL rede_externa para pacotes que entram na interface)
(config-if)#ip inspect DMZ in(aplica a inspeção de pacotes DMZ para pacotes que entram na interface)

Etapa 05 - Configurar o servidor que receberá as mensagens de auditoria

(config)# logging on(habilita os logs)
(config)# logging 190.16.1.1(configura o endereço IP do servidor que receberá os logs)

Etapa 06 -Testar e verifique as configurações aplicadas

#sh ip access-lists(mostra as listas de acessos configuradas e o número de pacotes que foram associados)
#show ip inspect name  DMZ(mostra as regras de inspeção de pacotes DMZ)
#show ip inspect interfaces(mostra as regras de inspeção de pacotes configuradas nas interfaces)
#show ip inspect  sessions(mostra informações das sessões que estão sendo inspecionadas)
#show ip inspect   statistics(mostra estatísticas das regras de inspeção de pacotes) 

Configuração do roteador após a aplicação dos comandos

rt_dmz#sh running-config
Building configuration...

Current configuration : 1243 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname rt_dmz
!
enable secret 5 $1$mERr$I1soB6vaI8N.lTdA2HQJk0
!
ip inspect name DMZ http audit-trail on
!
interface FastEthernet0/0
 ip address 192.168.0.254 255.255.255.0
 ip access-group rede_interna in
 ip inspect DMZ in
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 190.16.1.2 255.255.255.252
 ip access-group dmz in
 duplex auto
 speed auto
!
interface Serial0/0/0
 ip address 190.16.2.1 255.255.255.252
 ip access-group rede_externa in
 ip inspect DMZ in
!
interface Serial0/0/1
 no ip address
 shutdown
!
interface Ethernet0/3/0
 no ip address
 duplex auto
 speed auto
 shutdown
!
interface Vlan1
 no ip address
 shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/0/0
!
ip access-list extended rede_interna
 permit tcp any any eq www
 permit icmp any any
 deny ip any any
ip access-list extended dmz
 permit icmp any host 192.168.0.1
 deny ip any any
ip access-list extended rede_externa
 permit tcp any host 190.16.1.1 eq www
 permit icmp any host 192.168.0.1 echo-reply
!
logging 190.16.1.1
line con 0
line vty 0 4
 login
!
end

!

Na topologia apresentada acima é possível incluir mais servidores (FTP, email, DNS...) e em contrapartida incluir mais regras de filtros e de inspeção de pacotes. Em algumas topologias de  DMZ também pode-se fazer uso de vlans para ajudar no gerenciamento e na segurança, o que pretendemos abordar em outro artigo neste site.

Assista o vídeo abaixo e veja como é realizado as configurações da topologia de rede acima. Caso você tenha acesso ao simulador "Cisco Packet Tracer", faça o download da topologia de rede e tente realizar a configuração (necessário simulador Cisco Packet Tracer versão 5.3.0, software utilizado por alunos das Academias Cisco Networking Academy).

Click aqui e faça download da topologia de rede acima

 

Autor: Rodrigo Salvo

Assista abaixo um vídeo sobre o assunto

 

Comentários via Twitter