Contents

Introduction

Configurar AWS

Configurar o ASA

Verificar e otimizar

Introduction

Este documento descreve como configurar uma conexão de Interface de Túnel Virtual (VTI - Virtual Tunnel Interface) IPsec do Adaptive Security Appliance (ASA). No ASA 9.7.1, o IPsec VTI foi apresentado.  Ela é limitada ao sVTI IPv4 sobre IPv4 usando IKEv1 nesta versão.  Este é um exemplo de configuração para que o ASA se conecte aos Serviços Web da Amazon (AWS).

Note: Atualmente, o VTI só é suportado no modo roteado e de contexto único.

Configurar AWS

Etapa 1.

Faça login no console AWS e navegue até o painel VPC.

Navegue até o Painel do VPC

Etapa 2.

Confirme se uma nuvem privada virtual (VPC) já foi criada.  Por padrão, um VPC com 172.31.0.0/16 é criado. É aqui que as máquinas virtuais (VMs) serão anexadas.

Etapa 3.

Crie um "Gateway do cliente".  Este é um endpoint que representa o ASA.

Campo

Valor

Etiqueta de nome

Este é apenas um nome legível por humanos para reconhecer o ASA.

Roteamento

Dinâmico - Isso significa que o Border Gateway Protocol (BGP) será usado para trocar informações de roteamento.

IP Address

Esse é o endereço IP público da interface externa do ASA.

BGP ASN

O número do sistema autônomo (AS) do processo BGP que é executado no ASA. Use 65000 a menos que sua empresa tenha um número AS público.

Etapa 4.

Crie um Virtual Private Gateway (VPG).  Este é um roteador simulado hospedado com AWS que termina o túnel IPsec.

Campo

Valor

Etiqueta de nome

Um nome legível por humanos para reconhecer o VPG.

Etapa 5.

Conecte o VPG ao VPC.

Escolha o Virtual Private Gateway, clique em Attach to VPC, escolha o VPC na lista suspensa VPC e clique em Yes, Attach (Sim, anexar).

Etapa 6.

Crie uma conexão VPN.

Campo

Valor

Etiqueta de nome

Uma marca legível por humanos da conexão VPN entre o AWS e o ASA.

Virtual Private Gateway

Escolha o VPG recém-criado.

Gateway do cliente

Clique no botão de opção Existente e escolha o gateway do ASA.

Opções de roteamento

Clique no botão de opção Dynamic (Requer BGP).

Passo 7.

Configure a tabela de rotas para propagar as rotas aprendidas do VPG (via BGP) para o VPC.

Etapa 8.

Faça o download da configuração sugerida.  Escolha os valores abaixo para gerar uma configuração que seja uma configuração de estilo VTI.

Campo

Valor

Fornecedor

Cisco Systems, Inc.

Platform

Roteadores série ISR

Software

IOS 12.4+

Configurar o ASA

Depois de fazer o download da configuração, é necessária alguma conversão.

Etapa 1.

crypto isakmp policy para crypto ikev1 policy.  Só é necessária uma política, uma vez que a política 2000 e a política 2010 são idênticas.

Configuração sugerida

Para

crypto isakmp policy 200

encryption aes 128

Pré-compartilhamento de autenticação

grupo 2

duração 28800

hash sha

sair

crypto isakmp policy 201

encryption aes 128

Pré-compartilhamento de autenticação

grupo 2

duração 28800

hash sha

sair

crypto ikev1 enable outside

crypto ikev1 policy 10

Pré-compartilhamento de autenticação

aes de criptografia

hash sha

grupo 2

duração 28800

Etapa 2.

crypto ipsec transform-set para crypto ipsec ikev1 transform-set.  Somente um conjunto de transformação é necessário, pois os dois conjuntos de transformação são idênticos.

Configuração sugerida

Para

crypto ipsec transform-set ipsec-prop-vpn-7c79606e-0 esp-aes 128 esp-sha-hmac

túnel de modo

sair

crypto ipsec transform-set ipsec-prop-vpn-7c79606e-1 esp-aes 128 esp-sha-hmac

túnel de modo

sair

crypto ipsec ikev1 transform-set AWS esp-aes esp-sha-hmac

Etapa 3.

