quinta-feira, 25 de janeiro de 2018

Firewall Cisco ASA - Configurando uma VPN IPsec Site-to-Site (IKEv2)

Neste post estão relacionados os comandos básicos para a criação de um túnel IPsec Site-to-Site utilizando o método de autenticação IKEv2. Nos testes realizados foram utilizados dois firewalls Cisco ASA modelo 5510 com versão de software 9.1.

Para a configuração da VPN você precisará criar um perfil de conexão onde serão definidos os parâmetros para o estabelecimento do túnel. Uma conexão VPN ocorre em duas etapas, chamadas de fase 1 e fase 2. Em cada uma delas nós indicamos os algoritmos de criptografia e hash que serão utilizados. Para a autenticação dos dispositivos nós usaremos uma chave pré-compartilhada (PSK).

ETAPAS
  1. Criação de uma IKE Policy (Definição dos parâmetros da fase 1);
  2. Habilitar a IKE Policy na interface outside;
  3. Criação do IPsec-Proposal (Definição dos parâmetros da fase 2);
  4. Criação de um Tunnel Group;
  5. Criação de uma ACL (Definição do tráfego de interesse);
  6. Configuração do Crypto Map;

......................................................

CONFIGURAÇÃO

1. Criação da IKE Policy (Fase 1)

 # crypto ikev2 policy <priority>

Na criação de uma política IKEv2 são definidos os parâmetros de criptografia, hash, autenticação, Diffie-Hellman e lifetime. Uma vez criada a política ela poderá ser utilizada em outros perfis de conexão VPN. 

Você precisará atribuir um número de prioridade para cada política. O interessante é definir um conjunto de combinações de encryption e hash e posicionar as cifras mais fortes primeiro (Menor valor de priority). No momento da negociação de uma SA os pares tentam encontrar uma configuração correspondente entre as várias políticas existentes respeitando a ordem de prioridade.



 # encryption <algoritmo de criptografia>

Você deve especificar um algoritmo de criptografia entre as opções disponíveis para a proteção dos dados.

Opções:
3des        - 3des encryption
aes         - aes-128 encryption
aes-192     - aes-192 encryption
aes-256     - aes-256 encryption
des         - des encryption




 # integrity <algoritmo de hash>

Nesse ponto é preciso especificar um algoritmo de hash que será utilizado pelos pares para garantir que as mensagens não tenham sido modificadas durante a transmissão.

Opções:
md5     - set hash md5
sha     - set hash sha1
sha256  - set hash sha256
sha384  - set hash sha384
sha512  - set hash sha512



 # group <ID do grupo Diffie-Hellman >

Você deve especificar o ID do grupo Diffie-Hellman entre as opções disponíveis. O Firewall ASA utiliza esse algoritmo para derivar as chaves de criptografia e hash. O grupo default é 2.

Opções:
1     - Diffie-Hellman group 1
2     - Diffie-Hellman group 2
5     - Diffie-Hellman group 5
14    - Diffie-Hellman group 14
19    - Diffie-Hellman group 19
20    - Diffie-Hellman group 20
21    - Diffie-Hellman group 21
24    - Diffie-Hellman group 24



 # lifetime <valor em segundos>

Você deve especificar o valor do lifetime para a Secure Association. Esse valor corresponde ao período de tempo para o uso das chaves de criptografia. Ao término desse período a chave é substituída. Se os valores definidos não forem correspondentes entre os dispositivos envolvidos, será escolhido o menor valor. O default é 86400 (24horas).


EXEMPLO
(config)# crypto ikev2 policy 1
(config-ikev2-policy)# encryption aes-256
(config-ikev2-policy)# integrity sha256
(config-ikev2-policy)# group 2
(config-ikev2-policy)# lifetime 28800



2 . Habilitar a IKE Policy na interface outside

 # crypto ikev2 enable <nome da interface outside>

O comando permite habilitar o IKEv2 na interface de saída do firewall.



3 . Criação do IPsec Proposal (Fase 2)

 # crypto ipsec ikev2 ipsec-proposal <Nome do IPsec>
 # protocol esp encryption [ 3des | aes | aes-192 | aes-256 | des ]
 # protocol esp integrity [ md5 | sha-1 ] 

O transform-set é utilizado pelos pares durante as negociações de uma associação de segurança para o estabelecimento de uma VPN IPsec. Você precisará indicar um nome para a identificação do transform set e definir os algoritmos de criptografia e hash utilizados para esse túnel. 

Abaixo estão indicadas as opções disponíveis. Ao definir essas opções elas poderão ser utilizadas em outros perfis de conexão VPN.


EXEMPLO
(config)# crypto ipsec ikev2 ipsec-proposal ESP-AES-256-SHA-256
(config-ipsec-proposal)# protocol esp encryption aes-256
(config-ipsec-proposal)# protocol esp integrity sha-1



4 . Criação de um Tunnel Group 

 # tunnel-group <endereço IP do peertype ipsec-l2l
 # tunnel-group <endereço IP do peeripsec-attributes
 # ikev2 local-authentication pre-shared-key <chave compartilhada
 # ikev2 remote-authentication pre-shared-key <chave compartilhada>

Nessa etapa é realizada a configuração do Tunnel Group onde você informará o endereço IP do dispositivo remoto definindo o nome para a conexão e indicará a chave pré-compartilhada utilizada para o estabelecimento da VPN.



5 . Criação de uma Access-list (Classificação do tráfego de interesse)

 # access-list <nome da ACL> line <número> extended permit <protocolo> <objeto/endereço de origem> <objeto/endereço de destino>

Nessa etapa é criada uma access-list para a definição do tráfego que será encriptado no túnel VPN. No firewall ASA podem ser criados objetos e grupos de objetos para auxiliar nessa atividade. Essa access-list será vinculada a uma Crypto Map.


EXEMPLO
Objeto/Endereço de origem
(config)# object network REDE-Marketing
(config-network-object)# subnet 10.100.1.0 255.255.255.0

Objeto/Endereço de destino
(config)# object network REDE-EmpresaABC
(config-network-object)# subnet 192.168.100.0 255.255.255.0

ACL
access-list ACL_CryptoMap_1 line 1 extended permit ip object REDE-Marketing object REDE-EmpresaABC



6 . Configuração do Crypto Map

 # crypto map <Nome do Crypto Map> <número/idset peer <endereço ip do peer>

Nessa etapa você configurará o Crypto Map, definirá um nome para ele e um ID e informará o endereço IP do par remoto.


 # crypto map <Nome do Crypto Map> <número/idset ikev2 ipsec-proposal <Nome do transform-set>

Nesse comando você indicará o nome do perfil do ipsec transform-set configurado anteriormente (Passo 3).


 # crypto map <Nome do Crypto Map> <número/idmatch address <Nome da access-list>

Aqui você indicará o nome da access-list criada anteriormente (Passo 5).


 # crypto map <Nome do Crypto Mapinterface <nome da interface outside>

Nesse comando você indicará a interface de saída utilizada para o estabelecimento da VPN.


EXEMPLO
crypto map vpn_crypto_map 1 set peer <endereço ip do peer>
crypto map vpn_crypto_map 1 set ikev2 ipsec-proposal ESP-AES-256-SHA
crypto map vpn_crypto_map 1 match address ACL_CryptoMap_1
crypto map vpn_crypto_map interface outside

 _________________________________________
As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio equipamento. Para o exemplo mostrado foram utilizados Firewalls Cisco ASA modelo 5510 com versão de software 9.1.

Nenhum comentário:

Postar um comentário