terça-feira, 30 de janeiro de 2018

Firewall Cisco ASA - Verificar status de conexões VPN

Verificar informações de sessões VPN

 # show vpn-sessiondb

ou

 # show vpn-sessiondb [anyconnect | l2l | ra-ikev1-ipsec | webvpn]



Verificar o status de sessões VPN Site-to-Site

 # show vpn-sessiondb l2l filter name <nome da conexão>



Verificar informações de túneis IPsec

 # show vpn-sessiondb detail l2l



Verificar o status de sessões VPN Client-to-Site (L2TP over IPsec)

 # show vpn-sessiondb ra-ikev1-ipsec filter name <nome do usuário>



Verificar o status de sessões VPN Anyconnect

 # show vpn-sessiondb anyconnect filter name <nome do usuário>



Verificar status de sessões SSL VPN

 # show vpn-sessiondb webvpn filter name <nome do usuário>



Verificar o status das SAs (Security Associations) (Fase1)

 # show crypto [ikev1 | ikev2] sa [detail]



Verificar o status das SAs (Security Associations) (Fase2)

 # show crypto ipsec sa [detail]


 _________________________________________
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 foi utilizado um Firewall Cisco ASA modelo 5510 com versão de software 9.1.

domingo, 28 de janeiro de 2018

Firewall Cisco ASA - Verificar configurações de VPN

Verificar configurações ativas

 # show running-configuration crypto

Esse comandos mostra todas as configurações relacionadas ao serviço de VPN. Com ele você pode visualizar as informações de IPsec, crypto maps, certificados e ISAKMP.


Verificar configurações do IKE Policy (Fase1)

 # show running-config crypto [ikev1 | ikev2]



Verificar configurações do IPsec (Fase2)

 # show running-config crypto ipsec



Verificar configurações de Group-Policy

 # show running-config group-policy



Verificar configurações de Túneis VPN

 # show running-config tunnel-group



Verificar configurações de Cypto Map

 # show running-config crypto map

ou

 # show running-config crypto dynamic-map



Verificar as configurações de access-lists

 # show running-config access-list

ou

 # show access-list  <nome da ACL>



Verificar as configurações de SSL VPN

 # show running-config webvpn


 _________________________________________
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 foi utilizado um Firewall Cisco ASA modelo 5510 com versão de software 9.1.

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.

sábado, 13 de janeiro de 2018

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


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

É bom lembrar que o IKEv1 está obsoleto e é recomendado a sua substituição pelo IKEv2 (RFC 8247). As informações contidas abaixo servem apenas para mostrar como o serviço é implementado nessa versão pois em breve irei publicar as etapas necessárias para a criação de um perfil de conexão VPN com o IKEv2.
......................................................