crypto ipsec profile para crypto ipsec profile.  Somente um perfil é necessário, pois os dois perfis são idênticos.

Configuração sugerida

Para

crypto ipsec profile ipsec-vpn-7c79606e-0

set pfs group2

set security-association lifetime seconds 3600

set transform-set ipsec-prop-vpn-7c79606e-0

sair

crypto ipsec profile ipsec-vpn-7c79606e-1

set pfs group2

set security-association lifetime seconds 3600

set transform-set ipsec-prop-vpn-7c79606e-1

sair

crypto ipsec profile AWS

set ikev1 transform-set AWS

set pfs group2

set security-association lifetime seconds 3600

Etapa 4.

crypto keyring e crypto isakmp profile precisam ser convertidos em um tunnel-group one para cada túnel.

Configuração sugerida

Para

crypto keyring keyring-vpn-7c79606e-0

endereço local 64.100.251.37

endereço de chave pré-compartilhada 52.34.205.227 chave QZhh90Bjf

sair

!

crypto isakmp profile isakmp-vpn-7c79606e-0

endereço local 64.100.251.37

match identity address 52.34.205.227

keyring-vpn-7c79606e-0

sair

!

crypto keyring keyring-vpn-7c79606e-1

endereço local 64.100.251.37

endereço de chave pré-compartilhada 52.37.194.219 chave JjxCWy4Ae

sair

!

crypto isakmp profile isakmp-vpn-7c79606e-1

endereço local 64.100.251.37

match identity address 52.37.194.219

keyring-vpn-7c79606e-1

sair

tunnel-group 52.34.205.227 type ipsec-l2l

tunnel-group 52.34.205.227 ipsec-attribute

ikev1 chave pré-compartilhada QZhh90Bjf

isakmp keepalive threshold 10 retry 10

tunnel-group 52.37.194.219 type ipsec-l2l

tunnel-group 52.37.194.219 ipsec-attribute

ikev1 chave pré-compartilhada JjxCWy4Ae

isakmp keepalive threshold 10 retry 10

Etapa 5.

A configuração do túnel é quase idêntica. O ASA não suporta o ip tcp adjust-mss ou o comando ip virtual-reassembly.

Configuração sugerida

Para

interface Tunnel1

endereço ip 169.254.13.190 255.255.255.252

ip virtual-reassembly

tunnel source 64.100.251.37

tunnel destination 52.34.205.227

ipsec ipv4 de modo de túnel

proteção de túnel ipsec perfil ipsec-vpn-7c79606e-0

ip tcp adjust-mss 1387

no shutdown

sair

!

túnel de interface2

endereço ip 169.254.12.86 255.255.255.252

ip virtual-reassembly

tunnel source 64.100.251.37

tunnel destination 52.37.194.219

ipsec ipv4 de modo de túnel

proteção de túnel ipsec perfil ipsec-vpn-7c79606e-1

ip tcp adjust-mss 1387

no shutdown

sair

interface Tunnel1

nome AWS1

endereço ip 169.254.13.190 255.255.255.252

tunnel source interface outside

tunnel destination 52.34.205.227

ipsec ipv4 de modo de túnel

proteção de túnel IPSec perfil AWS

!

túnel de interface2

nome AWS2

endereço ip 169.254.12.86 255.255.255.252

tunnel source interface outside

tunnel destination 52.37.194.219

ipsec ipv4 de modo de túnel

proteção de túnel IPSec perfil AWS

Etapa 6.

Neste exemplo, o ASA anunciará somente a sub-rede interna (192.168.1.0/24) e receberá a sub-rede no AWS (172.31.0.0/16).

Configuração sugerida

Para

router bgp 65000

neighbor 169.254.13.189 remote-as 7224

neighbor 169.254.13.189 ativado

neighbor 169.254.13.189 timers 10 30 30

address-family ipv4 unicast

neighbor 169.254.13.189 remote-as 7224

neighbor 169.254.13.189 timers 10 30 30

neighbor 169.254.13.189 default-originate

neighbor 169.254.13.189 ativado

neighbor 169.254.13.189 soft-reconfiguration inbound

network 0.0.0.0

sair

sair

router bgp 65000

neighbor 169.254.12.85 remote-as 7224

neighbor 169.254.12.85 ativado

