Exemple : Configuration de l’infrastructure à clé publique dans Junos OS
Cet exemple montre comment configurer, vérifier et dépanner l’infrastructure à clé publique. Cette rubrique comprend les sections suivantes :
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
Junos OS version 9.4 ou ultérieure
Junos OS avec services améliorés versions 8.5 à 9.3
Équipements SRX Series ou J Series
Cet exemple de configuration a été testé à l’aide de la version logicielle répertoriée et est supposé fonctionner sur toutes les versions ultérieures.
Topologie du réseau
La figure 1 montre la topologie de réseau utilisée pour cet exemple pour configurer un VPN basé sur des stratégies.

Paramètres requis
L’administration PKI est la même pour les VPN basés sur des stratégies et les VPN basés sur le routage.
Cet exemple suppose les paramètres suivants :
L’homologue VPN distant est un pare-feu/VPN SSG5 de Juniper Networks (le plus souvent utilisé pour les filiales).
L’interface LAN interne de l’appareil est
ge-0/0/0
en zone trust et dispose d’un sous-réseau IP privé.L’interface Internet de l’appareil est
ge-0/0/3
en zone d’untrust et dispose d’une adresse IP publique.Tout le trafic entre les réseaux locaux et distants est autorisé et peut être initié de part et d’autre.
Le SSG5 a été préconfiguré correctement et chargé avec un certificat local prêt à l’emploi, un certificat d’autorité de certification et une liste de révocation de certificats.
Le périphérique SSG5 est configuré pour utiliser le nom de domaine complet de ssg5.juniper.net (IKE ID).
Les certificats PKI avec des clés 1024 bits sont utilisés pour les négociations IKE des deux côtés.
L’autorité de certification est une autorité de certification autonome au niveau du domaine labdomain.com pour les deux homologues VPN.
Pour plus d’informations sur les procédures d’administration et d’utilisation de la PKI dans Junos OS, reportez-vous au Guide de configuration de la sécurité de Junos OS.
Pour plus d’informations sur l’utilisation d’une autorité de certification de fournisseurs PKI tels que Microsoft et OpenSSL, consultez Annexe B : Administration des autorités de certification communes.
Plus d’informations sur la configuration PKI avec SSG5 et d’autres plates-formes basées sur ScreenOS de Juniper Networks. voir l’introduction et la FAQ PKI (Public Key Infrastructure) de Juniper Networks sur l’utilisation des certificats X.509 dans ScreenOS.
Configuration
Cette rubrique comprend la section suivante :
Étapes de configuration de base pour PKI
Procédure étape par étape
Configurez une famille d’adresses IP et de protocoles sur les interfaces Gigabit Ethernet (
ge-0/0/0.0
etge-0/0/3.0
) :[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.10.10.1/24 user@host# set interfaces ge-0/0/3 unit 0 family inet address 1.1.1.2/30
Configurez un itinéraire par défaut vers le saut suivant Internet :
[edit] user@host# set routing-options static route 0.0.0.0/0 next-hop 1.1.1.1
Dans cet exemple, le trafic VPN est entrant sur l’interface
ge-0/0/0.0
avec le saut suivant de1.1.1.1
. Ainsi le trafic est sortant sur l’interfacege-0/0/3.0
. Toute stratégie de tunnel doit prendre en compte les interfaces entrantes et sortantes.Note:Vous pouvez également utiliser un protocole de routage dynamique tel qu’OSPF (non décrit dans ce document). Lors du traitement du premier paquet d’une nouvelle session, le périphérique Junos OS effectue d’abord une recherche d’itinéraire. L’itinéraire statique, qui est également le routage par défaut, dicte la zone du trafic VPN sortant.
Définissez l’heure et la date du système.
[edit] user@host# set system time-zone PST8PDT
Une fois la configuration validée, vérifiez les paramètres de l’horloge à l’aide de la
show system uptime
commande.user@host> show system uptime Current time: 2007-11-01 17:57:09 PDT System booted: 2007-11-01 14:36:38 PDT (03:20:31 ago) Protocols started: 2007-11-01 14:37:30 PDT (03:19:39 ago) Last configured: 2007-11-01 17:52:32 PDT (00:04:37 ago) by root 5:57PM up 3:21, 4 users, load averages: 0.00, 0.00, 0.00
Définissez l’adresse du serveur NTP.
user@host> set date ntp 130.126.24.24 1 Nov 17:52:52 ntpdate[5204]: step time server 130.126.24.24 offset -0.220645 sec
Définissez la configuration DNS (Domain Name System).
De nombreuses autorités de certification utilisent des noms d’hôte (par exemple, nom de domaine complet) pour spécifier divers éléments de l’infrastructure à clé publique. Étant donné que le CDP est généralement spécifié à l’aide d’une URL contenant un nom de domaine complet, vous devez configurer un résolveur DNS sur le périphérique Junos OS.
[edit] user@host# set system name-server 4.2.2.1 user@host# set system name-server 4.2.2.2
Générez la demande de certificat en :
Création d’un profil d’autorité de certification pour spécifier les paramètres d’autorité de certification.
Génération de la demande de certificat PKCS10.
Le processus de demande de certificat PKCS10 implique la génération d’une paire de clés publique/privée, puis la génération de la demande de certificat elle-même, à l’aide de la paire de clés.
Note:Prenez note des informations suivantes sur le profil de l’autorité de certification :
Le profil d’autorité de certification définit les attributs d’une autorité de certification.
Chaque profil d’autorité de certification est associé à un certificat d’autorité de certification. Si un certificat d’autorité de certification nouveau ou renouvelé doit être chargé sans supprimer l’ancien certificat d’autorité de certification, un nouveau profil doit être créé. Ce profil peut également être utilisé pour récupérer la CRL en ligne.
Plusieurs profils de ce type peuvent être présents dans le système créé pour différents utilisateurs.
Procédure étape par étape
Créez un profil d’autorité de certification approuvé avec les valeurs obligatoires suivantes :
Nom du profil de l’autorité de certification — (ms-ca pour cet exemple) (toute valeur)
Identité de l’autorité de certification— labdomain.com. (Nom de domaine CA)
user@host# set security pki ca-profile ms-ca ca-identity labdomain.com
Créez un contrôle de révocation pour spécifier une méthode de vérification de la révocation de certificat :
user@host# set security pki ca-profile ms-ca revocation-check crl
Note:Vous pouvez utiliser l’option
disable
pour désactiver le contrôle de révocation ou choisircrl
de configurer les attributs de la liste de révocation de certificats.Définissez l’intervalle d’actualisation, en heures, pour spécifier la fréquence de mise à jour de la liste de révocation de certificats. Les valeurs par défaut sont : heure de la prochaine mise à jour dans la liste de révocation de certificats ou 1 semaine si aucune heure de prochaine mise à jour n’est spécifiée.
user@host# set security pki ca-profile ms-ca revocation-check crl refresh-interval 48
Spécifiez l’emplacement (URL) pour récupérer la liste de révocation de certificats (HTTP ou LDAP). Par défaut, l’URL est vide et utilise les informations CDP incorporées dans le certificat d’autorité de certification.
user@host# set security pki ca-profile ms-ca revocation-check crl url http://labsrv1.labdomain.com/CertEnroll/LABDOMAIN.crl
Note:L’URL peut inclure le nom du serveur/les informations de port telles que ldap://<ip-or-fqdn> :<port>). Si le numéro de port est manquant, HTTP utilisera le port 80 ou LDAP utilisera le port 443. Actuellement, vous ne pouvez configurer qu’une seule URL. La prise en charge de la configuration des URL de sauvegarde n’est pas disponible.
Spécifiez une adresse e-mail pour envoyer la demande de certificat directement à un administrateur d’autorité de certification.
user@host# set security pki ca-profile ms-ca administrator email-address certadmin@labdomain.com
Note:Si vous spécifiez une adresse e-mail d’administrateur d’autorité de certification à qui envoyer la demande de certificat, le système compose un e-mail à partir du fichier de demande de certificat et le transmet à l’adresse e-mail spécifiée. La notification d’état de l’e-mail est envoyée à l’administrateur.
Note:La demande de certificat peut être envoyée à l’autorité de certification via une méthode hors bande.
Validez la configuration :
user@host# commit and-quit
commit complete
Exiting configuration mode
Générez une demande de paire de clés.
Lorsque le profil d’autorité de certification est configuré, l’étape suivante consiste à générer une paire de clés sur le périphérique Junos OS. Pour générer la paire de clés privée et publique :
user@host> request security pki generate-key-pair certificate-id ms-cert size 1024 Generated key pair ms-cert, key size 1024 bits
La demande de certificat PKCS10 est générée et stockée sur le système en tant que certificat en attente ou demande de certificat. Une notification par e-mail sera envoyée à l’administrateur de l’autorité de certification (dans cet exemple, certadmin@labdomain.com).
Note:Actuellement, Junos OS prend uniquement en charge l’algorithme RSA et ne prend pas en charge l’algorithme de signature numérique (DSA). Une identité unique appelée certificate-ID est utilisée pour nommer la paire de clés générée. Cet ID est également utilisé dans les commandes d’inscription de certificats et de demande pour obtenir la bonne paire de clés. La paire de clés générée est enregistrée dans le magasin de certificats dans un fichier portant le même nom que l’ID de certificat. La taille du fichier peut être 512, 1024 ou 2048 bits.
Note:Un profil par défaut (de secours) peut être créé si les autorités de certification intermédiaires ne sont pas préinstallées sur l’appareil. Les valeurs de profil par défaut sont utilisées en l’absence d’un profil d’autorité de certification spécifiquement configuré.
Dans le cas d’un CDP, l’ordre suivant est suivi :
Par profil d’autorité de certification
CDP intégré dans le certificat d’autorité de certification
Profil d’autorité de certification par défaut
Nous vous recommandons d’utiliser un profil d’autorité de certification spécifique au lieu d’un profil par défaut.
Générez une demande de certificat numérique local au format PKCS-10.
user@host> request security pki generate-certificate-request certificate-id ms-cert subject "CN=john doe,CN=1.1.1.2,OU=sales,O=Juniper Networks, L=Sunnyvale,ST=CA,C=US" email user@juniper.net filename ms-cert-req Generated certificate request -----BEGIN CERTIFICATE REQUEST----- MIIB3DCCAUUCAQAwbDERMA8GA1UEAxMIam9obiBkb2UxDjAMBgNVBAsTBXNhbGVz MRkwFwYDVQQKExBKdW5pcGVyIE5ldHdvcmtzMRIwEAYDVQQHEwlTdW5ueXZhbGUx CzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEA5EG6sgG/CTFzX6KC/hz6Czal0BxakUxfGxF7UWYWHaWFFYLqo6vXNO8r OS5Yak7rWANAsMob3E2X/1adlQIRi4QFTjkBqGI+MTEDGnqFsJBqrB6oyqGtdcSU u0qUivMvgKQVCx8hpx99J3EBTurfWL1pCNlBmZggNogb6MbwES0CAwEAAaAwMC4G CSqGSIb3DQEJDjEhMB8wHQYDVR0RBBYwFIESInVzZXJAanVuaXBlci5uZXQiMA0G CSqGSIb3DQEBBQUAA4GBAI6GhBaCsXk6/1lE2e5AakFFDhY7oqzHhgd1yMjiSUMV djmf9JbDz2gM2UKpI+yKgtUjyCK/lV2ui57hpZMvnhAW4AmgwkOJg6mpR5rsxdLr 4/HHSHuEGOF17RHO6x0YwJ+KE1rYDRWj3Dtz447ynaLxcDF7buwd4IrMcRJJI9ws -----END CERTIFICATE REQUEST----- Fingerprint: 47:b0:e1:4c:be:52:f7:90:c1:56:13:4e:35:52:d8:8a:50:06:e6:c8 (sha1) a9:a1:cd:f3:0d:06:21:f5:31:b0:6b:a8:65:1b:a9:87 (md5)
Note:Dans l’exemple de certificat PKCS10, la demande commence par et inclut la ligne « BEGIN CERTIFICATE REQUEST » et se termine par et inclut la ligne « END CERTIFICATE REQUEST ». Cette partie peut être copiée-collée dans votre autorité de certification pour l’inscription. Si vous le souhaitez, vous pouvez également décharger le fichier « ms-cert-req » et l’envoyer à votre autorité de certification.
Générez la demande de certificat PKCS10 à envoyer à l’autorité de certification.
user@host> request security pki generate-certificate-request certificate-id id-name subject subject-name (domain-name domain-name | ip-address device-ip | email email-id) filename filename
Les options disponibles sont les suivantes :
certificate-id
— Nom du certificat numérique local et de la paire de clés publique/privée. Cela garantit que la paire de clés appropriée est utilisée pour la demande de certificat et, en fin de compte, pour le certificat local.subject
— Format de nom unique contenant le nom commun, le service, le nom de la société, l’état et le pays :NC — Nom commun
OU — Département
O — Raison sociale
L — Localité
ST — État
C — Pays
CN — Téléphone
DC — Composant de domaine
Note:Vous n’êtes pas obligé d’entrer tous les composants de nom d’objet. Notez également que vous pouvez entrer plusieurs valeurs de chaque type.
domain-name
— Nom de domaine complet. Le nom de domaine complet fournit l’identité du propriétaire du certificat pour les négociations IKE et fournit une alternative au nom du sujet.filename (path | terminal)
— (Facultatif) Lieu où la demande de certificat doit être placée, ou le terminal de connexion.ip-address
— (Facultatif) Adresse IP de l’appareil.email
— (Facultatif) adresse e-mail de l’administrateur de l’autorité de certification.Note:Vous devez utiliser l’une des adresses suivantes : nom de domaine, adresse IP ou adresse e-mail.
Le nom de domaine, l’adresse IP ou l’adresse e-mail définit le type d’ID IKE. Le type d’ID IKE est configuré dans le profil de passerelle IKE à l’étape 22.
La demande de certificat générée est stockée dans un emplacement de fichier spécifié. Une copie locale de la demande de certificat est enregistrée dans le stockage de certificats local. Si l’administrateur réémet cette commande, la demande de certificat est générée à nouveau.
La demande de certificat PKCS10 est stockée dans un fichier et un emplacement spécifiés, à partir desquels vous pouvez la télécharger et l’envoyer à l’autorité de certification pour inscription. Si vous n’avez pas spécifié le nom ou l’emplacement du fichier, vous pouvez obtenir les détails de la demande de certificat PKCS10 à l’aide de la commande dans l’interface de ligne de
show security pki certificate-request certificate-id <id-name>
commande. Vous pouvez copier la sortie de la commande et la coller dans un serveur Web frontal pour le serveur d’autorité de certification ou dans un message électronique.Soumettez la demande de certificat à l’autorité de certification et récupérez-le.
L’administrateur soumet la demande de certificat à l’autorité de certification. L’administrateur de l’autorité de certification vérifie la demande de certificat et génère un nouveau certificat pour le périphérique Junos OS. L’administrateur de l’équipement Junos OS le récupère, ainsi que le certificat d’autorité de certification et la liste de révocation de certificats.
Le processus de récupération du certificat d’autorité de certification, du nouveau certificat local du périphérique et de la liste de révocation de certificats auprès de l’autorité de certification dépend de la configuration de l’autorité de certification et du fournisseur de logiciels utilisé.
Pour plus d’informations sur la récupération des certificats, consultez Annexe B : Administration des autorités de certification communes.
Note:Junos OS prend en charge les fournisseurs d’autorités de certification suivants :
Confier
Verisign
Microsoft
Bien que d’autres services logiciels d’autorité de certification tels qu’OpenSSL puissent être utilisés pour générer des certificats, ces certificats ne sont pas vérifiés par Junos OS.
Junos OS peut étendre le support à d’autres fournisseurs qui se conforment aux normes de certification X.509.
Chargez le certificat local, le certificat d’autorité de certification et la liste de révocation de certificats.
Les certificats récupérés (certificat local, certificat d’autorité de certification et CRL) doivent être chargés dans le périphérique Junos OS via FTP à l’aide de l’interface de ligne de commande.
Prenez les noms suivants pour les certificats :
Certificat local — certnew.cer
Certificat d’autorité de certification — CA-certnew.cer
CRL — certcrl.crl
user@host> file copy ftp://10.10.10.10/certnew.cer certnew.cer /var/tmp//...transferring.file.........crYdEC/100% of 1459 B 5864 kBps user@host> file copy ftp:// 10.10.10.10/CA-certnew.cer CA-certnew.cer /var/tmp//...transferring.file.........UKXUWu/100% of 1049 B 3607 kBps user@host> file copy ftp:// 10.10.10.10/certcrl.crl certcrl.crl /var/tmp//...transferring.file.........wpqnpA/100% of 401 B 1611 kBps
Note:Vous pouvez vérifier que tous les fichiers ont été téléchargés à l’aide de la commande
file list
.Chargez le certificat dans le stockage local à partir du fichier externe spécifié.
Vous devez également spécifier l’ID de certificat afin de conserver la liaison appropriée avec la paire de clés privée/publique. Cette étape charge le certificat dans le stockage en cache RAM du module PKI, vérifie la clé privée associée et vérifie l’opération de signature.
user@host> request security pki local-certificate load certificate-id ms-cert filename certnew.cer Local certificate loaded successfully
Chargez le certificat d’autorité de certification à partir du fichier externe spécifié.
Vous devez spécifier le profil d’autorité de certification pour associer le certificat d’autorité de certification au profil configuré.
user@host> request security pki ca-certificate load ca-profile ms-ca filename CA-certnew.cer Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5) Do you want to load this CA certificate ? [yes,no] (no) yes CA certificate for profile ms-ca loaded successfully
Chargez la liste de révocation de certificats dans le stockage local.
La taille maximale autorisée de la liste de révocation de certificats est de 5 Mo. Vous devez spécifier le profil d’autorité de certification associé dans la commande.
user@host> request security pki crl load ca-profile ms-ca filename certcrl.crl CRL for CA profile ms-ca loaded successfully
Vérifiez que tous les certificats sont chargés.
Vous pouvez afficher les détails de tous les certificats locaux dans l’interface CLI.
user@host> show security pki local-certificate certificate-id ms-cert detail Certificate identifier: ms-cert Certificate version: 3 Serial number: 3a01c5a0000000000011 Issuer: Organization: JuniperNetworks, Organizational unit: JTAC, Country: US, State: CA, Locality: Sunnyvale, Common name: TACLAB Subject: Organization: Juniper Networks, Organizational unit: sales, Country: US, State: CA, Locality: Sunnyvale, Common name: john doe Alternate subject: "user@juniper.net", fqdn empty, ip empty Validity: Not before: 11- 2-2007 22:54 Not after: 11- 2-2008 23:04 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:e4:41:ba:b2:01:bf:09:31:73:5f:a2:82:fe 1c:fa:0b:36:a5:d0:1c:5a:91:4c:5f:1b:11:7b:51:66:16:1d:a5:85 15:82:ea:a3:ab:d7:34:ef:2b:39:2e:58:6a:4e:eb:58:03:40:b0:ca 1b:dc:4d:97:ff:56:9d:95:02:11:8b:84:05:4e:39:01:a8:62:3e:31 31:03:1a:7a:85:b0:90:6a:ac:1e:a8:ca:a1:ad:75:c4:94:bb:4a:94 8a:f3:2f:80:a4:15:0b:1f:21:a7:1f:7d:27:71:01:4e:ea:df:58:bd 69:08:d9:41:99:98:20:36:88:1b:e8:c6:f0:11:2d:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=TACLAB,CN=TACLABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=tacdomain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://taclabsrv1.tacdomain.com/CertEnroll/TACLAB.crl Fingerprint: c9:6d:3d:3e:c9:3f:57:3c:92:e0:c4:31:fc:1c:93:61:b4:b1:2d:58 (sha1) 50:5d:16:89:c9:d3:ab:5a:f2:04:8b:94:5d:5f:65:bd (md5)
Note:Vous pouvez afficher les détails du certificat individuel en spécifiant certificate-ID dans la ligne de commande. Vous pouvez également sélectionner le format de sortie comme bref ou détaillé.
Affichez les certificats d’autorité de certification.
Affichez tous les certificats d’autorité de certification ou les certificats d’autorité de certification d’un profil d’autorité de certification individuel (spécifié).
user@host> show security pki ca-certificate ca-profile ms-ca detail Certificate identifier: ms-ca Certificate version: 3 Serial number: 44b033d1e5e158b44597d143bbfa8a13 Issuer: Organization: JuniperNetworks, Organizational unit: JTAC, Country: US, State: CA, Locality: Sunnyvale, Common name: TACLAB Subject: Organization: JuniperNetworks, Organizational unit: JTAC, Country: US, State: CA, Locality: Sunnyvale, Common name: TACLAB Validity: Not before: 09-25-2007 20:32 Not after: 09-25-2012 20:41 Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:d1:9e:6f:f4:49:c8:13:74:c3:0b:49:a0:56 11:90:df:3c:af:56:29:58:94:40:74:2b:f8:3c:61:09:4e:1a:33:d0 8d:53:34:a4:ec:5b:e6:81:f5:a5:1d:69:cd:ea:32:1e:b3:f7:41:8e 7b:ab:9c:ee:19:9f:d2:46:42:b4:87:27:49:85:45:d9:72:f4:ae:72 27:b7:b3:be:f2:a7:4c:af:7a:8d:3e:f7:5b:35:cf:72:a5:e7:96:8e 30:e1:ba:03:4e:a2:1a:f2:1f:8c:ec:e0:14:77:4e:6a:e1:3b:d9:03 ad:de:db:55:6f:b8:6a:0e:36:81:e3:e9:3b:e5:c9:02:03:01:00:01 Signature algorithm: sha1WithRSAEncryption Distribution CRL: ldap:///CN=TACLAB,CN=TACLABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=tacdomain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://taclabsrv1.tacdomain.com/CertEnroll/TACLAB.crl Use for key: CRL signing, Certificate signing, Non repudiation Fingerprint: 1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1) 90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5)
Consultez la liste de révocation de certificats.
Affichez toutes les listes de révocation de certificats chargées ou les listes de révocation de certificats du profil d’autorité de certification individuel spécifié.
Note:Vous pouvez sélectionner le format de sortie comme bref ou détaillé pour afficher les informations de la CRL ; À l’heure actuelle, les deux options fournissent le même résultat.
Syntax (operational mode): user@host> show security pki crl ca-profile ca-profile [brief | detail] Example:
user@host> show security pki crl ca-profile ms-ca detail CA profile: ms-ca CRL version: V00000001 CRL issuer: emailAddress = certadmin@juniper.net, C = US, ST = CA, L = Sunnyvale, O = JuniperNetworks, OU = JTAC, CN = TACLAB Effective date: 10-30-2007 20:32 Next update: 11- 7-2007 08:52
Vérifiez le chemin d’accès au certificat local et au certificat d’autorité de certification.
user@host> request security pki local-certificate verify certificate-id ms-cert Local certificate ms-cert verification success user@host> request security pki ca-certificate verify ca-profile ms-ca CA certificate ms-ca verified successfully
Utilisez les certificats dans un VPN IPsec.
Note:Les étapes de configuration d’un VPN à l’aide d’un certificat sont similaires à celles de configuration d’un VPN à l’aide de clés prépartagées. La seule différence est la méthode d’authentification utilisée pour la stratégie IKE (Phase 1). Aucune modification n’est requise pour la configuration IPsec (phase 2) car l’utilisation de certificats fait partie des négociations de la phase 1.
Les étapes de configuration suivantes décrivent comment configurer un VPN basé sur des stratégies, car cette méthode est la plus couramment utilisée pour les VPN d’accès à distance.
Note:Pour plus d’informations sur la configuration VPN, reportez-vous aux guides de configuration des services étendus Junos OS.
Note:Pour plus d’informations sur les notes relatives aux applications Junos OS Enhanced Services, reportez-vous à la KB10182 (https://kb.juniper.net/KB10182) disponible dans la base de connaissances Juniper Networks.
Procédure étape par étape
Pour configurer le VPN IPsec avec le certificat :
Note:Reportez-vous au diagramme de réseau illustré à la figure 1 pour effectuer les étapes suivantes.
Configurez les zones de sécurité et liez les interfaces aux zones appropriées. Assurez-vous que tous les services hôtes entrants nécessaires sont activés sur les interfaces ou les zones. Dans cet exemple, activez le service IKE Internet sur l’interface
ge-0/0/3
ou dans la zone de non-approbation.Configurez les entrées du carnet d’adresses pour chaque zone pour les stratégies de tunnel.
Configurez les propositions IKE (phase 1) pour utiliser le chiffrement RSA.
Configurez une stratégie IKE spécifiant la proposition RSA, le certificat local, le certificat d’autorité de certification et le certificat homologue de type x.509.
Configurez les paramètres de la passerelle IKE en spécifiant la stratégie IKE et un homologue dynamique identifié par le nom d’hôte.
Cette étape dépend de la façon dont la demande de certificat a été générée précédemment. Dans cet exemple, « CN=ssg5.juniper.net » a été spécifié lors de la demande de certificat par SSG5, ce qui signifie que le type d’ID IKE est le nom d’hôte.
Configurez les paramètres VPN IPsec (phase 2).
Vous pouvez également configurer les paramètres du moniteur VPN si nécessaire. Dans cet exemple, l’ensemble de propositions standard et le groupe PFS 2 sont utilisés ; Cependant, vous pouvez créer une proposition différente si nécessaire.
Configurez les stratégies de tunnel pour autoriser le trafic des bureaux distants dans le réseau local hôte et vice versa. Configurez également une stratégie « trust » sortante à « untrust » allow-all avec NAT source pour le trafic Internet. Assurez-vous que la politique de tunnel est supérieure à la politique autorisant tout. Sinon, la recherche de stratégie n’atteindra jamais la stratégie de tunnel.
Configurez la taille de segment maximale TCP (tcp-mss) pour le trafic IPsec afin d’éliminer la possibilité de fragmentation du trafic TCP. Cette étape réduit l’utilisation des ressources sur l’appareil.
Configurez les zones de sécurité et attribuez-leur des interfaces.
Les zones d’entrée (entrante) et de sortie (sortante) sont déterminées par les interfaces d’entrée et de sortie impliquées dans la recherche d’itinéraire.
Dans cet exemple, les paquets sont entrants le
ge-0/0/0
et la zone d’entrée est la zone de confiance.Après la recherche d’itinéraire, l’interface de sortie est , et la zone de sortie est
ge-0/0/3
la zone d’approbation. La stratégie de tunnel doit donc être configurée en tant que « confiance de zone à confiance de zone » et vice versa.[edit] user@host# set security zones security-zone trust interfaces ge-0/0/0.0 user@host# set security zones security-zone untrust interfaces ge-0/0/3.0
Configurez les services hôtes entrants pour chaque zone.
Les services host-inbound sont destinés au trafic destiné à l’équipement Junos OS. Ces paramètres incluent, sans s’y limiter, FTP, HTTP, HTTPS, IKE, ping, rlogin, RSH, SNMP, SSH, Telnet, TFTP et traceroute.
Cet exemple suppose que tous les services entrants sur l’hôte doivent être autorisés à partir de l’approbation de zone. Pour des raisons de sécurité, nous n’autorisons IKE que sur la zone de méfiance Internet requise pour que les négociations IKE aient lieu. Toutefois, d’autres services, tels que les services de gestion ou de dépannage, peuvent également être activés individuellement si nécessaire.
[edit] user@host# set security zones security-zone trust host-inbound-traffic system-services all user@host# set security zones security-zone untrust host-inbound-traffic system-services ike
Configurez les entrées du carnet d’adresses pour chaque zone.
Cet exemple utilise les noms d’objet de carnet d’adresses local-net et remote-net. Il existe certaines limitations quant aux caractères pris en charge pour les noms de carnet d’adresses. Reportez-vous à la documentation complète de Junos OS pour plus de détails.
[edit] user@host# set security zones security-zone trust address-book address local-net 10.10.10.0/24 user@host# set security zones security-zone untrust address-book address remote-net 192.168.168.0/24
Configurez la proposition IKE (Phase 1) pour utiliser le chiffrement RSA.
Cet exemple utilise le chiffrement 3DES, l’algorithme d’authentification SHA1 et les clés Diffie-Hellman Group 2.
user@host# set security ike proposal rsa-prop1 authentication-method rsa-signatures user@host# set security ike proposal rsa-prop1 encryption-algorithm 3des-cbc user@host# set security ike proposal rsa-prop1 authentication-algorithm sha1 user@host# set security ike proposal rsa-prop1 dh-group group2
Configurez une stratégie IKE.
L’échange de phase 1 peut avoir lieu en mode principal ou en mode agressif.
Le mode principal est généralement utilisé pour les VPN de site à site avec des homologues IP statiques. Le mode agressif est utilisé pour les pairs IP dynamiques et d’accès à distance.
Cet exemple utilise le mode principal car les deux côtés ont des adresses IP statiques, même si le nom d’hôte (généralement utilisé pour les tunnels dynamiques) est utilisé ici pour l’ID IKE.
[edit] user@host# set security ike policy ike-policy1 mode main user@host# set security ike policy ike-policy1 proposals rsa-prop1 user@host# set security ike policy ike-policy1 certificate local-certificate ms-cert user@host# set security ike policy ike-policy1 certificate peer-certificate-type x509- signature user@host# set security ike policy ike-policy1 certificate trusted-ca use-all
Configurez une passerelle IKE.
Un homologue IKE distant peut être identifié par son adresse IP, FQDN/U-FQDN ou ASN1-DN (certificats PKI).
Dans cet exemple, l’homologue est identifié par un nom d’hôte (nom d’hôte). Par conséquent, l’ID IKE de la passerelle doit être le nom de domaine de l’homologue distant. Vous devez spécifier l’interface externe ou l’ID d’homologue correct pour identifier correctement la passerelle IKE lors de l’installation de la phase 1.
[edit] user@host# set security ike gateway ike-gate external-interface ge-0/0/3.0 user@host# set security ike gateway ike-gate ike-policy ike-policy1 user@host# set security ike gateway ike-gate dynamic hostname ssg5.juniper.net
Configurez la stratégie IPsec.
Cet exemple utilise l’ensemble de propositions standard, qui inclut
esp-group2-3des-sha1
desesp-group2- aes128-sha1
propositions. Toutefois, une proposition unique peut être créée, puis spécifiée dans la stratégie IPsec si nécessaire.[edit] user@host# set security ipsec policy vpn-policy1 proposal-set standard user@host# set security ipsec policy vpn-policy1 perfect-forward-secrecy keys group2
Configurez le VPN IPsec avec une passerelle IKE et une stratégie IPsec.
Dans cet exemple, le nom du
ike-vpn
VPN doit être référencé dans la stratégie de tunnel pour créer une association de sécurité. En outre, si nécessaire, un temps d’inactivité et un ID de proxy peuvent être spécifiés s’ils sont différents des adresses de stratégie de tunnel.[edit] user@host# set security ipsec vpn ike-vpn ike gateway ike-gate user@host# set security ipsec vpn ike-vpn ike ipsec-policy vpn-policy1
Configurez des stratégies de tunnel bidirectionnel pour le trafic VPN.
Dans cet exemple, le trafic entre le réseau local hôte et le réseau local du bureau distant nécessite une stratégie de tunnel « confiance de zone à zone non fiable ». Toutefois, si une session doit provenir du réseau local distant vers le réseau local hôte, une stratégie de tunnel allant dans le sens inverse « confiance de zone à zone » est également requise. En spécifiant la stratégie dans la direction opposée à celle de la stratégie de paire, le VPN devient bidirectionnel. Notez également qu’en plus de l’action
permit
, vous devez également spécifier le profil IPsec à utiliser. De plus, le NAT source peut être activé sur la stratégie si vous le souhaitez, mais cela dépasse le cadre de cette note d’application. Notez que pour les stratégies de tunnel, l’action est toujours autorisée. En fait, si vous configurez une stratégie avec action de refus, vous ne verrez pas d’option pour spécifier le tunnel.[edit security policies from-zone trust to-zone untrust] user@host# edit security policies from-zone trust to-zone untrust user@host# set policy tunnel-policy-out match source-address local-net user@host# set policy tunnel-policy-out match destination-address remote-net user@host# set policy tunnel-policy-out match application any user@host# set policy tunnel-policy-out then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-in user@host# top edit security policies from-zone untrust to-zone trust user@host# set policy tunnel-policy-in match source-address remote-net user@host# set policy tunnel-policy-in match destination-address local-net user@host# set policy tunnel-policy-in match application any user@host# set policy tunnel-policy-in then permit tunnel ipsec-vpn ike-vpn pair-policy tunnel-policy-out [edit security policies from-zone untrust to-zone trust] user@host# top user@host# exit
Configurez une stratégie de sécurité pour le trafic Internet.
Une stratégie de sécurité est requise pour autoriser tout le trafic, de l’approbation de zone à l’approbation de zone.
Le périphérique utilise l’adresse IP spécifiée
source-nat interface
et traduit l’adresse IP source et le port pour le trafic sortant, en utilisant l’adresse IP de l’interface de sortie comme adresse IP source et un port aléatoire supérieur pour le port source. Si nécessaire, des politiques plus précises peuvent être créées pour autoriser/refuser certains trafics.[edit] user@host# edit security policies from-zone trust to-zone untrust [edit security policies from-zone trust to-zone untrust] user@host# set policy any-permit match source-address any user@host# set policy any-permit match destination-address any user@host# set policy any-permit match application any user@host# set policy any-permit then permit source-nat interface user@host# top user@host# exit
Notez que la stratégie de sécurité doit se trouver sous la stratégie de tunnel dans la hiérarchie, car la liste des stratégies est lue de haut en bas. Si cette stratégie dépassait la stratégie de tunnel, le trafic correspondrait toujours à cette stratégie et ne continuerait pas avec la stratégie suivante. Ainsi, aucun trafic utilisateur ne serait chiffré. Pour déplacer la stratégie de tunnel au-dessus de la stratégie, utilisez la
any-permit
insert policy
commande ci-dessous :[edit] user@host# edit security policies from-zone trust to-zone untrust [edit security policies from-zone trust to-zone untrust] user@host# insert policy tunnel-policy-out before policy any-permit user@host# top user@host# exit
Configurez le paramètre pour le trafic TCP à travers le
tcp-mss
tunnel.TCP-MSS est négocié dans le cadre de la négociation TCP 3-way. Il limite la taille maximale d’un segment TCP pour tenir compte des limites d’unité de transmission maximale (MTU) sur un réseau. Ceci est très important pour le trafic VPN, car la surcharge d’encapsulation IPsec ainsi que l’IP et la surcharge de trame peuvent entraîner le dépassement du paquet ESP résultant de la MTU de l’interface physique, provoquant une fragmentation. La fragmentation augmente l’utilisation de la bande passante et des ressources de l’appareil, et il vaut toujours mieux l’éviter.
La valeur recommandée pour tcp-mss est 1350 pour la plupart des réseaux Ethernet avec un MTU de 1500 ou plus. Il peut être nécessaire de modifier cette valeur si un périphérique dans le chemin a une valeur inférieure de MTU ou s’il y a une surcharge supplémentaire telle que PPP, relais de trame, etc. En règle générale, vous devrez peut-être expérimenter différentes valeurs pour obtenir des
tcp-mss
performances optimales.user@host# set security flow tcp-mss ipsec-vpn mss mss-value Example: [edit] user@host# set security flow tcp-mss ipsec-vpn mss 1350 [edit] user@host# commit and-quit commit complete Exiting configuration mode
Cette étape fournit des informations sur la configuration du périphérique SSG. Cet exemple étant axé sur la configuration et le dépannage de Junos OS, la configuration du périphérique SSG est expliquée brièvement dans cette étape.
Pour afficher les paramètres de configuration de la figure 1, un échantillon des configurations pertinentes est fourni à partir d’un périphérique SSG5 strictement à titre de référence.
Toutefois, les concepts relatifs à la configuration des VPN basés sur des stratégies pour les pare-feu/VPN Juniper Networks sont disponibles dans les guides Concepts et exemples (C&E). Pour plus d’informations, consultez le Guide de référence Concepts et exemples de ScreenOS disponible sur https://www.juniper.net/documentation/software/screenos/.
L’exemple suivant est un exemple pertinent d’une configuration SSG5 :
user@host# set interface ethernet0/6 ip 192.168.168.1/24 user@host# set interface ethernet0/6 route user@host# set interface ethernet0/0 ip 2.2.2.2/30 user@host# set interface ethernet0/0 route user@host# set flow tcp-mss 1350 user@host# set domain juniper.net user@host# set hostname ssg5 user@host# set pki x509 default cert-path partial user@host# set pki x509 dn country-name "US" user@host# set pki x509 dn state-name "CA" user@host# set pki x509 dn local-name "Sunnyvale" user@host# set pki x509 dn org-name "Juniper Networks" user@host# set pki x509 dn org-unit-name "Sales" user@host# set pki x509 dn ip 2.2.2.2 user@host# set dns host dns1 4.2.2.1 user@host# set dns host dns2 4.2.2.2 user@host# set address "Trust" "local-net" 192.168.168.0 255.255.255.0 user@host# set address "Untrust" "corp-net" 10.10.10.0 255.255.255.0 user@host# set ike gateway "corp-ike" address 1.1.1.2 Main outgoing-interface ethernet0/0 proposal "rsa-g2- 3des-sha" user@host# set vpn "corp-vpn" gateway "corp-ike" replay tunnel idletime 0 sec-level standard user@host# set policy id 11 from "Trust" to "Untrust" "local-net" "corp-net" "ANY" tunnel vpn "corp-vpn" pairpolicy 10 user@host# set policy id 10 from "Untrust" to "Trust" "corp-net" "local-net" "ANY" tunnel vpn "corp-vpn" pairpolicy 11 user@host# set policy id 1 from "Trust" to "Untrust" "ANY" "ANY" "ANY" nat src permit user@host# set ntp server "130.126.24.24" user@host# set route 0.0.0.0/0 interface ethernet0/0 gateway 2.2.2.1
Vérification
La vérification et le dépannage du protocole IKE et IPsec sont similaires à ceux des VPN de site à site utilisant des clés prépartagées, à l’exception de l’utilisation du certificat pour les méthodes d’identification, d’authentification et de chiffrement IKE.
Pour plus d’informations, consultez les rubriques suivantes :
Base de connaissances Juniper Networks à https://kb.juniper.net.
Utilisez l’ID de la base de connaissances : KB10182KB10182 pour obtenir la liste des notes d’application relatives à la configuration VPN et aux informations de dépannage.
Guides de configuration disponibles sur https://www.juniper.net/documentation/.
Procédez comme suit pour vérifier la configuration IKE et IPsec :
- Confirmer le statut IKE Phase 1
- Obtenir des détails sur les associations de sécurité individuelles
- Confirmation du statut IPsec Phase 2
- Afficher les détails de l’association de sécurité IPsec
- Vérifier les statistiques IPsec SA
- Tester le flux de trafic sur le VPN
- Confirmez la connectivité
Confirmer le statut IKE Phase 1
But
Pour confirmer l’état du VPN en vérifiant l’état des associations de sécurité IKE Phase 1.
L’infrastructure PKI liée aux tunnels IPsec est formée lors de l’installation de la phase 1. L’achèvement de la phase 1 indique que l’ICP a réussi.
Action
user@host> show security ike security-associations Index Remote Address State Initiator cookie Responder cookie Mode 202.2.2.2 UP af4f78bc135e4365 48a35f853ee95d21 Main
Sens
La sortie indique que
L’homologue distant est et le statut est
2.2.2.2
UP
, ce qui signifie l’association réussie de l’établissement de la phase 1.L’ID IKE de l’homologue distant, la stratégie IKE et les interfaces externes sont tous corrects.
Index 20
est une valeur unique pour chaque association de sécurité IKE. Vous pouvez utiliser ces détails de sortie pour obtenir plus de détails sur chaque association de sécurité. Reportez-vous à la section Obtenir des détails sur les associations de sécurité individuelles.
Une sortie incorrecte indiquerait que :
L’état de l’homologue distant est .
Down
Il n’y a pas d’associations de sécurité IKE.
Il existe des paramètres de stratégie IKE, tels que le mauvais type de mode (Aggr ou Main), les problèmes PKI ou les propositions de phase 1 (tous doivent correspondre sur les deux pairs). Pour plus d’informations, consultez Dépannage des problèmes IKE, PKI et IPsec.
L’interface externe n’est pas valide pour recevoir les paquets IKE. Vérifiez les configurations pour les problèmes liés à PKI ou consultez le journal kmd pour toute autre erreur ou exécutez traceoptions pour trouver la incompatibilité. Pour plus d’informations, consultez Dépannage des problèmes IKE, PKI et IPsec.
Obtenir des détails sur les associations de sécurité individuelles
But
Obtenez des détails sur les associations de sécurité IKE individuelles.
Action
user@host> show security ike security-associations index 20 detail IKE peer 2.2.2.2, Index 20, Role: Responder, State: UP Initiator cookie: af4f78bc135e4365, Responder cookie: 48a35f853ee95d21 Exchange type: Main, Authentication method: RSA-signatures Local: 1.1.1.2:500, Remote: 2.2.2.2:500 Lifetime: Expires in 23282 seconds Algorithms: Authentication : sha1 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Traffic statistics: Input bytes : 10249 Output bytes : 4249 Input packets: 10 Output packets: 9 Flags: Caller notification sent IPsec security associations: 2 created, 1 deleted Phase 2 negotiations in progress: 0
Sens
La sortie affiche les détails des SA IKE individuels tels que le rôle (initiateur ou répondeur), le statut, le type d’échange, la méthode d’authentification, les algorithmes de chiffrement, les statistiques de trafic, l’état de la négociation de phase 2, etc.
Vous pouvez utiliser les données de sortie pour :
Connaître le rôle de l’IKE SA. Le dépannage est plus facile lorsque le pair a le rôle de répondant.
Obtenez les statistiques de trafic pour vérifier le flux de trafic dans les deux sens.
Obtenez le nombre d’associations de sécurité IPsec créées ou en cours.
Obtenez l’état d’avancement de toutes les négociations de la phase 2 terminées.
Confirmation du statut IPsec Phase 2
But
Affichez les associations de sécurité IPsec (phase 2).
La phase 2 se déroule de la même manière qu’avec les VPN non basés sur un certificat.
Lorsque la phase 1 de l’IKE est confirmée, affichez les associations de sécurité IPsec (phase 2).
Action
user@host> show security ipsec security-associations total configured sa: 2 ID Gateway Port Algorithm SPI Life:sec/kb Mon vsys <2 2.2.2.2 500 ESP:3des/sha1 bce1c6e0 1676/ unlim - 0 >2 2.2.2.2 500 ESP:3des/sha1 1a24eab9 1676/ unlim - 0
Sens
La sortie indique que
Une paire de SA IPsec configurée est disponible. Le numéro de
500
port indique qu’un port IKE standard est utilisé. Sinon, il s’agit de Network Address Translation-Traversal (NAT-T), 4500 ou d’un port haut aléatoire.L’indice des paramètres de sécurité (SPI) est utilisé dans les deux sens. La durée de vie ou les limites d’utilisation du SA sont exprimées en secondes ou en kilo-octets. Dans la sortie,
1676/ unlim
indique que la durée de vie de la phase 2 doit expirer dans 1676 secondes et qu’aucune taille de durée de vie n’est spécifiée.Le
ID
nombre indique la valeur d’index unique pour chaque SA IPsec.Un trait d’union (
-
) dans la colonne indique que la surveillance VPN n’estMon
pas activée pour cette SA.Le système virtuel (
vsys
) est égal à zéro, qui est la valeur par défaut.
La durée de vie de la phase 2 peut être différente de la durée de vie de la phase 1, car la phase 2 ne dépend pas de la phase 1 après la mise en place du VPN.
Pour plus d’informations sur la surveillance VPN, reportez-vous à la documentation complète de Junos OS disponible à l’adresse https://www.juniper.net/documentation/.
Afficher les détails de l’association de sécurité IPsec
But
Affichez les détails individuels de la SA IPsec identifiés par le numéro d’index.
Action
user@host> show security ipsec security-associations index 2 detail Virtual-system: Root Local Gateway: 1.1.1.2, Remote Gateway: 2.2.2.2 Local Identity: ipv4_subnet(any:0,[0..7]=10.10.10.0/24) Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24) DF-bit: clear Policy-name: tunnel-policy-out Direction: inbound, SPI: bce1c6e0, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32 Direction: outbound, SPI: 1a24eab9, AUX-SPI: 0 Hard lifetime: Expires in 1667 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 1093 seconds Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: - Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Anti-replay service: enabled, Replay window size: 32
Sens
La sortie affiche l’identité locale et l’identité distante.
Notez qu’une incompatibilité d’ID de proxy peut entraîner l’échec de l’achèvement de la phase 2. L’ID de proxy est dérivé de la stratégie de tunnel (pour les VPN basés sur des stratégies). L’adresse locale et l’adresse distante sont dérivées des entrées du carnet d’adresses et le service est dérivé de l’application configurée pour la stratégie.
Si la phase 2 échoue en raison d’une incompatibilité d’ID proxy, vérifiez quelles entrées de carnet d’adresses sont configurées dans la stratégie et assurez-vous que les adresses correctes sont envoyées. Assurez-vous également que les ports correspondent. Vérifiez le service pour vous assurer que les ports correspondent aux serveurs distant et locaux.
Si plusieurs objets sont configurés dans une stratégie de tunnel pour l’adresse source, l’adresse de destination ou l’application, l’ID proxy résultant pour ce paramètre est remplacé par des zéros.
Par exemple, supposons le scénario suivant pour une stratégie de tunnel :
Adresses locales 10.10.10.0/24 et 10.10.20.0/24
Adresse distante : 192.168.168.0/24
Application en tant que junos-http
L’ID proxy résultant est local 0.0.0.0/0, distant 192.168.168.0/24, service 80.
Les ID de proxy qui en résultent peuvent affecter l’interopérabilité si l’homologue distant n’est pas configuré pour le deuxième sous-réseau. De plus, si vous utilisez l’application d’un fournisseur tiers, vous devrez peut-être saisir manuellement l’ID de proxy correspondant.
Si IPsec ne se termine pas, vérifiez le journal kmd ou définissez traceoptions. Pour plus d’informations, consultez Dépannage des problèmes IKE, PKI et IPsec.
Vérifier les statistiques IPsec SA
But
Vérifiez les statistiques et les erreurs pour une SA IPsec.
À des fins de dépannage, vérifiez si les compteurs ESP/AH (Encapsulating Security Payload/Authentication Header) n’ont pas d’erreur avec une SA IPsec particulière.
Action
user@host> show security ipsec statistics index 2 ESP Statistics: Encrypted bytes: 674784 Decrypted bytes: 309276 Encrypted packets: 7029 Decrypted packets: 7029 AH Statistics: Input bytes: 0 Output bytes: 0 Input packets: 0 Output packets: 0 Errors: AH authentication failures: 0, Replay errors: 0 ESP authentication failures: 0, ESP decryption failures: 0 Bad headers: 0, Bad trailers: 0
Sens
Une valeur d’erreur de zéro dans la sortie indique une condition normale.
Nous vous recommandons d’exécuter cette commande plusieurs fois pour observer tout problème de perte de paquets sur un VPN. La sortie de cette commande affiche également les statistiques des compteurs de paquets chiffrés et déchiffrés, des compteurs d’erreurs, etc.
Vous devez activer les traceoptions de flux de sécurité pour déterminer quels paquets ESP rencontrent des erreurs et pourquoi. Pour plus d’informations, consultez Dépannage des problèmes IKE, PKI et IPsec.
Tester le flux de trafic sur le VPN
But
Testez le flux de trafic sur le VPN une fois les phases 1 et 2 terminées avec succès. Vous pouvez tester le flux de trafic à l’aide de la ping
commande. Vous pouvez effectuer un ping d’un hôte local à un hôte distant. Vous pouvez également lancer des pings à partir du périphérique Junos OS lui-même.
Cet exemple montre comment lancer une requête ping depuis le périphérique Junos OS vers l’hôte distant. Notez que lorsque des pings sont lancés à partir du périphérique Junos OS, l’interface source doit être spécifiée pour garantir que la recherche de route correcte a lieu et que les zones appropriées sont référencées dans la recherche de stratégie.
Dans cet exemple, l’interface réside dans la même zone de sécurité que l’hôte ge-0/0/0.0
local et doit être spécifiée dans la requête ping pour que la recherche de stratégie puisse passer de zone trust à zone untrust.
Action
user@host> ping 192.168.168.10 interface ge-0/0/0 count 5 PING 192.168.168.10 (192.168.168.10): 56 data bytes 64 bytes from 192.168.168.10: icmp_seq=0 ttl=127 time=8.287 ms 64 bytes from 192.168.168.10: icmp_seq=1 ttl=127 time=4.119 ms 64 bytes from 192.168.168.10: icmp_seq=2 ttl=127 time=5.399 ms 64 bytes from 192.168.168.10: icmp_seq=3 ttl=127 time=4.361 ms 64 bytes from 192.168.168.10: icmp_seq=4 ttl=127 time=5.137 ms --- 192.168.168.10 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.119/5.461/8.287/1.490 ms
Confirmez la connectivité
But
Confirmez la connectivité entre un hôte distant et un hôte local.
Action
ssg5-> ping 10.10.10.10 from ethernet0/6 Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 1 seconds from ethernet0/6 !!!!! Success Rate is 100 percent (5/5), round-trip time min/avg/max=4/4/5 ms
Sens
Vous pouvez confirmer la connectivité de bout en bout à l’aide de la commande de l’hôte distant à l’hôte ping
local. Dans cet exemple, la commande est lancée à partir du périphérique SSG5.
Un échec de la connectivité de bout en bout peut indiquer un problème de routage, de stratégie, d’hôte final ou de chiffrement/déchiffrement des paquets ESP. Pour vérifier les causes exactes de l’échec :
Consultez les statistiques IPsec pour plus de détails sur les erreurs, comme décrit dans Vérifier les statistiques IPsec SA .
Confirmez la connectivité de l’hôte final à l’aide de la commande d’un hôte sur le même sous-réseau que l’hôte
ping
final. Si l’hôte final est accessible par d’autres hôtes, vous pouvez supposer que le problème ne provient pas de l’hôte final.Activez les traceoptions de suivi de flux de sécurité pour résoudre les problèmes liés au routage et aux stratégies.
Ces détails ne sont pas abordés dans cet exemple, mais vous pouvez obtenir plus de détails dans les notes relatives aux applications VPN pour Junos OS disponibles à https://kb.juniper.net/.
Résolution des problèmes IKE, PKI et IPsec
Les étapes de dépannage de base sont les suivantes :
Identifier et isoler le problème.
Débogage du problème.
L’approche courante consistant à démarrer le dépannage consiste à utiliser la couche la plus basse des couches OSI et à remonter la pile OSI pour confirmer la couche dans laquelle la défaillance se produit. Les étapes de dépannage IKE, PKI et IPsec sont les suivantes :
Confirmez la connectivité physique de la liaison Internet au niveau de la liaison physique et de la liaison de données.
Vérifiez que le périphérique Junos OS est connecté au saut suivant Internet et à l’homologue IKE distant.
Confirmez l’achèvement de la phase 1 de l’IKE.
Confirmez l’achèvement de la phase 2 de l’IKE si l’achèvement de la phase 1 de l’IKE est réussi.
Confirmez le flux de trafic sur le VPN (si le VPN est opérationnel et actif).
Junos OS inclut la fonctionnalité traceoptions. À l’aide de cette fonctionnalité, vous pouvez activer un indicateur traceoption pour écrire les données de traceoption dans un fichier journal, qui peut être prédéterminé ou configuré manuellement et stocké dans la mémoire flash. Ces journaux de suivi peuvent être conservés même après un redémarrage du système. Vérifiez le stockage flash disponible avant d’implémenter traceoptions.
Vous pouvez activer la fonctionnalité traceoptions en mode configuration et valider la configuration pour utiliser la fonctionnalité traceoptions. De même, pour désactiver traceoptions, vous devez désactiver traceoptions en mode configuration et valider la configuration.
- Vérifiez l’espace disque disponible sur votre appareil
- Vérifiez les fichiers journaux pour vérifier différents scénarios et télécharger les fichiers journaux sur un FTP
- Activer IKE Traceoptions pour afficher les messages sur IKE
- Activer les traceoptions PKI pour afficher les messages sur IPsec
- Configuration des traceoptions IKE et PKI pour résoudre les problèmes de configuration IKE liés aux certificats
- Analyse du message de réussite de la phase 1
- Analyse du message d’échec de la phase 1 (incompatibilité de la proposition)
- Analyse du message d’échec de phase 1 (échec d’authentification)
- Analyse du message d’échec de la phase 1 (erreur de délai d’attente)
- Analyse du message d’échec de phase 2
- Analyse du message d’échec de phase 2
- Problèmes courants liés à l’IKE et à la PKI
Vérifiez l’espace disque disponible sur votre appareil
Problème
Vérifiez les statistiques sur l’espace disque disponible dans les systèmes de fichiers de votre appareil.
Solution
user@host> show system storage Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 213M 74M 137M 35% / devfs 1.0K 1.0K 0B 100% /dev devfs 1.0K 1.0K 0B 100% /dev/ /dev/md0 180M 180M 0B 100% /junos /cf 213M 74M 137M 35% /junos/cf devfs 1.0K 1.0K 0B 100% /junos/dev/ procfs 4.0K 4.0K 0B 100% /proc /dev/bo0s1e 24M 13K 24M 0% /config /dev/md1 168M 7.6M 147M 5% /mfs /cf/var/jail 213M 74M 137M 35% /jail/var
Le /dev/ad0s1a
représente la mémoire flash embarquée et est actuellement à 35% de sa capacité.
Vous pouvez afficher le stockage système disponible dans l’interface J-Web sous l’option Stockage système .
Vous pouvez activer traceoptions pour consigner les données de trace dans les noms de fichiers spécifiés ou dans le fichier journal par défaut afin de recevoir le résultat de l’opération de suivi.
La sortie des traceoptions est placée dans /var/log/kmd.
Vérifiez les fichiers journaux pour vérifier différents scénarios et télécharger les fichiers journaux sur un FTP
Problème
Affichez les fichiers journaux pour vérifier les messages de débogage IKE de sécurité, les débogages des flux de sécurité et l’état de la journalisation dans le syslog.
Solution
user@host> show log kmd user@host> show log pkid user@host> show log security-trace user@host> show log messages
Vous pouvez afficher la liste de tous les journaux du répertoire /var/log à l’aide de la show log
commande.
Les fichiers journaux peuvent également être téléchargés sur un serveur FTP à l’aide de la file copy
commande.
(operational mode): user@host> file copy path/filename dest-path/filename Example:
user@host> file copy /var/log/kmd ftp://10.10.10.10/kmd.log
ftp://10.10.10.10/kmd.log 100% of 35 kB 12 MBps
Activer IKE Traceoptions pour afficher les messages sur IKE
Problème
Pour afficher les messages de réussite ou d’échec pour IKE ou IPsec, vous pouvez afficher le journal du processus de gestion des clés (kmd) à l’aide de la show log kmd
commande. Étant donné que le journal kmd affiche des messages généraux, il peut être utile d’obtenir des détails supplémentaires en activant les traceoptions IKE et PKI.
En règle générale, il est recommandé de dépanner l’homologue qui a le rôle de répondant. Vous devez obtenir la sortie de trace de l’initiateur et du répondeur pour comprendre la cause d’une panne.
Configurez les options de suivi IKE.
Solution
user@host> configure Entering configuration mode [edit] user@host# edit security ike traceoptions [edit security ike traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security ike traceoptions]
user@host# set flag ? Possible completions: all Trace everything certificates Trace certificate events database Trace security associations database events general Trace general events ike Trace IKE module processing parse Trace configuration processing policy-manager Trace policy manager processing routing-socket Trace routing socket messages timer Trace internal timer events
Si vous ne spécifiez pas de noms de fichier pour le champ, toutes les traceoptions IKE sont écrites dans le <filename>
journal kmd.
Vous devez spécifier au moins une option d’indicateur pour écrire des données de suivi dans le journal. Par exemple :
file size
— Taille maximale de chaque fichier de trace, en octets. Par exemple, 1m ou 1000000 peut générer une taille de fichier maximale de 1 Mo.files
— Nombre maximal de fichiers de trace à générer et à stocker en flash.
Vous devez valider votre configuration pour démarrer le suivi.
Activer les traceoptions PKI pour afficher les messages sur IPsec
Problème
Activez PKI traceoptions pour identifier si une défaillance IKE est liée au certificat ou à un problème non PKI.
Solution
user@host> configure Entering configuration mode [edit] user@host# edit security pki traceoptions [edit security pki traceoptions]
user@host# set file ? Possible completions: <filename> Name of file in which to write trace information files Maximum number of trace files (2..1000) match Regular expression for lines to be logged no-world-readable Don't allow any user to read the log file size Maximum trace file size (10240..1073741824) world-readable Allow any user to read the log file
[edit security pki traceoptions]
user@host# set flag ? Possible completions: all Trace with all flags enabled certificate-verification PKI certificate verification tracing online-crl-check PKI online crl tracing
Configuration des traceoptions IKE et PKI pour résoudre les problèmes de configuration IKE liés aux certificats
Problème
Configurez les paramètres recommandés pour les traceoptions IKE et PKI.
Les traceoptions IKE et PKI utilisent les mêmes paramètres, mais le nom de fichier par défaut pour toutes les traces liées à PKI se trouve dans le journal pkid.
Solution
user@host> configure Entering configuration mode [edit] user@host# edit security ike traceoptions [edit security ike traceoptions] user@host# set file size 1m user@host# set flag ike user@host# set flag policy-manager user@host# set flag routing-socket user@host# set flag certificates [edit security ike traceoptions] user@host# top edit security pki traceoptions [edit security pki traceoptions] user@host# set file size 1m [edit security pki traceoptions] user@host# set flag all [edit security pki traceoptions] user@host# commit and-quit commit complete Exiting configuration mode
Analyse du message de réussite de la phase 1
Problème
Comprenez la sortie de la show log kmd
commande lorsque les conditions IKE Phase 1 et Phase 2 réussissent.
Solution
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 1.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.juniper.net) Nov 7 11:52:14 Phase-2 [responder] done for p1_local=ipv4(udp:500,[0..3]=1.1.1.2) p1_remote=fqdn(udp:500,[0..15]=ssg5.juniper.net) p2_local=ipv4_subnet(any:0,[0..7]=10.10.10.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
La sortie de l’échantillon indique :
1.1.1.2
— Adresse locale.ssg5.juniper.net
— Homologue distant (nom d’hôte avec nom de domaine complet).udp: 500
— Indique qu’aucun NAT-T n’a été négocié.Phase 1 [responder] done
— Indique l’état de la phase 1, ainsi que le rôle (initiateur ou répondeur).Phase 2 [responder] done
— Indique l’état de la phase 1 avec les informations d’ID proxy.Vous pouvez également confirmer l’état de la SA IPsec à l’aide des commandes de vérification mentionnées dans Confirmer l’état de la phase 1 de l’IKE.
Analyse du message d’échec de la phase 1 (incompatibilité de la proposition)
Problème
Comprenez la sortie de la commande, où la show log kmd
condition IKE Phase 1 est un échec. Cette procédure aide à déterminer la raison pour laquelle le VPN n’établit pas la phase 1.
Solution
Nov 7 11:52:14 Phase-1 [responder] failed with error(No proposal chosen) for local=unknown(any:0,[0..0]=) remote=fqdn(udp:500,[0..15]=ssg5.juniper.net) Nov 7 11:52:14 1.1.1.2:500 (Responder) <-> 2.2.2.2:500 { 011359c9 ddef501d - 2216ed2a bfc50f5f [- 1] / 0x00000000 } IP; Error = No proposal chosen (14)
L’exemple de sortie indique que
1.1.1.2
— Est l’adresse localessg5.juniper.net
— Indique l’homologue distant (nom d’hôte avec nom de domaine complet)udp: 500
— Indique qu’aucun NAT-T n’a été négocié.Phase-1 [responder] failed with error (No proposal chosen)
— Indique un échec de la phase 1 en raison d’une inadéquation des propositions.
Pour résoudre ce problème, assurez-vous que les paramètres des propositions de phase 1 de la passerelle IKE sur le répondant et l’initiateur correspondent. Vérifiez également qu’une stratégie de tunnel existe pour le VPN.
Analyse du message d’échec de phase 1 (échec d’authentification)
Problème
Comprendre la sortie de la commande lorsque la show log kmd
condition IKE Phase 1 est un échec. Cela aide à déterminer la raison pour laquelle le VPN n’établit pas la phase 1.
Solution
Nov 7 12:06:36 Unable to find phase-1 policy as remote peer:2.2.2.2 is not recognized. Nov 7 12:06:36 Phase-1 [responder] failed with error(Authentication failed) for local=ipv4(udp:500,[0..3]=1.1.1.2) remote=ipv4(any:0,[0..3]=2.2.2.2) Nov 7 12:06:36 1.1.1.2:500 (Responder) <-> 2.2.2.2:500 { f725ca38 dad47583 - dab1ba4c ae26674b [- 1] / 0x00000000 } IP; Error = Authentication failed (24)
L’exemple de sortie indique que
1.1.1.2
— Est l’adresse locale2.2.2.2
— L’homologue distant est-ilPhase 1 [responder] failed with error (Authentication failed)
— Indique l’échec de la phase 1 parce que le répondeur n’a pas reconnu la demande entrante provenant d’un homologue de passerelle valide. Dans le cas d’IKE avec des certificats PKI, cet échec indique généralement qu’un type d’ID IKE incorrect a été spécifié ou entré.
Pour résoudre ce problème, vérifiez que le type d’ID IKE d’homologue correct est spécifié sur l’homologue local en fonction des éléments suivants :
Comment le certificat homologue distant a été généré
Informations SubjectAlternativeName ou DN dans le certificat homologue distant reçu
Analyse du message d’échec de la phase 1 (erreur de délai d’attente)
Problème
Comprendre la sortie de la commande lorsque la show log kmd
condition IKE Phase 1 est un échec.
Solution
Nov 7 13:52:39 Phase-1 [responder] failed with error(Timeout) for local=unknown(any:0,[0..0]=) remote=ipv4(any:0,[0..3]=2.2.2.2)
L’exemple de sortie indique que :
1.1.1.2
— Est l’adresse locale2.2.2.2
— L’homologue distant est-ilPhase 1 [responder] failed with error(Timeout)
— Indique un échec de phase 1.Cette erreur indique que le paquet IKE est perdu en route vers l’homologue distant ou qu’il y a un retard ou aucune réponse de la part de l’homologue distant.
Étant donné que cette erreur de délai d’attente est le résultat de l’attente d’une réponse du démon PKI, vous devez examiner la sortie traceoptions PKI pour voir s’il existe un problème avec PKI.
Analyse du message d’échec de phase 2
Problème
Comprenez la sortie de la commande lorsque la show log kmd
condition IKE Phase 2 est un échec.
Solution
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 1.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.juniper.net) Nov 7 11:52:14 Failed to match the peer proxy ids p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) for the remote peer:ipv4(udp:500,[0..3]=2.2.2.2) Nov 7 11:52:14 KMD_PM_P2_POLICY_LOOKUP_FAILURE: Policy lookup for Phase-2 [responder] failed for p1_local=ipv4(udp:500,[0..3]=1.1.1.2) p1_remote=ipv4(udp:500,[0..3]=2.2.2.2) p2_local=ipv4_subnet(any:0,[0..7]=10.10.20.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24) Nov 7 11:52:14 1.1.1.2:500 (Responder) <-> 2.2.2.2:500 { 41f638eb cc22bbfe - 43fd0e85 b4f619d5 [0] / 0xc77fafcf } QM; Error = No proposal chosen (14)
L’exemple de sortie indique que
1.1.1.2
— Adresse locale.ssg5.juniper.net
— Il s’agit de l’homologue distant (nom d’hôte de type ID IKE avec nom de domaine complet).Phase 1 [responder] done
— Indique le succès de la phase 1.Failed to match the peer proxy ids
— Indique que les ID de proxy sont incorrects. Dans l’exemple précédent, les deux ID proxy reçus sont 192.168.168.0/24 (distant) et 10.10.20.0/24 (local) (pour service=any). Selon la configuration donnée dans cet exemple, l’adresse locale attendue est 10.10.10.0/24. Cela indique qu’il existe une incompatibilité des configurations sur l’homologue local, ce qui entraîne l’échec de la correspondance de l’ID de proxy.Pour résoudre ce problème, corrigez l’entrée du carnet d’adresses ou configurez l’ID proxy sur l’un des homologues afin qu’il corresponde à l’autre homologue.
La sortie indique également que la raison de l’échec est
No proposal chosen
. Cependant, dans ce cas, vous voyez également le messageFailed to match the peer proxy ids
.
Analyse du message d’échec de phase 2
Problème
Comprenez la sortie de la commande lorsque la show log kmd
condition IKE Phase 2 est un échec.
Solution
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 1.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.juniper.net) Nov 7 11:52:14 1.1.1.2:500 (Responder) <-> 2.2.2.2:500 { cd9dff36 4888d398 - 6b0d3933 f0bc8e26 [0] / 0x1747248b } QM; Error = No proposal chosen (14)
L’exemple de sortie indique que :
1.1.1.2
— Adresse locale.fqdn(udp:500,[0..15]=ssg5.juniper.net
— est l’homologue distant.Phase 1 [responder] done
— Indique le succès de la phase 1.Error = No proposal chosen
— Indique qu’aucune proposition n’a été retenue au cours de la phase 2. Ce problème est dû à l’inadéquation des propositions entre les deux pairs.Pour résoudre ce problème, confirmez que les propositions de la phase 2 correspondent aux deux pairs.
Problèmes courants liés à l’IKE et à la PKI
Problème
Résolvez les problèmes courants liés à IKE et PKI.
L’activation de la fonctionnalité traceoptions vous aide à recueillir plus d’informations sur les problèmes de débogage que ce qui est possible à partir des entrées de journal normales. Vous pouvez utiliser le journal traceoptions pour comprendre les raisons des échecs IKE ou PKI.
Pour obtenir une analyse détaillée des problèmes IKE et PKI et des sorties traceoptions, contactez l’assistance JTAC de Juniper Networks ou visitez le site Web d’assistance de Juniper Networks à l’adresse https://www.juniper.net/support pour obtenir de l’aide.
Solution
Méthodes de dépannage des problèmes liés à IKE et PKI :
Assurez-vous que les paramètres d’heure, de date, de fuseau horaire et d’heure d’été sont corrects. Utilisez NTP pour maintenir la précision de l’horloge.
Assurez-vous d’utiliser un code de pays à deux lettres dans le champ « C= » (pays) du DN.
Par exemple : utilisez « US » et non « USA » ou « United States ». Certaines autorités de certification exigent que le champ Pays du DN soit renseigné, ce qui vous permet d’entrer la valeur du code pays uniquement avec une valeur de deux lettres.
Assurez-vous que si un certificat homologue utilise plusieurs
OU=
champs ORCN=
, vous utilisez la méthode du nom unique avec conteneur (la séquence doit être conservée et respecte la casse).Si le certificat n’est pas encore valide, vérifiez l’horloge système et, si nécessaire, ajustez le fuseau horaire système ou ajoutez simplement un jour dans l’horloge pour un test rapide.
Assurez-vous que le type et la valeur de l’ID IKE correspondants sont configurés.
L’infrastructure PKI peut échouer en raison d’un échec de vérification de révocation. Pour confirmer cela, désactivez temporairement la vérification de révocation et voyez si IKE Phase 1 peut se terminer.
Pour désactiver la vérification de révocation, utilisez la commande suivante en mode configuration :
set security pki ca-profile <ca-profile> revocation-check disable