Este documento fornece uma configuração de exemplo para várias formas de comunicação entre as interfaces no mecanismo de segurança ASA/PIX.
Certifique-se de atender a estes requisitos antes de tentar esta configuração:
Endereços IP e atribuição de gateway padrão
Conectividade de rede física entre dispositivos
Número da porta de comunicação identificada para o serviço implementado.
As informações neste documento são baseadas nestas versões de software e hardware:
Adaptive Security Appliance com software versão 7.x ou posterior
Servidores Windows 2003
Estações de trabalho do Windows XP
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Esta configuração também pode ser utilizada com estas versões de hardware e software:
PIX 500 Series Firewalls com software versão 7.x ou posterior
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Este documento descreve as etapas necessárias para permitir que a comunicação flua entre diferentes interfaces. Formas de comunicação como essas são discutidas:
Comunicação de hosts localizados no exterior que exigem acesso ao recurso localizado no DMZ
Comunicação de hosts na rede interna que exigem acesso aos recursos localizados na DMZ
Comunicação de hosts no interior e na rede DMZ que exigem acesso a recursos no exterior
Em nosso exemplo, usamos Network Address Translation (NAT) e Port Address Translation (PAT) em nossa configuração. A conversão de endereço substitui o endereço real (local) em um pacote por um endereço mapeado (global) que é roteável na rede destino. O NAT é composto de duas etapas: o processo no qual um endereço real é convertido em um endereço mapeado e, em seguida, o processo para desfazer a tradução do tráfego retornado. Há duas formas de tradução de endereços que usamos neste guia de configuração: Estático e dinâmico.
As conversões dinâmicas permitem que cada host use um endereço ou porta diferente para cada conversão subsequente. Traduções dinâmicas podem ser usadas quando hosts locais compartilham ou "se escondem atrás" de um ou mais endereços globais comuns. Nesse modo, um endereço local não pode reservar permanentemente um endereço global para tradução. Em vez disso, a tradução de endereços ocorre em uma base de muitos para um ou de muitos para muitos, e as entradas de tradução são criadas somente quando são necessárias. Assim que uma entrada de tradução estiver livre de uso, ela será excluída e disponibilizada para outros hosts locais. Esse tipo de conversão é mais útil para conexões de saída, nas quais os hosts internos recebem um endereço dinâmico ou um número de porta somente quando as conexões são feitas. Há duas formas de conversão de endereço dinâmico:
NAT dinâmico - Os endereços locais são convertidos para o próximo endereço global disponível em um pool. A conversão ocorre em uma base um para um, de modo que é possível esgotar o pool de endereços globais se um número maior de hosts locais exigir tradução em um determinado momento.
Sobrecarga de NAT (PAT) - Os endereços locais são convertidos em um único endereço global; cada conexão é tornada exclusiva quando o próximo número de porta de alta ordem disponível do endereço global é atribuído como origem da conexão. A conversão ocorre em uma base de muitos para um, pois muitos hosts locais compartilham um endereço global comum.
A conversão estática cria uma conversão fixa dos endereços reais para os endereços mapeados. Uma configuração de NAT estático mapeia o mesmo endereço para cada conexão por um host e é uma regra de conversão persistente. As conversões de endereços estáticos são usadas quando um host interno ou local precisa ter o mesmo endereço global para cada conexão. A conversão de endereços ocorre em uma base um para um. As conversões estáticas podem ser definidas para um único host ou para todos os endereços contidos em uma sub-rede IP.
A principal diferença entre o NAT dinâmico e um intervalo de endereços para o NAT estático é que o NAT estático permite que um host remoto inicie uma conexão com um host traduzido (se houver uma lista de acesso que permita isso), enquanto o NAT dinâmico não. Você também precisa de um número igual de endereços mapeados com NAT estático.
O Security Appliance converte um endereço quando uma regra NAT corresponde ao tráfego. Se nenhuma regra de NAT corresponder, o processamento do pacote continuará. A exceção é quando você habilita o controle NAT. O controle de NAT exige que os pacotes que atravessam de uma interface de segurança mais alta (interna) para um nível de segurança mais baixo (externo) correspondam a uma regra de NAT, caso contrário, o processamento do pacote é interrompido. Para visualizar informações de configuração comuns, consulte o documento PIX/ASA 7.x NAT e PAT. Para obter informações mais detalhadas sobre o funcionamento do NAT, consulte o guia Como o NAT Funciona.
Dica:Sempre que alterar a configuração do NAT, recomenda-se limpar as conversões de NAT atuais. Você pode limpar a tabela de tradução com o comando clear xlate. No entanto, tenha cuidado ao fazer isso, pois limpar a tabela de tradução desconecta todas as conexões atuais que usam traduções. A alternativa para limpar a tabela de tradução é esperar que as conversões atuais tenham o tempo limite, mas isso não é recomendado porque um comportamento inesperado pode resultar na criação de novas conexões com as novas regras.
O valor de nível de segurança controla como os hosts/dispositivos nas diferentes interfaces interagem entre si. Por padrão, os hosts/dispositivos conectados a interfaces com níveis de segurança mais altos podem acessar hosts/dispositivos conectados à interface com níveis de segurança mais baixos. Hosts/dispositivos conectados a interfaces com interfaces de segurança mais baixa não podem acessar hosts/dispositivos conectados a interfaces com interfaces de segurança mais alta sem a permissão de listas de acesso.
O comando security-level é novo na versão 7.0 e substitui a parte do comando nameif que atribuiu o nível de segurança para uma interface. Duas interfaces, "internas" e "externas", têm níveis de segurança padrão, mas podem ser substituídas pelo comando security-level. Se você nomear uma interface "interna", será atribuído um nível de segurança padrão de 100; uma interface chamada "externa" recebe um nível de segurança padrão de 0. Todas as outras interfaces recém-adicionadas recebem um nível de segurança padrão de 0. Para atribuir um novo nível de segurança a uma interface, use o comando security-level no modo de comando da interface. Os níveis de segurança variam de 1 a 100.
Nota:Os níveis de segurança são usados somente para determinar como o firewall inspeciona e gerencia o tráfego. Por exemplo, o tráfego que passa de uma interface de segurança mais alta para uma mais baixa é encaminhado com políticas padrão menos rigorosas do que o tráfego que vem de uma interface de segurança mais baixa para uma de segurança mais alta. Para obter mais informações sobre os níveis de segurança, consulte o Guia de Referência de Comandos do ASA/PIX 7.x.
O ASA/PIX 7.x também introduziu a capacidade de configurar várias interfaces com o mesmo nível de segurança. Por exemplo, várias interfaces conectadas a parceiros ou outros DMZs podem receber um nível de segurança de 50. Por padrão, essas mesmas interfaces de segurança não podem se comunicar entre si. Para contornar isso, o comando same-security-traffic permit inter-interface foi introduzido. Esse comando permite a comunicação entre interfaces do mesmo nível de segurança. Para obter mais informações sobre a mesma segurança entre interfaces, consulte o guia de Referência de Comandos Configurando Parâmetros de Interface e consulte este exemplo.
As listas de controle de acesso geralmente consistem em várias entradas de controle de acesso (ACE) organizadas internamente pelo Security Appliance em uma lista vinculada. As ACEs descrevem um conjunto de tráfego como o de um host ou rede e listam uma ação a ser aplicada a esse tráfego, geralmente permitem ou negam. Quando um pacote é submetido ao controle da lista de acesso, o Cisco Security Appliance pesquisa essa lista vinculada de ACEs para encontrar uma que corresponda ao pacote. A primeira ACE que corresponde ao Security Appliance é a aplicada ao pacote. Quando a correspondência é encontrada, a ação nessa ACE (permit ou deny) é aplicada ao pacote.
Somente uma lista de acesso é permitida por interface, por direção. Isso significa que você pode ter apenas uma lista de acesso que se aplica ao tráfego de entrada em uma interface e uma lista de acesso que se aplica ao tráfego de saída em uma interface. As listas de acesso que não são aplicadas às interfaces, como ACLs NAT, são ilimitadas.
Nota:Por padrão, todas as listas de acesso possuem uma ACE implícita no final que nega todo o tráfego. Assim, qualquer tráfego que não corresponder a alguma ACE inserida na lista de acesso corresponderá à negação implícita no final da lista e será descartado. Você deve ter pelo menos uma instrução permit em uma lista de acesso de interface para que o tráfego flua. Sem uma instrução permit, todo o tráfego é negado.
Nota:As listas de acesso são implementadas com os comandos access-list e access-group. Esses comandos são usados em vez dos comandos conduit e outbound usados nas versões anteriores do PIX Firewall Software. Para obter mais informações sobre ACLs, consulte Configurando Listas de Acesso de IP.
Nesta seção, você encontrará informações para configurar os recursos descritos neste documento.
Nota: Use a Command Lookup Tool (somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção.
Este documento usa a configuração desta rede:
Este documento utiliza as seguintes configurações:
Com essa configuração básica de firewall, não há instruções NAT/STATIC no momento.
Nenhuma ACL é aplicada. Assim, a ACE implícita deny any any é usada.
Nome do dispositivo 1 |
---|
ASA-AIP-CLI(config)#show running-config ASA Version 7.2(2) ! hostname ASA-AIP-CLI domain-name corp.com enable password WwXYvtKrnjXqGbu1 encrypted names ! interface Ethernet0/0 nameif Outside security-level 0 ip address 172.22.1.163 255.255.255.0 ! interface Ethernet0/1 nameif inside security-level 100 ip address 172.20.1.1 255.255.255.0 ! interface Ethernet0/2 nameif DMZ security-level 50 ip address 192.168.1.1 255.255.255.0 ! interface Ethernet0/3 nameif DMZ-2-testing security-level 50 ip address 192.168.10.1 255.255.255.0 ! interface Management0/0 shutdown no nameif no security-level no ip address ! passwd 2KFQnbNIdI.2KYOU encrypted ftp mode passive dns server-group DefaultDNS domain-name corp.com pager lines 24 mtu inside 1500 mtu Outside 1500 mtu DMZ 1500 no failover icmp unreachable rate-limit 1 burst-size 1 no asdm history enable arp timeout 14400 nat-control route Outside 0.0.0.0 0.0.0.0 172.22.1.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout uauth 0:05:00 absolute no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global prompt hostname context Cryptochecksum:4b2f54134e685d11b274ee159e5ed009 : end ASA-AIP-CLI(config)# |
Para permitir a comunicação da DMZ com os hosts da rede interna, use esses comandos. Neste exemplo, um servidor Web no DMZ precisa acessar um servidor AD e DNS no interior.
Crie uma entrada de NAT estático para o servidor AD/DNS na DMZ. O NAT estático cria uma tradução fixa de um endereço real para um endereço mapeado. Esse endereço mapeado é um endereço que os hosts DMZ podem usar para acessar o servidor no interior sem a necessidade de saber o endereço real do servidor. Esse comando mapeia o endereço DMZ 192.168.2.20 para o endereço interno real 172.20.1.5.
ASA-AIP-CLI(config)# static (inside,DMZ) 192.168.2.20 172.20.1.5 máscara de rede 255.255.255.255
As ACLs são necessárias para permitir que uma interface com um nível de segurança mais baixo tenha acesso a um nível de segurança mais alto. Neste exemplo, damos ao servidor Web que fica no DMZ (Security 50) acesso ao servidor AD/DNS interno (Security 100) com estas portas de serviço específicas: DNS, Kerberos e LDAP.
ASA-AIP-CLI(config)# access-list DMZtoInside extended permit udp host 192.168.1.10 host 192.168.2.20 eq domain
ASA-AIP-CLI(config)# access-list DMZtoInside extended permit tcp host 192.168.1.10 host 192.168.2.20 eq 88
ASA-AIP-CLI(config)# access-list DMZtoInside extended permit udp host 192.168.1.10 host 192.168.2.20 eq 389
Nota:As ACLs permitem acessar o endereço mapeado do servidor AD/DNS criado neste exemplo, e não o endereço interno real.
Nesta etapa, você aplica a ACL à interface DMZ na direção de entrada com este comando:
ASA-AIP-CLI(config)# access-group DMZtoInside na interface DMZ
Nota:Se desejar bloquear ou desabilitar o tráfego da porta 88 da DMZ para a rede interna, por exemplo, execute:
ASA-AIP-CLI(config)# no access-list DMZtoInside extended permit tcp host 192.168.1.10 host 192.168.2.20 eq 88
Dica:Sempre que alterar a configuração do NAT, recomenda-se limpar as conversões de NAT atuais. Você pode limpar a tabela de tradução com o comando clear xlate. Tenha cuidado ao fazer isso, pois limpar a tabela de tradução desconecta todas as conexões atuais que usam traduções. A alternativa para limpar a tabela de tradução é aguardar o tempo limite das conversões atuais, mas isso não é recomendado porque um comportamento inesperado pode resultar na criação de novas conexões com as novas regras.
Outras configurações comuns incluem:
Servidores de e-mail na DMZ
Acesso SSH dentro e fora
Sessões de Área de Trabalho Remota permitidas via dispositivos PIX/ASA
Outras soluções de DNS usadas na DMZ
Para permitir a comunicação de usuários na Internet, ou na interface externa (Security 0), para um servidor Web localizado na DMZ (Security 50), use estes comandos:
Crie uma tradução estática para o servidor Web na DMZ para o exterior. O NAT estático cria uma tradução fixa de um endereço real para um endereço mapeado. Esse endereço mapeado é um endereço que os hosts na Internet podem usar para acessar o Servidor Web no DMZ sem a necessidade de saber o endereço real do servidor. Esse comando mapeia o endereço externo 172.22.1.25 para o endereço DMZ real 192.168.1.10.
ASA-AIP-CLI(config)# estático (DMZ,Externo) 172.22.1.25 192.168.1.10 máscara de rede 255.255.255.255
Crie uma ACL que permita que os usuários de fora acessem o servidor Web por meio do endereço mapeado. Observe que o servidor Web também hospeda o FTP.
ASA-AIP-CLI(config)# access-list OutsideDMZ extended permit tcp any host 172.22.1.25 eq www
ASA-AIP-CLI(config)# access-list OutsideDMZ extended permit tcp any host 172.22.1.25 eq ftp
A última etapa nesta configuração é aplicar a ACL à interface externa para tráfego na direção de entrada.
ASA-AIP-CLI(config)# access-group OutsideDMZ na interface Outside
Nota:Lembre-se que é possível aplicar somente uma lista de acesso por interface em cada direção. Se você já tiver uma ACL de entrada aplicada à interface externa, não poderá aplicar este exemplo de ACL a ela. Em vez disso, adicione as ACEs neste exemplo à ACL atual que é aplicada à interface.
Nota:Se desejar bloquear ou desabilitar o tráfego de FTP da Internet para a DMZ, por exemplo, execute:
ASA-AIP-CLI(config)# no access-list OutsidetoDMZ extended permit tcp any host 172.22.1.25 eq ftp
Dica:Sempre que alterar a configuração do NAT, recomenda-se limpar as conversões de NAT atuais. Você pode limpar a tabela de tradução com o comando clear xlate. Tenha cuidado ao fazer isso, pois limpar a tabela de tradução desconecta todas as conexões atuais que usam traduções. A alternativa para limpar a tabela de tradução é esperar que as conversões atuais tenham o tempo limite, mas isso não é recomendado porque um comportamento inesperado pode resultar na criação de novas conexões com as novas regras.
Neste cenário, os hosts localizados na interface interna (Security 100) do Security Appliance têm acesso à Internet na interface externa (Security 0). Isso é obtido com o PAT, ou sobrecarga de NAT, forma de NAT dinâmico. Diferentemente dos outros cenários, uma ACL não é necessária neste caso porque os hosts em uma interface de alta segurança acessam os hosts em uma interface de baixa segurança.
Especifique as origens do tráfego que devem ser convertidas. Aqui a regra NAT número 1 é definida e todo o tráfego de hosts internos e DMZ é permitido.
ASA-AIP-CLI(config)# nat (interno) 1 172.20.1.0 255.255.255.0
ASA-AIP-CLI(config)# nat (interno) 1 192.168.1.0 255.255.255.0
Especifique o endereço, o pool de endereços ou a interface que o tráfego NATed deve usar ao acessar a interface externa. Nesse caso, o PAT é executado com o endereço da interface externa. Isso é especialmente útil quando o endereço da interface externa não é conhecido antecipadamente, como em uma configuração DHCP. Aqui, o comando global é emitido com o mesmo ID NAT de 1, que o vincula às regras NAT do mesmo ID.
ASA-AIP-CLI(config)# interface global (externa) 1
Dica:Sempre que alterar a configuração do NAT, recomenda-se limpar as conversões de NAT atuais. Você pode limpar a tabela de tradução com o comando clear xlate. Tenha cuidado ao fazer isso, pois limpar a tabela de tradução desconecta todas as conexões atuais que usam traduções. A alternativa para limpar a tabela de tradução é esperar que as conversões atuais tenham o tempo limite, mas isso não é recomendado porque um comportamento inesperado pode resultar na criação de novas conexões com as novas regras.
Nota:Se desejar bloquear o tráfego da zona de segurança mais alta (interna) para a zona de segurança mais baixa (Internet/DMZ), crie uma ACL e aplique-a à interface interna do PIX/ASA como entrada.
Nota: Exemplo: Para bloquear o tráfego da porta 80 do host 172.20.1.100 da rede interna para a Internet, execute:
ASA-AIP-CLI(config)#access-list InsidetoOutside extended deny tcp host 172.20.1.100 any eq www ASA-AIP-CLI(config)#access-list InsidetoOutside extended permit tcp any any ASA-AIP-CLI(config)#access-group InsidetoOutside in interface inside
A configuração inicial mostra que as interfaces "DMZ" e "DMZ-2-test" estão configuradas com nível de segurança (50); por padrão, essas duas interfaces não podem conversar. Aqui permitimos que essas interfaces conversem com este comando:
ASA-AIP-CLI(config)# same-security-traffic permit interinterface
Nota:Mesmo que o comando "same-security traffic permit inter-interface" tenha sido configurado para as interfaces com o mesmo nível de segurança ("DMZ" e "DMZ-2-testing"), uma regra de conversão (estática/dinâmica) ainda é necessária para possibilitar o acesso aos recursos ligados a essas interfaces.
Esta seção fornece informações que podem ser usadas para o troubleshooting da sua configuração.
Troubleshooting de conexões via PIX e ASA
Configurações de NATigalize o NAT e a solução de problemas
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
24-Oct-2008 |
Versão inicial |