neighbor 169.254.12.85 timers 10 30 30

address-family ipv4 unicast

neighbor 169.254.12.85 remote-as 7224

neighbor 169.254.12.85 timers 10 30 30

neighbor 169.254.12.85 default-originate

neighbor 169.254.12.85 ativado

neighbor 169.254.12.85 soft-reconfiguration inbound

network 0.0.0.0

sair

sair

router bgp 65000

bgp log-neighbor-changes

timers bgp 10 30 0

address-family ipv4 unicast

neighbor 169.254.12.85 remote-as 7224

neighbor 169.254.12.85 ativado

neighbor 169.254.13.189 remote-as 7224

neighbor 169.254.13.189 ativado

network 192.168.1.0

no autossummary

sem sincronização

exit-address-family

Verificar e otimizar

Etapa 1.

Confirme se o ASA estabelece as associações de segurança IKEv1 com os dois endpoints no AWS. O estado da SA deve ser MM_ATIVE.

ASA# show crypto ikev1 sa

IKEv1 SAs:

Active SA: 2

Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)

Total IKE SA: 2

1   IKE Peer: 52.37.194.219

Type    : L2L             Role    : initiator

Rekey   : no              State   : MM_ACTIVE

2   IKE Peer: 52.34.205.227

Type    : L2L             Role    : initiator

Rekey   : no              State   : MM_ACTIVE

ASA#

Etapa 2.

Confirme se as SAs IPsec estão instaladas no ASA. Deve haver um SPI de entrada e saída instalado para cada peer e deve haver alguns contadores encaps e decaps incrementando.

ASA# show crypto ipsec sa

interface: AWS1

Crypto map tag: __vti-crypto-map-5-0-1, seq num: 65280, local addr: 64.100.251.37

access-list __vti-def-acl-0 extended permit ip any any

local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer: 52.34.205.227

#pkts encaps: 2234, #pkts encrypt: 2234, #pkts digest: 2234

#pkts decaps: 1234, #pkts decrypt: 1234, #pkts verify: 1234

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 2234, #pkts comp failed: 0, #pkts decomp failed: 0

#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

#TFC rcvd: 0, #TFC sent: 0

#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0

#send errors: 0, #recv errors: 0

local crypto endpt.: 64.100.251.37/4500, remote crypto endpt.: 52.34.205.227/4500

path mtu 1500, ipsec overhead 82(52), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: 874FCCF3

current inbound spi : 5E653906

inbound esp sas:

spi: 0x5E653906 (1583692038)

transform: esp-aes esp-sha-hmac no compression

in use settings ={L2L, Tunnel,  NAT-T-Encaps, PFS Group 2, IKEv1, VTI, }

slot: 0, conn_id: 73728, crypto-map: __vti-crypto-map-5-0-1

sa timing: remaining key lifetime (kB/sec): (4373986/2384)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0xFFFFFFFF 0xFFFFFFFF

outbound esp sas:

spi: 0x874FCCF3 (2270153971)

transform: esp-aes esp-sha-hmac no compression

in use settings ={L2L, Tunnel,  NAT-T-Encaps, PFS Group 2, IKEv1, VTI, }

slot: 0, conn_id: 73728, crypto-map: __vti-crypto-map-5-0-1

sa timing: remaining key lifetime (kB/sec): (4373986/2384)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

interface: AWS2

Crypto map tag: __vti-crypto-map-6-0-2, seq num: 65280, local addr: 64.100.251.37

access-list __vti-def-acl-0 extended permit ip any any

local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer: 52.37.194.219

#pkts encaps: 1230, #pkts encrypt: 1230, #pkts digest: 1230

#pkts decaps: 1230, #pkts decrypt: 1230, #pkts verify: 1230

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 1230, #pkts comp failed: 0, #pkts decomp failed: 0

#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

#TFC rcvd: 0, #TFC sent: 0

#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0

#send errors: 0, #recv errors: 0

local crypto endpt.: 64.100.251.37/4500, remote crypto endpt.: 52.37.194.219/4500

path mtu 1500, ipsec overhead 82(52), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: DC5E3CA8

current inbound spi : CB6647F6

inbound esp sas:

spi: 0xCB6647F6 (3412477942)

