Pour les partenaires
Vous êtes déjà partenaire?
ConnexionAvez-vous un compte?
Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit les concepts et la configuration nécessaires pour mettre en oeuvre un VPN site à site sur Cisco Adaptive Security Appliance (ASA) et Firepower Threat Defense (FTD) pour se connecter aux services cloud Microsoft Azure.
Domaine de chiffrement VPN : La plage d'adresses IP IPSec permet de participer au tunnel VPN.Le domaine de chiffrement est défini à l'aide d'un sélecteur de trafic local et d'un sélecteur de trafic distant pour spécifier les plages de sous-réseaux locales et distantes capturées et cryptées par IPSec. Il existe deux méthodes pour définir le domaine de chiffrement du VPN : les sélecteurs de trafic basés sur des routes ou des politiques.
Route-based : le domaine de chiffrement est défini pour autoriser tout trafic entrant dans le tunnel IPSec. Les sélecteurs de trafic local et distant IPSec sont définis sur 0.0.0.0. Cela signifie que tout trafic acheminé dans le tunnel IPSec est chiffré indépendamment du sous-réseau source/destination.
ASA prend en charge le VPN basé sur les routes avec l'utilisation des VTI (Virtual Tunnel Interfaces) dans les versions 9.8 et ultérieures.
FTD géré par FMC (Firepower Management Center) prend en charge le VPN basé sur les routes avec l'utilisation de VTI dans les versions 6.7 et ultérieures.
Basé sur des stratégies : le domaine de chiffrement est défini pour chiffrer uniquement des plages IP spécifiques pour la source et la destination. Les sélecteurs de trafic local basés sur des politiques et les sélecteurs de trafic distant identifient le trafic à chiffrer sur IPSec.
ASA prend en charge le VPN basé sur des politiques avec des crypto-cartes dans les versions 8.2 et ultérieures.
Microsoft Azure prend en charge les routages, les politiques ou les routes avec des sélecteurs de trafic basés sur des politiques simulées. Azure limite actuellement la version IKE (Internet Key Exchange) que vous pouvez configurer en fonction de la méthode VPN sélectionnée. Le routage basé sur IKEv2 et le routage basé sur les stratégies sur IKEv1. Cela signifie que si IKEv2 est utilisé, alors la route basée dans Azure doit être sélectionnée et ASA doit utiliser une interface de tunnel virtuel, mais si ASA prend uniquement en charge les crypto-cartes en raison de la version de code, alors Azure doit être configuré pour la route basée sur des sélecteurs de trafic basés sur des politiques. Ceci est accompli dans le portail Azure via le déploiement de script PowerShell pour implémenter une option que Microsoft appelle UsePolicyBasedTrafficSélecteurs comme expliqué ici : https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps
Pour résumer du point de vue de la configuration ASA et FTD :
Suivez les étapes de configuration ci-dessous. Choisissez soit de configurer IKEv1, IKEv2 Route Based avec VTI, soit IKEv2 Route Based avec Use Policy-Based Traffic Sélecteurs (crypto map sur ASA).
Pour un VPN IKEv1 de site à site d'ASA à Azure, suivez la configuration ASA ci-dessous. Assurez-vous de configurer un tunnel basé sur des stratégies dans le portail Azure. Les cartes de chiffrement sont utilisées sur ASA pour cet exemple.
Référez-vous à ce document Cisco pour obtenir des informations complètes sur la configuration d'IKEv1 sur ASA.
Étape 1. Activez IKEv1 sur l'interface externe.
Cisco-ASA(config)#crypto ikev1 enable outside
Étape 2. Créez une stratégie IKEv1 qui définit les algorithmes/méthodes à utiliser pour le hachage, l'authentification, le groupe Diffie-Hellman, la durée de vie et le chiffrement.
Remarque : Les attributs IKEv1 de phase 1 répertoriés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ikev1 policy 1
!The 1 in the above command refers to the Policy suite priority
(1 highest, 65535 lowest)
Cisco-ASA(config-ikev1-policy)#authentication pre-share
Cisco-ASA(config-ikev1-policy)#encryption aes
Cisco-ASA(config-ikev1-policy)#hash sha
Cisco-ASA(config-ikev1-policy)#group 2
Cisco-ASA(config-ikev1-policy)#lifetime 28800
Étape 3. Créez un groupe de tunnels sous les attributs IPsec et configurez l'adresse IP de l'homologue et la clé pré-partagée du tunnel.
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco
! Note the IKEv1 keyword at the beginning of the pre-shared-key command.
Étape 4. Créez une liste d’accès qui définit le trafic à chiffrer et à tunnelliser. Dans cet exemple, le trafic intéressant est le trafic du tunnel qui provient du sous-réseau 10.2.2.0 vers 10.1.1.0. Il peut contenir plusieurs entrées si plusieurs sous-réseaux sont impliqués entre les sites.
Dans les versions 8.4 et ultérieures, il est possible de créer des objets ou des groupes d'objets qui servent de conteneurs pour les réseaux, les sous-réseaux, les adresses IP hôte ou plusieurs objets. Créez deux objets qui ont les sous-réseaux locaux et distants et utilisez-les à la fois pour la liste de contrôle d'accès cryptographique (ACL) et les instructions NAT.
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Étape 5. Configurez le jeu de transformation (TS), qui doit impliquer le mot clé IKEv1. Un TS identique doit également être créé sur l'extrémité distante.
Remarque : Les attributs IPSec de phase 2 répertoriés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
Étape 6. Configurez la carte de chiffrement et appliquez-la à l'interface externe, qui comporte les composants suivants :
· l'adresse IP de l'homologue
· Liste d'accès définie qui contient le trafic d'intérêt
· le TS
· la configuration ci-dessous ne définit pas PFS car la documentation Azure disponible publiquement indique que PFS est désactivé pour IKEv1 dans Azure. Un paramètre PFS (Perfect Forward Secrecy) en option, qui crée une nouvelle paire de clés Diffie-Hellman utilisées pour protéger les données (les deux côtés doivent être compatibles PFS avant que la phase 2 ne démarre), peut être activé à l'aide de cette configuration : crypto map outside_map 20 set pfs
· les durées de vie IPSec de la phase 2 définies ci-dessous sont basées sur la documentation Azure accessible au public, pour plus d'informations, contactez le support Microsoft Azure
Cisco-ASA(config)#crypto map outside_map 20 match address 100
Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1
Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000 Cisco-ASA(config)#crypto map outside_map interface outside
Étape 7. Assurez-vous que le trafic VPN n'est soumis à aucune autre règle NAT. Créer une règle d'exemption NAT :
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Note: Lorsque plusieurs sous-réseaux sont utilisés, vous devez créer des groupes d'objets avec tous les sous-réseaux source et de destination et les utiliser dans la règle NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Pour un VPN basé sur une route IKEv2 de site à site sur un code ASA, suivez la configuration ci-dessous. Assurez-vous qu'Azure est configuré pour le VPN basé sur la route et ne configurez pas UsePolicyBasedTrafficSélecteurs dans le portail Azure. Une interface de tunnel virtuel sera configurée sur ASA.
Référez-vous à ce document Cisco pour obtenir des informations complètes sur la configuration VTI ASA.
Étape 1. Activez IKEv2 sur l'interface externe :
Cisco-ASA(config)#crypto ikev2 enable outside
Étape 2. Ajoutez une stratégie IKEv2 de phase 1.
Remarque : Microsoft a publié des informations contradictoires concernant les attributs de chiffrement, d'intégrité et de durée de vie IKEv2 de phase 1 particuliers utilisés par Azure. Les attributs listés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Les informations d'attribut IKEv2 contradictoires de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes Cisco-ASA(config-ikev2-policy)#integrity sha Cisco-ASA(config-ikev2-policy)#group 2 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Étape 3. Ajoutez une proposition IPsec de phase 2 IKEv2. Spécifiez les paramètres de sécurité en mode de configuration ipsec ikev2 crypto IPsec :
protocole esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | Null}
protocol esp intégrité {md5 | sha-1 | sha-256 | sha-384 | sha-512 | Null}
Remarque : Microsoft a publié des informations contradictoires concernant les attributs de chiffrement et d'intégrité IPSec de phase 2 particuliers utilisés par Azure. Les attributs listés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Les informations d'attribut IPSec de la phase 2 en conflit de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-1
Étape 4. Ajouter un profil IPSec spécifiant :
Note: Microsoft a publié des informations contradictoires concernant la durée de vie IPSec de phase 2 et les attributs pfs utilisés par Azure. Les attributs répertoriés ci-dessous sont fournis au mieux à partir de Ce document Microsoft public. Les informations d'attribut IPSec de la phase 2 en conflit de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ipsec profile PROFILE1
Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000
Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited
Cisco-ASA(config-ipsec-profile)#set pfs none
Étape 5. Créez un groupe de tunnels sous les attributs IPsec et configurez l'adresse IP homologue et la clé pré-partagée du tunnel local et distant IKEv2 :
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Étape 6. Créez une interface de tunnel virtuel spécifiant :
Cisco-ASA(config)#interface tunnel 100 Cisco-ASA(config-if)#nameif vti Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252 Cisco-ASA(config-if)#tunnel source interface outside Cisco-ASA(config-if)#tunnel destination [Azure Public IP] Cisco-ASA(config-if)#tunnel mode ipsec ipv4 Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1
Étape 7. Créez une route statique pour pointer le trafic dans le tunnel. Pour ajouter une route statique, entrez la commande suivante :
route if_name dest_ip mask gateway_ip [distance]
L'adresse dest_ip et le masque sont l'adresse IP du réseau de destination dans le nuage Azure, par exemple, 10.0.0.0/24. L'adresse ip_passerelle doit être n'importe quelle adresse IP (existante ou inexistante) sur le sous-réseau de l'interface de tunnel, par exemple 169.254.0.2. L'objet de cette adresse ip de passerelle est de pointer le trafic vers l'interface de tunnel, mais l'adresse IP de la passerelle particulière elle-même n'est pas importante.
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 169.254.0.2
Pour un VPN IKEv1 site à site de FTD à Azure, nous devons avoir précédemment enregistré le périphérique FTD sur FMC.
Étape 1. Créez une stratégie de site à site. Accédez au tableau de bord FMC, accédez à « Périphériques » cliquez sur « VPN » et sélectionnez « Site to Site ».
Étape 2. Créez une nouvelle stratégie. Cliquez sur le menu déroulant « Add VPN » et sélectionnez « Firepower Threat Defense device ».
Étape 3. Dans la fenêtre « Créer une nouvelle topologie VPN », spécifiez votre « Nom de topologie », cochez la case « Protocole IKEV1 » et cliquez sur l'onglet « IKE ». Dans cet exemple, les clés pré-partagées sont utilisées comme méthode d'authentification.
Cliquez sur le menu déroulant « Type d'authentification : », puis sélectionnez « Clé manuelle prépartagée ». Tapez la clé pré-partagée manuelle dans les champs de texte « Clé » et « Confirmer la clé ».
Étape 4. Configurez la stratégie ISAKMP ou les paramètres de phase 1 en en créant une nouvelle. Dans la même fenêtre, cliquez sur le bouton vert plus pour ajouter une nouvelle stratégie ISAKMP. Spécifiez le nom de la stratégie et sélectionnez le chiffrement, le hachage, le groupe Diffie-Hellman, la durée de vie et la méthode d'authentification désirés, puis cliquez sur « Enregistrer ».
Étape 5. Configurez la stratégie IPsec ou les paramètres de phase 2 en allant à l'onglet « IPsec », sélectionnez « Statique » dans la case « Crypto Map Type ». Cliquez sur l'icône « éditer le crayon » de l'option « Propositions IPsec IKEV1 » à l'option « Transform Sets : ».
Étape 6. Créez une nouvelle proposition IPsec. Dans la fenêtre « Proposition IPSec IKEv1 », cliquez sur le bouton vert plus pour en ajouter un nouveau. Spécifiez le nom de la stratégie et ses paramètres souhaités pour les algorithmes ESP Encryption et ESP Hash, puis cliquez sur « Enregistrer ».
Étape 7. Dans la fenêtre « Proposition IPsec IKEV1 », ajoutez votre nouvelle stratégie IPsec à la section « Jeux de transformations sélectionnés » et cliquez sur « OK ».
Étape 8. Dans l'onglet IPSec, configurez la durée de vie et la taille souhaitées.
Étape 9. Sélectionnez Encryption Domain/Traffic Sélecteurs/Protected Networks en accédant à l'onglet Endpoints. Dans la section « Noeud A », cliquez sur le bouton vert plus pour en ajouter un nouveau. Dans cet exemple, le noeud A est utilisé comme sous-réseaux locaux du FTD.
Étape 10. Dans la fenêtre « Ajouter un point de terminaison », spécifiez le FTD à utiliser dans la liste déroulante « Périphérique », ainsi que son interface physique et son adresse IP à utiliser.
Étape 11. Pour spécifier le sélecteur de trafic local, accédez à l'option Réseaux protégés, puis cliquez sur le bouton vert plus pour créer un nouvel objet.
Étape 12. Dans la fenêtre « Objets réseau », cliquez sur le bouton vert plus en regard du texte « Réseaux disponibles » pour créer un nouvel objet de sélecteur de trafic local.
Étape 13. Dans la fenêtre « Nouvel objet réseau », spécifiez le nom de l'objet et sélectionnez en conséquence host/network/range/FQDN. Ensuite, cliquez sur « Enregistrer ».
Étape 14. Ajoutez l'objet à la section « Réseaux sélectionnés » de la fenêtre « Objets réseau » et cliquez sur « OK ».Cliquez sur « OK » dans la fenêtre « Ajouter un point de terminaison ».
Étape 15. Définissez le point de terminaison du noeud B, qui, dans cet exemple, est le point de terminaison Azure. Dans la fenêtre « Créer une nouvelle topologie VPN », accédez à la section « Noeud B » et cliquez sur le bouton vert plus pour ajouter le sélecteur de trafic de point d'extrémité distant. Spécifiez Extranet pour tous les terminaux homologues VPN qui ne sont pas gérés par le même FMC que le noeud A. Tapez le nom du périphérique (significatif localement uniquement) et son adresse IP.
Étape 16. Créez l'objet de sélecteur de trafic distant. Accédez à la section Réseaux protégés et cliquez sur le bouton vert plus pour ajouter un nouvel objet.
Étape 17. Dans la fenêtre « Objets réseau », cliquez sur le bouton vert plus en regard du texte « Réseaux disponibles » pour créer un nouvel objet. Dans la fenêtre « Nouvel objet réseau », spécifiez le nom de l'objet et sélectionnez en conséquence host/range/network/FQDN et cliquez sur « Enregistrer ».
Étape 18. De retour dans la fenêtre « Objets réseau », ajoutez votre nouvel objet distant à la section « Réseaux sélectionnés » et cliquez sur « OK ».Cliquez sur « OK » dans la fenêtre « Ajouter un point de terminaison ».
Étape 19. Dans la fenêtre « Créer une nouvelle topologie VPN », vous pouvez voir maintenant les deux noeuds avec leurs sélecteurs de trafic/réseaux protégés appropriés. Cliquez sur « Enregistrer ».
Étape 20. Dans le tableau de bord FMC, cliquez sur « Déployer » dans le volet supérieur droit, sélectionnez le périphérique FTD, puis cliquez sur « Déployer ».
Étape 21. Sur l'interface de ligne de commande, la configuration VPN sera identique à celle des périphériques ASA.
Pour un VPN IKEv2 de site à site sur ASA avec crypto-cartes, suivez la configuration ci-dessous. Assurez-vous qu'Azure est configuré pour le VPN basé sur la route *AND* UsePolicyBasedTrafficSélecteurs doit être configuré dans le portail Azure à l'aide de PowerShell.
Ce document de Microsoft décrit la configuration de UsePolicyBasedTrafficSélecteurs en conjonction avec le mode VPN Azure basé sur la route. Sans cette étape terminée, ASA avec des cartes de chiffrement ne parvient pas à établir la connexion en raison d'une non-correspondance dans les sélecteurs de trafic reçus d'Azure.
Référez-vous à ce document Cisco pour les informations complètes de configuration de la carte de chiffrement IKEv2 ASA
Étape 1. Activez IKEv2 sur l'interface externe :
Cisco-ASA(config)#crypto ikev2 enable outside
Étape 2. Ajoutez une stratégie IKEv2 de phase 1.
Note: Microsoft a publié des informations contradictoires concernant les attributs de chiffrement, d'intégrité et de durée de vie IKEv2 de phase 1 particuliers utilisés par Azure. Les attributs répertoriés ci-dessous sont fournis au mieux à partir de Ce document Microsoft public. Les informations d'attribut IKEv2 contradictoires de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes Cisco-ASA(config-ikev2-policy)#integrity sha Cisco-ASA(config-ikev2-policy)#group 2 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Étape 3. Créez un groupe de tunnels sous les attributs IPsec et configurez l'adresse IP homologue et la clé pré-partagée du tunnel local et distant IKEv2 :
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Étape 4. Créez une liste d’accès qui définit le trafic à chiffrer et à tunnelliser. Dans cet exemple, le trafic intéressant est le trafic du tunnel qui provient du sous-réseau 10.2.2.0 vers 10.1.1.0. Il peut contenir plusieurs entrées si plusieurs sous-réseaux sont impliqués entre les sites.
Dans les versions 8.4 et ultérieures, il est possible de créer des objets ou des groupes d'objets qui servent de conteneurs pour les réseaux, les sous-réseaux, les adresses IP hôte ou plusieurs objets. Créez deux objets qui ont les sous-réseaux locaux et distants et utilisez-les à la fois pour la liste de contrôle d'accès cryptographique (ACL) et les instructions NAT.
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Étape 5. Ajoutez une proposition IPsec de phase 2 IKEv2. Spécifiez les paramètres de sécurité en mode de configuration ipsec ikev2 crypto IPsec :
protocole esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | Null}
protocol esp intégrité {md5 | sha-1 | sha-256 | sha-384 | sha-512 | Null}
Remarque : Microsoft a publié des informations contradictoires concernant les attributs de chiffrement et d'intégrité IPSec de phase 2 particuliers utilisés par Azure. Les attributs listés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Les informations d'attribut IPSec de la phase 2 en conflit de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-1
Étape 6. Configurez une carte de chiffrement et appliquez-la à l'interface externe, qui contient les composants suivants :
· l'adresse IP de l'homologue
· Liste d'accès définie qui contient le trafic d'intérêt
· proposition IPSec de la phase 2 IKEv2
· Durée de vie IPSec de phase 2 en secondes
· Parfect Forward Secrecy (PFS) en option, qui crée une nouvelle paire de clés Diffie-Hellman utilisées pour protéger les données (les deux côtés doivent être activés par PFS avant que la phase 2 ne démarre)
Remarque : Microsoft a publié des informations contradictoires concernant la durée de vie IPSec de phase 2 et les attributs PFS utilisés par Azure. Les attributs listés ci-dessous sont fournis au mieux à partir de ce document Microsoft disponible au public. Les informations d'attribut IPSec de la phase 2 en conflit de Microsoft sont visibles ici. Pour plus d'informations, contactez le support Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100 Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1 Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited Cisco-ASA(config)#crypto map outside_map 20 set pfs none Cisco-ASA(config)#crypto map outside_map interface outside
Étape 8. Assurez-vous que le trafic VPN n'est soumis à aucune autre règle NAT. Créer une règle d'exemption NAT :
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Note: Lorsque plusieurs sous-réseaux sont utilisés, vous devez créer des groupes d'objets avec tous les sous-réseaux source et de destination et les utiliser dans la règle NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Une fois la configuration terminée sur ASA et la passerelle Azure, Azure lance le tunnel VPN. Vous pouvez vérifier que le tunnel se construit correctement à l'aide des commandes suivantes.
Vérifiez que l'association de sécurité de phase 1 a été créée à l'aide de la commande suivante :
Ci-dessous, une SA IKEv2 construite à partir de l'interface externe locale IP 192.168.1.2 sur le port UDP 500, vers l'adresse IP de destination distante 192.168.2.2 est présentée. Il existe également une SA enfant valide conçue pour le trafic chiffré à traverser.
Cisco-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 3208253 192.168.1.2/500 192.168.2.2/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:5, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/142 sec *-->Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 192.168.3.0/0 - 192.168.3.255/65535 ESP spi in/out: 0x9b60edc5/0x8e7a2e12
Belo, une SA IKEv1 créée avec ASA comme initiateur de l'homologue IP 192.168.2.2 avec une durée de vie restante de 86388 secondes, est présentée.
Cisco-ASA# sh crypto ikev1 sa detail IKEv1 SAs: Active SA: 1 Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey) Total IKE SA: 1 1 IKE Peer: 192.168.2.2 Type : L2L Role : initiator Rekey : no State : MM_ACTIVE Encrypt : aes Hash : SHA Auth : preshared Lifetime: 86400 Lifetime Remaining: 86388
Vérifiez que l'association de sécurité IPSec de phase 2 a été créée avec : show crypto ipsec sa peer [peer-ip]
Cisco-ASA# show crypto ipsec sa peer 192.168.2.2
peer address: 192.168.2.2
Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2
access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
current_peer: 192.168.2.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #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.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500
path mtu 1500, ipsec overhead 74(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: 8E7A2E12
current inbound spi : 9B60EDC5
inbound esp sas:
spi: 0x9B60EDC5 (2606820805)
SA State: active
transform: esp-aes-256 esp-sha-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (4193279/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0x8E7A2E12 (2390371858)
SA State: active
transform: esp-aes-256 esp-sha-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (3962879/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
4 paquets sont envoyés et 4 sont reçus par l'association de sécurité IPSec sans erreur. Une SA entrante avec SPI 0x9B60EDC5 et une SA sortante avec SPI 0x8E7A2E12 sont installées comme prévu.
Vous pouvez également vérifier que les données sont transmises via le tunnel en vérifiant les entrées vpn-sessiondb l2l :
Cisco-ASA#show vpn-sessiondb l2l
Session Type: LAN-to-LAN
Connection : 192.168.2.2
Index : 44615 IP Addr : 192.168.2.2
Protocol : IKEv2 IPsec
Encryption : IKEv2: (1)AES256 IPsec: (1)AES256
Hashing : IKEv2: (1)SHA1 IPsec: (1)SHA1
Bytes Tx : 400 Bytes Rx : 400
Login Time : 18:32:54 UTC Tue Mar 13 2018
Duration : 0h:05m:22s
Tx octets : et octets Rx : afficher les compteurs de données envoyés et reçus sur la SA IPSec.
Étape 1. Vérifiez que le trafic intéressant pour le VPN est reçu par ASA sur l'interface interne destinée au réseau privé d'Azure. Pour les tests, vous pouvez configurer une requête ping continue à partir d'un client interne et configurer une capture de paquets sur ASA pour vérifier qu'elle est reçue :
capture [cap-name] interface [if-name] match [protocol] [src-ip] [src-mask] [dest-ip] [dest-mask]
show capture [cap-name]
Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]
Cisco-ASA#show capture inside 2 packets captured 1: 18:50:42.835863 192.168.0.2 > 192.168.3.2: icmp: echo request 2: 18:50:42.839128 192.168.3.2 > 192.168.0.2: icmp: echo reply 2 packets shown
Si le trafic de réponse d'Azure est vu, le VPN est correctement construit et envoie/reçoit le trafic.
Si le trafic source est manquant, vérifiez que votre expéditeur achemine correctement vers l'ASA.
Si le trafic source est vu mais que le trafic de réponse d'Azure est manquant, poursuivez pour vérifier pourquoi.
Étape 2. Vérifiez que le trafic intéressant reçu sur l'interface interne ASA est correctement traité par ASA et routé vers le VPN :
Pour simuler une requête d'écho ICMP :
packet-tracer input [inside-interface-name] icmp [inside-host-ip] 8 0 [azure-host-ip] detail
Vous trouverez ici des instructions d'utilisation complètes de Packet Tracer : https://supportforums.cisco.com/t5/security-documents/troubleshooting-access-problems-using-packet-tracer/ta-p/3114976
Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail Phase: 1 Type: CAPTURE Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0000.0000.0000 input_ifc=inside, output_ifc=any Phase: 2 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c195971f0, priority=1, domain=permit, deny=false hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=inside, output_ifc=any Phase: 3 Type: ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: found next-hop 192.168.1.1 using egress ifc outside Phase: 4 Type: NAT Subtype: per-session Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 5 Type: IP-OPTIONS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 6 Type: QOS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 7 Type: INSPECT Subtype: np-inspect Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1 src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 8 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0 src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=outside Phase: 9 Type: FLOW-CREATION Subtype: Result: ALLOW Config: Additional Information: New flow created with id 43, packet dispatched to next module Module information for forward flow ... snp_fp_tracer_drop snp_fp_inspect_ip_options snp_fp_inspect_icmp snp_fp_adjacency snp_fp_encrypt snp_fp_fragment snp_ifc_stat Module information for reverse flow ... Result: input-interface: inside input-status: up input-line-status: up output-interface: outside output-status: up output-line-status: up Action: allow
Notez dans le résultat ci-dessus que la NAT est vue exemptant le trafic (aucune traduction n'est effective). Vérifiez qu'aucune traduction NAT ne se produit sur le trafic intéressant.
Vérifiez également que « output-interface: » est correct : il doit s'agir de l'interface physique où la crypto-carte est appliquée ou de l'interface de tunnel virtuel.
Assurez-vous qu'aucune perte de liste d'accès n'est visible.
Si la phase VPN affiche ENCRYPT : ALLOW, le tunnel est déjà construit et vous devriez voir IPSec SA installé avec des encaps.
Étape 2.1 Si CRYPT :AUTORISER vu dans packet-tracer ci-dessus
Vérifier que l'association de sécurité IPsec est installée et chiffrer le trafic à l'aide de la commande show crypto ipsec sa
Effectuer une capture sur l'interface externe pour vérifier que les paquets chiffrés sont envoyés depuis ASA et que les réponses chiffrées sont reçues d'Azure
Étape 2.1 Si CHIFFREMENT :DROP vu dans packet-tracer ci-dessus
Le tunnel VPN n'est pas encore établi mais devrait être en négociation. Il s'agit d'une condition attendue lors de la première mise en route du tunnel. Exécutez des débogages pour afficher le processus de négociation du tunnel et identifier où et si une défaillance se produit :
Tout d'abord, vérifiez que la version correcte de ike est déclenchée et que le processus ike-common ne présente aucune erreur pertinente :
Cisco-ASA#debug crypto ike-common 255 Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1. Map Tag = outside. Map Sequence Number = 10.
Si aucune sortie de débogage ike-common n'est vue lorsque le trafic intéressant est initié, cela signifie que le trafic est abandonné avant d'atteindre le processus de chiffrement ou crypto ikev1/ikev2 n'est pas activé sur la boîte. Vérifiez deux fois la configuration de chiffrement et les abandons de paquets
Si les débogages ike-common indiquent que le processus de chiffrement est déclenché, déboguez la version configurée IKE pour afficher les messages de négociation de tunnel et identifier l'emplacement de l'échec dans la construction de tunnel avec Azure :
La procédure et l'analyse complètes de débogage ikev1 sont disponibles ici.
Cisco-ASA#debug crypto ikev1 127
Cisco-ASA#debug crypto ipsec 127
La procédure et l'analyse complètes de débogage ikev2 sont disponibles ici.
Cisco-ASA#debug crypto ikev2 platform 127 Cisco-ASA#debug crypto ikev2 protocol 127 Cisco-ASA#debug crypto ipsec 127
Révision | Date de publication | Commentaires |
---|---|---|
2.0 |
28-Feb-2022 |
La prise en charge de FTD 6.7 a été ajoutée dans le cadre d'une demande de démarrage. |
1.0 |
27-Mar-2019 |
Première publication |