Segurança : Dispositivos de segurança Cisco PIX 500 Series

Permitindo Conexões PPTP/L2TP Através do PIX/ASA

25 Junho 2009 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (5 Fevereiro 2008) | Feedback

Índice

Introdução
Pré-requisitos
      Requisitos
      Componentes Utilizados
      Teoria de Apoio
      Convenções
PPTP com Cliente Interno e Servidor Externo
      Diagrama de Rede
      Comandos a Serem Adicionados à Versão 6.2 e a Versões Anteriores
      Comandos a Serem Adicionados à Versão 6.3
      Comandos a Serem Adicionados às Versões 7.x e 8.0 Usando Inspeção
      Comandos a Serem Adicionados às Versões 7.x e 8.0 Usando uma ACL
      Configuração das Versões 6.2 e Anteriores
L2TP com Cliente Interno e Servidor Externo
PPTP com Cliente Externo e Servidor Interno
      Diagrama de Rede
      Comandos a Serem Adicionados a Todas as Versões
L2TP com Cliente Externo e Servidor Interno
Permissão de Conexão L2TP Sobre IPsec Através do PIX/ASA 7.x e Superior
Verificação
Troubleshooting
      Falha em Várias Conexões PPTP/L2TP ao Usar o PAT
      Comandos Debug
Informações a Serem Coletadas ao Abrir um Pedido de Serviço do TAC
Discussões relacionadas da comunidade de suporte da Cisco

Introdução

Este documento aborda a configuração necessária no Cisco Secure PIX Firewall para que um cliente PPTP (Point-to-Point Tunneling Protocol)/L2TP (Layer 2 Tunneling Protocol) se conecte a um servidor PPTP através do NAT (Network Address Translation).

Consulte a seção Configuração do Cisco Secure PIX Firewall para Usar o PPTP a fim de configurar um security appliance para aceitar conexões PPTP.

Para configurar o L2TP sobre IPsec (IP Security) entre clientes remotos Microsoft Windows 2000/2003 e Windows XP e um escritório corporativo com o PIX/ASA Security Appliance que utilizam chaves pré-compartilhadas com o Microsoft Windows 2003 Internet, consulte Exemplo de Configuração do L2TP sobre IPsec Entre um PC Windows 2000/XP e o PIX/ASA 7.2 Usando Chaves Pré-compartilhadas.

Pré-requisitos

Requisitos

Para testar essa configuração, você deverá ter um cliente e um servidor PPTP operacionais antes de utilizar o PIX.

Componentes Utilizados

As informações neste documento se baseiam nas versões de software a seguir:

  • Cisco PIX Firewall Versões 6.x e posteriores

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração padrão. Se a sua rede estiver em um ambiente de produção, esteja ciente do impacto potencial de qualquer comando.

Teoria de Apoio

O PPTP é descrito na RFC 2637 leavingcisco.com. Esse protocolo usa uma conexão TCP que utiliza a porta 1723 e uma extensão do GRE (generic routing encapsulation) [protocolo 47] para transportar os dados propriamente ditos (frame PPP). A conexão TCP é iniciada pelo cliente e, em seguida, a conexão GRE é iniciada pelo servidor.

Informações sobre a Versão 6.2 e Versões Anteriores

Como a conexão PPTP é iniciada como TCP em uma porta e a resposta é o protocolo GRE, o PIX ASA (Adaptive Security Algorithm) não sabe que os fluxos de tráfego estão relacionados. Como resultado, é necessário configurar ACLs para permitir que o tráfego de retorno chegue ao PIX. O PPTP através do PIX com NAT (mapeamento de endereços de um para um) funciona porque o PIX usa as informações sobre as portas no cabeçalho TCP ou UDP (User Datagram Protocol) para manter controle da conversão. O PPTP através do PIX com PAT (Port Address Translation) não funciona porque não existe o conceito de portas no GRE.

Informações sobre a Versão 6.3