Para a configuração da VPN é necessário cumprir algumas etapas. Na configuração via CLI é criado um perfil de conexão onde definimos os parâmetros para o estabelecimento do túnel VPN. A conexão 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 Transform (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;
  7. Criação de uma política de exceção de NAT (Opcional);

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

CONFIGURAÇÃO

1. Criação da IKE Policy (Fase 1)
Na criação de uma política IKEv1 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.


 # crypto ikev1 policy <priority>

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.



 # authentication pre-share

Para autenticação é possível utilizar o RSA através de certificado digital ou chave pré-compartilhada (PSK). Na opção acima está indicado apenas a opção de chave compartilhada.



 # 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



 # hash <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



 # 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



 # 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 ikev1 policy 1
(config-ikev1-policy)# encryption aes-256
(config-ikev1-policy)# hash sha
(config-ikev1-policy)# authentication pre-share
(config-ikev1-policy)# group 2
(config-ikev1-policy)# lifetime 28800



2 . Habilitar a IKE Policy na interface outside

 # crypto ikev1 enable <nome da interface outside>

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



3 . Criação do IPsec Transform (Fase 2)
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 a criação do túnel.

 # crypto ipsec ikev1 transform-set <Nome do IPsec> [Opção de criptografia] [Opção de hash]


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.

Opções de criptografia:
. esp-3des: esp 3des encryption
. esp-aes: esp aes 128 encryption
. esp-aes-192: esp aes 192 encryption
. esp-aes-256: esp aes 256 encryption
. esp-des: esp des encryption

Opções de hash:
. esp-md5-hmac: esp md5 authentication
. esp-sha-hmac: esp sha authentication


EXEMPLO
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac



4 . Criação de um Tunnel Group
Nessa etapa é realizada a configuração do Tunnel Group onde você informará o endereço IP do dispositivo remoto, definirá um nome para a conexão (opcional) e indicará a chave pré-compartilhada utilizada para o estabelecimento da VPN.

 # tunnel-group <endereço IP do peer> type ipsec-l2l



 # tunnel-group <endereço IP do peer> ipsec-attributes



 # ikev1 pre-shared-key <chave compartilhada>




5. Criação de uma Access-list (Classificação do tráfego de interesse)
Nessa etapa é criada uma access-list para a definição do tráfego que será encriptado no túnel VPN. No firewall Cisco ASA podem ser criados objetos e grupos de objetos para auxiliar na identificação das redes/hosts que participarão dessa comunicação. Essa access-list será vinculada a uma Crypto Map que será configurada na próxima etapa.

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



EXEMPLO
Criação de um objeto com o endereço da rede local (origem)
(config)# object network REDE-LOCAL
(config-network-object)# subnet 10.100.1.0 255.255.255.0

Criação de um objeto com o endereço da rede remota (destino)
(config)# object network REDE-REMOTA
(config-network-object)# subnet 192.168.100.0 255.255.255.0

Configuração da ACL
access-list ACL_CryptoMap_1 line 1 extended permit ip object REDE-LOCAL object REDE-REMOTA



6. Configuração do Crypto Map

 # crypto map <nome do Crypto Map> <número/id> set 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/id> set ikev1 transform-set <nome do transform-set>

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


 # crypto map <nome do Crypto Map> <número/id> match address <nome da access-list>

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


 # crypto map <nome do Crypto Map> interface <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 ikev1 transform-set ESP-AES-256-SHA
crypto map vpn_crypto_map 1 match address ACL_CryptoMap_1
crypto map vpn_crypto_map interface outside



7. Criação de uma política de exceção de NAT (Opcional)
Nessa etapa você precisará garantir que os hosts com destino a VPN preservem o seu endereço IP original. No firewall Cisco ASA isso é feito com a criação de uma política de NAT vinculando o fluxo de comunicação (indicação das interfaces de origem e destino) com os hosts/redes envolvidos.

Para a criação da política são utilizados objetos ou grupos de objetos com as informações de IP dos hosts/redes correspondentes. Você precisará criar os objetos (object network) de origem e destino e inseri-los na política de NAT.

Criação do objeto

 (config)# object network <nome do objeto>



 (config-network-object)# subnet <endereço de rede> <máscara de rede>


Criação da Política de NAT

 # nat (<interface inside>,<interface outside>) source static <objeto de origem> <objeto de origem> destination static <objeto de destino> <objeto de destino> no-proxy-arp route-lookup



EXEMPLO
Criação do objeto com o endereço da rede local
(config)# object network REDE-10-100-1-0-M24
(config-network-object)# subnet 10.100.1.0 255.255.255.0

Criação do objeto com o endereço da rede remota
(config)# object network REDE-192-168-100-0-M24
(config-network-object)# subnet 192.168.100.0 255.255.255.0

Configuração da Política de NAT
nat (inside,outside) source static REDE-10-100-1-0-M24 REDE-10-100-1-0-M24 destination static REDE-192-168-100-0-M24 REDE-192-168-100-0-M24 no-proxy-arp route-lookup

 _________________________________________
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.