transform: esp-aes esp-sha-hmac no compression

in use settings ={L2L, Tunnel,  NAT-T-Encaps, PFS Group 2, IKEv1, VTI, }

slot: 0, conn_id: 77824, crypto-map: __vti-crypto-map-6-0-2

sa timing: remaining key lifetime (kB/sec): (4373971/1044)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0xFFFFFFFF 0xFFFFFFFF

outbound esp sas:

spi: 0xDC5E3CA8 (3697163432)

transform: esp-aes esp-sha-hmac no compression

in use settings ={L2L, Tunnel,  NAT-T-Encaps, PFS Group 2, IKEv1, VTI, }

slot: 0, conn_id: 77824, crypto-map: __vti-crypto-map-6-0-2

sa timing: remaining key lifetime (kB/sec): (4373971/1044)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

Etapa 3.

No ASA, confirme se as conexões BGP estão estabelecidas com o AWS.  O contador State/PfxRcd deve ser 1, pois o AWS anuncia a sub-rede 172.31.0.0/16 para o ASA.

ASA# show bgp summary

BGP router identifier 192.168.1.55, local AS number 65000

BGP table version is 5, main routing table version 5

2 network entries using 400 bytes of memory

3 path entries using 240 bytes of memory

3/2 BGP path/bestpath attribute entries using 624 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 1288 total bytes of memory

BGP activity 3/1 prefixes, 4/1 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

169.254.12.85   4         7224 1332    1161           5    0    0 03:41:31  1

169.254.13.189  4         7224 1335    1164           5    0    0 03:42:02  1

Etapa 4.

No ASA, verifique se a rota para 172.31.0.0/16 foi aprendida através das interfaces de túnel.  Essa saída mostra que há dois caminhos para 172.31.0.0 do peer 169.254.12.85 e 169.254.13.189. O caminho para 169.254.13.189 out Tunnel 2 (AWS2) é preferido devido à métrica mais baixa.

ASA# show bgp

BGP table version is 5, local router ID is 192.168.1.55

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*  172.31.0.0       169.254.12.85      200             0  7224 i

*>                  169.254.13.189     100             0  7224 i

*> 192.168.1.0      0.0.0.0              0         32768  i

ASA# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is 64.100.251.33 to network 0.0.0.0

S*       0.0.0.0 0.0.0.0 [1/0] via 64.100.251.33, outside

C        64.100.251.32 255.255.255.224 is directly connected, outside

L        64.100.251.37 255.255.255.255 is directly connected, outside

C        169.254.12.84 255.255.255.252 is directly connected, AWS2

L        169.254.12.86 255.255.255.255 is directly connected, AWS2

C        169.254.13.188 255.255.255.252 is directly connected, AWS1

L        169.254.13.190 255.255.255.255 is directly connected, AWS1

B        172.31.0.0 255.255.0.0 [20/100] via 169.254.13.189, 03:52:55

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.55 255.255.255.255 is directly connected, inside

Etapa 5.

Para garantir que o tráfego que retorna do AWS siga um caminho simétrico, configure um mapa de rota para corresponder ao caminho preferencial e ajuste o BGP para alterar as rotas anunciadas.

route-map toAWS1 permit 10

set metric 100

exit

!

route-map toAWS2 permit 10

set metric 200

exit

!

router bgp 65000

address-family ipv4 unicast

neighbor 169.254.12.85 route-map toAWS2 out

neighbor 169.254.13.189 route-map toAWS1 out

Etapa 6.

No ASA, confirme se 192.168.1.0/24 é anunciado ao AWS.

ASA# show bgp neighbors 169.254.12.85 advertised-routes

BGP table version is 5, local router ID is 192.168.1.55

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 172.31.0.0       169.254.13.189     100             0  7224 i

*> 192.168.1.0      0.0.0.0              0         32768  i

Total number of prefixes 2

ASA# show bgp neighbors 169.254.13.189 advertised-routes

BGP table version is 5, local router ID is 192.168.1.55

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 192.168.1.0      0.0.0.0              0         32768  i

Total number of prefixes 1

Passo 7.

No AWS, confirme se os túneis para a conexão VPN estão UP e se as rotas são aprendidas do peer.  Verifique também se a rota foi propagada na tabela de roteamento.