O recurso de ajuste do PPTP disponível na versão 6.3 permite que o tráfego PPTP passe pelo PIX quando configurado para PAT. A inspeção de pacotes PPTP stateful também é executada no processo. O comando fixup protocol pptp inspeciona os pacotes PPTP e cria dinamicamente as conversões e as conexões GRE necessárias para permitir o tráfego PPTP. Especificamente, o firewall inspeciona os anúncios de versão do PPTP e a sequência de pedidos de chamada de saída/resposta. Conforme definido na RFC 2637, somente o PPTP Versão 1 é inspecionado. Uma inspeção adicional no canal de controle TCP será desativada se a versão anunciada por qualquer um dos lados não for a 1. Além disso, a sequência de pedidos de chamada de saída e respostas será rastreada. As conexões e/ou as conversões são alocadas dinamicamente, conforme o necessário, a fim de permitir o tráfego de dados GRE secundário subsequente. O recurso de ajuste do PPTP deverá ser ativado para que o tráfego PPTP possa ser convertido pelo PAT.

Informações sobre a Versão 7.x

Na versão 7.x, o Application Inspection Engine do PPTP funciona da mesma forma que o comando fixup protocol pptp na versão 6.3.

Convenções

Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.

PPTP com Cliente Interno e Servidor Externo

Diagrama de Rede

Este documento usa a seguinte configuração de rede:

pix_pptp_01.gif

Nota: Os esquemas de endereçamento IP utilizados nesta configuração não são legalmente roteáveis na Internet. Eles são endereços da RFC 1918 que foram usados em um ambiente de laboratório.

Comandos a Serem Adicionados à Versão 6.2 e a Versões Anteriores

Execute estes passos para adicionar comandos à versão 6.2:

  1. Defina o mapeamento estático para o PC interno. O endereço externo é 192.168.201.5.

    pixfirewall(config)#static (inside,outside) 192.168.201.5  10.48.66.106
                          netmask 255.255.255.255 0 0
    
  2. Configure e aplique a ACL a fim de permitir o tráfego de retorno GRE do servidor PPTP para o cliente PPTP.

    pixfirewall(config)#access-list acl-out permit gre host 192.168.201.25
                          host 192.168.201.5 
    
  3. Aplique a ACL.

    pixfirewall(config)#access-group acl-out in interface outside
    

Comandos a Serem Adicionados à Versão 6.3

Execute estes passos para adicionar comandos à versão 6.3:

  1. Ative o protocolo de ajuste pptp 1723 usando este comando.

    pixfirewall(config)#fixup protocol pptp 1723
    
  2. Não é necessário definir um mapeamento estático porque o protocolo de ajuste PPTP está ativado. Você pode utilizar o PAT.

    pixfirewall(config)#nat (inside) 1 0.0.0.0 0.0.0.0 0 0
    
    pixfirewall(config)#global (outside) 1 interface
    

Comandos a Serem Adicionados às Versões 7.x e 8.0 Usando Inspeção

Execute estes passos a fim de adicionar comandos às versões 7.x e 8.0 usando o comando inspect:

  1. Adicione a inspeção PPTP ao mapa de políticas padrão usando o mapa de classes padrão.

    pixfirewall(config)#policy-map global_policy
    
    pixfirewall(config-pmap)#class inspection_default
    
    pixfirewall(config-pmap-c)#inspect pptp
    
  2. Não é necessário definir um mapeamento estático porque agora o PIX inspeciona o tráfego PPTP. Você pode utilizar o PAT.

    pixfirewall(config)#nat (inside) 1 0.0.0.0 0.0.0.0 0 0
    
    pixfirewall(config)#global (outside) 1 interface
    

    OU

Comandos a Serem Adicionados às Versões 7.x e 8.0 Usando uma ACL

Execute estes passos a fim de adicionar comandos às versões 7.x e 8.0 usando uma ACL.

  1. Defina o mapeamento estático para o PC interno. O endereço externo é 192.168.201.5.

    pixfirewall(config)#static (inside,outside) 192.168.201.5  10.48.66.106
                          netmask 255.255.255.255 0 0
    
  2. Configure e aplique a ACL a fim de permitir o tráfego de retorno GRE do servidor PPTP para o cliente PPTP.

    pixfirewall(config)#access-list acl-out permit gre host 192.168.201.25
                          host 192.168.201.5 
    pixfirewall(config)#access-list acl-out permit tcp host 192.168.201.25
                          host 192.168.201.5 eq 1723
    
  3. Aplique a ACL.

    pixfirewall(config)#access-group acl-out in interface outside
    

Configuração das Versões 6.2 e Anteriores

Configuração do PIX - Cliente Interno, Servidor Externo

pixfirewall(config)#write terminal 
Building configuration...
: Saved
:
PIX Version 6.2(1)
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 intf2 security10
enable password Ujkil6aDv2yp6suI encrypted
passwd OnTrBUG1Tp0edmkr encrypted
hostname pixfirewall
domain-name cisco.com
fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol ils 389
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060
fixup protocol skinny 2000
no names

!--- Esta linha permite o tráfego de GRE do
!--- servidor PPTP para o cliente.

access-list acl-out permit gre host 192.168.201.25  host 192.168.201.5 
pager lines 24
logging on
logging console debugging
logging trap debugging
interface ethernet0 auto
interface ethernet1 auto
interface ethernet2 auto shutdown
mtu outside 1500
mtu inside 1500
mtu intf2 1500
ip address outside 209.165.201.1 255.255.255.224
ip address inside 10.48.66.47 255.255.254.0
ip address intf2 127.0.0.1 255.255.255.255
ip audit info action alarm
ip audit attack action alarm
no failover
failover timeout 0:00:00
failover poll 15
failover ip address outside 0.0.0.0
failover ip address inside 0.0.0.0
failover ip address intf2 0.0.0.0
pdm history enable
arp timeout 14400

!--- Isto permite o tráfego de uma interface de segurança baixa para
!--- uma interface de segurança alta.

static (inside,outside) 192.168.201.5  10.48.66.106 netmask 255.255.255.255 0 0

!--- Isto aplica a lista de acesso à interface externa.

access-group acl-out in interface outside
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00
h323 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute uauth 0:04:00 inactivity
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server LOCAL protocol local
no snmp-server location
no snmp-server contact
snmp-server community public
snmp-server enable traps
no floodguard enable
no sysopt route dnat
telnet timeout 5
ssh timeout 5
terminal width 80
Cryptochecksum:18bdf8e21bd72ec0533795549165ecf5
: end
[OK]

L2TP com Cliente Interno e Servidor Externo

Execute estes passos a fim de adicionar comandos às versões 7.x e 8.x que utilizam uma CL. (Esta configuração considera que os endereços IP do cliente e do servidor PPTP são os mesmos do cliente e do servidor L2TP.)

  1. Defina o mapeamento estático para o PC interno. O endereço externo é 192.168.201.5.

    pixfirewall(config)#static (inside,outside) 192.168.201.5  10.48.66.106
                          netmask 255.255.255.255 0 0
    
  2. Configure e aplique a ACL a fim de permitir o tráfego de retorno L2TP do servidor para o cliente L2TP.

    pixfirewall(config)#
    pixfirewall(config)#access-list acl-out permit udp host 192.168.201.25
                          host 192.168.201.5 eq 1701
    
  3. Aplique a ACL.

    pixfirewall(config)#access-group acl-out in interface outside
    

PPTP com Cliente Externo e Servidor Interno

Diagrama de Rede

pix_pptp_02.gif

Nota: Os esquemas de endereçamento IP utilizados nesta configuração não são legalmente roteáveis na Internet. Eles são endereços da RFC 1918 que foram usados em um ambiente de laboratório.

Comandos a Serem Adicionados a Todas as Versões

Neste exemplo de configuração, o servidor PPTP tem o endereço 192.168.201.5 (estático para 10.48.66.106 interno) e o cliente PPTP está localizado no endereço 192.168.201.25.

access-list acl-out permit gre host 192.168.201.25  host 192.168.201.5 
access-list acl-out permit tcp host 192.168.201.25  host 192.168.201.5  eq 1723
static (inside,outside) 192.168.201.5  10.48.66.106 netmask 255.255.255.255 0 0
access-group acl-out in interface outside

L2TP com Cliente Externo e Servidor Interno

Neste exemplo de configuração, o servidor L2TP tem o endereço 192.168.201.5 (estático para 10.48.66.106 interno) e o cliente L2TP está localizado no endereço 192.168.201.25. (Esta configuração considera que os endereços IP do cliente e do servidor PPTP são os mesmos do cliente e do servidor L2TP.)

access-list acl-out permit udp host 192.168.201.25  host 192.168.201.5  eq 1701
static (inside,outside) 192.168.201.5  10.48.66.106 netmask 255.255.255.255 0 0
access-group acl-out in interface outside

Permissão de Conexão L2TP Sobre IPsec Através do PIX/ASA 7.x e Superior

O cliente L2TP externo tenta estabelecer a conexão VPN via L2TP sobre IPsec com o servidor L2TP interno. Para permitir que os pacotes L2TP sobre IPsec passem pelo PIX/ASA intermediário, você deve autorizar a porta ESP, ISAKMP(500), NAT-T e L2TP 1701 a estabelecer o túnel. Os pacotes L2TP são convertidos no PIX e enviados através do túnel VPN.

pix_pptp_03.gif

global (outside) 1 interface
nat (inside) 0 0.0.0.0 0.0.0.0
static (inside,outside) 10.99.99.12 10.1.1.2 netmask 255.255.255.255
access-group outside_access_in in interface outside

access-list outside_access_in remark Access Rule to Allow ESP traffic
access-list outside_access_in extended permit esp host 10.99.99.2
            host 10.99.99.12

access-list outside_access_in remark Access Rule to allow ISAKMP to
            host 10.99.99.12
access-list outside_access_in extended permit udp host 10.99.99.2 eq isakmp
            host 10.99.99.12

access-list outside_access_in remark Access Rule to allow port 4500 (NAT-T) to
            host 10.99.99.12
access-list outside_access_in extended permit udp host 10.99.99.2 eq 4500
            host 10.99.99.12

access-list outside_access_in remark Access Rule to allow port 1701 (L2TP) to
            host 10.99.99.12
access-list outside_access_in extended permit udp host 10.99.99.2 eq 4500
            host 10.99.99.12

Verificação

No momento, não há procedimento de verificação disponível para este documento.

Troubleshooting

Esta seção fornece informações que podem ser usadas para o troubleshooting da sua configuração.

Falha em Várias Conexões PPTP/L2TP ao Usar o PAT

Você só poderá ter uma conexão PPTP/L2TP através do PIX Security Appliance quando usar o PAT. Isso ocorre porque a conexão GRE necessária é estabelecida na porta 0 e o PIX Security Appliance mapeia somente essa porta para o host.

Comandos Debug

A Output Interpreter Tool (somente clientes registrados) (OIT) oferece suporte a determinados comandos show. Use a OIT para exibir uma análise da saída do comando show.

Nota: Consulte Informações Importantes sobre Comandos Debug antes de usar comandos debug.

Este exemplo mostra um cliente PPTP interno no PIX iniciando uma conexão com um servidor PPTP externo quando não há uma ACL configurada para permitir o tráfego GRE. Com a depuração do log no PIX, é possível ver o tráfego da porta TCP 1723 ser iniciado no cliente e o tráfego de retorno do protocolo GRE 47 ser rejeitado.

pixfirewall(config)#loggin on
pixfirewall(config)#loggin console 7
pixfirewall(config)#302013: Built outbound TCP connection 4 for outside:
192.168.201.25 /1723 (192.168.201.25 /1723) to inside:10.48.66.106/4644
   (192.168.201.5 /4644)
106010: Deny inbound protocol 47 src outside:192.168.201.25  dst
   inside:192.168.201.5
106010: Deny inbound protocol 47 src outside:192.168.201.25  dst
   inside:192.168.201.5 

Informações a Serem Coletadas ao Abrir um Pedido de Serviço do TAC

Se você ainda precisar de assistência após seguir os passos de troubleshooting descritos anteriormente e desejar criar um pedido de serviço no TAC Cisco, certifique-se de incluir estas informações:

  • Descrição do problema e detalhes relevantes de topologia

  • Troubleshooting realizado antes da abertura do pedido de serviço

  • Saída do comando show tech-support

  • Saída do comando show log após a execução do comando logging buffered debugging ou capturas do console que demonstrem o problema (se disponível)

Anexe os dados coletados ao seu pedido de serviço em formato de texto simples, não compactado (.txt). Você pode anexar informações ao seu pedido de serviço carregando-as com a ferramenta Service Request Query Tool (somente clientesregistrados). Se você não conseguir acessar essa ferramenta, envie as informações na forma de um anexo de email para attach@cisco.com com o número do pedido de serviço na linha de assunto da sua mensagem.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 18806