Konfigurieren von richtlinienbasiertem IPsec-VPN mit Zertifikaten
In diesem Beispiel wird gezeigt, wie PKI konfiguriert, überprüft und Probleme behoben werden. Dieses Thema umfasst die folgenden Abschnitte:
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Junos OS Version 9.4 oder höher
Sicherheitsgeräte von Juniper Networks
Bevor Sie beginnen:
Stellen Sie sicher, dass die interne LAN-Schnittstelle der Firewall der SRX-Serie ge-0/0/0 in der Zone vertrauenswürdig ist und über ein privates IP-Subnetz verfügt.
Stellen Sie sicher, dass die Internetschnittstelle des Geräts ge-0/0/3 in der Zone nicht vertrauenswürdig ist und über eine öffentliche IP-Adresse verfügt.
Stellen Sie sicher, dass der gesamte Datenverkehr zwischen dem lokalen und dem Remote-LAN zugelassen ist und der Datenverkehr von beiden Seiten initiiert werden kann.
Stellen Sie sicher, dass SSG5 korrekt vorkonfiguriert und mit einem gebrauchsfertigen lokalen Zertifikat, CA-Zertifikat und CRL geladen wurde.
Stellen Sie sicher, dass das SSG5-Gerät für die Verwendung des FQDN von ssg5.example.net (IKE-ID) konfiguriert ist.
Stellen Sie sicher, dass PKI-Zertifikate mit 1024-Bit-Schlüsseln für die IKE-Verhandlungen auf beiden Seiten verwendet werden.
Stellen Sie sicher, dass es sich bei der Zertifizierungsstelle um eine eigenständige Zertifizierungsstelle in der Domäne handelt, die für beide VPN-Peers example.com.
Überblick
Abbildung 1 zeigt die Netzwerktopologie, die in diesem Beispiel verwendet wird, um ein richtlinienbasiertes IPsec-VPN zu konfigurieren, um die sichere Datenübertragung zwischen einer Unternehmensniederlassung und einer Remote-Niederlassung zu ermöglichen.

Die PKI-Verwaltung ist für richtlinienbasierte VPNs und routenbasierte VPNs gleich.
In diesem Beispiel geht der VPN-Datenverkehr an der Schnittstelle ge-0/0/0.0 mit dem nächsten Hop 10.1.1.1 ein. Somit geht der Datenverkehr über die Schnittstelle ge-0/0/3.0 aus. Jede Tunnelrichtlinie muss ein- und ausgehende Schnittstellen berücksichtigen.
Optional können Sie ein dynamisches Routingprotokoll wie OSPF (in diesem Dokument nicht beschrieben) verwenden. Bei der Verarbeitung des ersten Pakets einer neuen Sitzung führt das Gerät, auf dem Junos OS ausgeführt wird, zunächst eine Routensuche durch. Die statische Route, die auch die Standardroute ist, bestimmt die Zone für den ausgehenden VPN-Datenverkehr.
Viele Zertifizierungsstellen verwenden Hostnamen (z. B. FQDN), um verschiedene Elemente der PKI anzugeben. Da die CDP in der Regel mit einer URL angegeben wird, die einen FQDN enthält, müssen Sie einen DNS-Resolver auf dem Gerät konfigurieren, auf dem Junos OS ausgeführt wird.
Die Zertifikatsanforderung kann mit den folgenden Methoden generiert werden:
Erstellen eines Zertifizierungsstellenprofils zum Angeben der Zertifizierungsstelleneinstellungen
Generieren der PKCS10-Zertifikatsanforderung
Der PKCS10-Zertifikatanforderungsprozess umfasst das Generieren eines öffentlichen oder privaten Schlüsselpaars und das anschließende Generieren der Zertifikatanforderung selbst unter Verwendung des Schlüsselpaars.
Beachten Sie die folgenden Informationen zum CA-Profil:
Das CA-Profil definiert die Attribute einer Zertifizierungsstelle.
Jedes Zertifizierungsstellenprofil ist mit einem Zertifizierungsstellenzertifikat verknüpft. Wenn ein neues oder erneuertes CA-Zertifikat geladen werden muss, ohne das ältere CA-Zertifikat zu entfernen, muss ein neues Profil erstellt werden. Dieses Profil kann auch für den Online-Abruf der CRL verwendet werden.
Es können mehrere solcher Profile im System vorhanden sein, die für verschiedene Benutzer erstellt wurden.
Wenn Sie eine CA-Administrator-E-Mail-Adresse angeben, an die die Zertifikatsanforderung gesendet werden soll, erstellt das System eine E-Mail aus der Zertifikatsanforderungsdatei und leitet sie an die angegebene E-Mail-Adresse weiter. Die E-Mail-Statusbenachrichtigung wird an den Administrator gesendet.
Die Zertifikatsanforderung kann über eine Out-of-Band-Methode an die Zertifizierungsstelle gesendet werden.
Zum Generieren der PKCS10-Zertifikatsanforderung stehen folgende Optionen zur Verfügung:
certificate-id
— Name des lokalen digitalen Zertifikats und des öffentlichen/privaten Schlüsselpaars. Dadurch wird sichergestellt, dass das richtige Schlüsselpaar für die Zertifikatsanforderung und letztendlich für das lokale Zertifikat verwendet wird.Ab Junos OS Version 19.1R1 wird eine Commit-Prüfung hinzugefügt, um zu verhindern, dass Benutzer ,
/
,%
und Leerzeichen in einer Zertifikats-ID hinzufügen, während ein lokales oder Remote-Zertifikat oder ein Schlüsselpaar generiert.
wird.subject
— Definiertes Namensformat, das den allgemeinen Namen, die Abteilung, den Firmennamen, das Bundesland und das Land enthält:CN — Gebräuchlicher Name
OE — Fachbereich
O — Name des Unternehmens
L — Ortschaft
ST — Bundesland
C — Land
CN — Telefon
DC – Domänenkomponente
Es ist nicht erforderlich, alle Bestandteile des Antragstellernamens einzugeben. Beachten Sie auch, dass Sie mehrere Werte jedes Typs eingeben können.
domain-name
— FQDN. Der FQDN stellt die Identität des Zertifikatbesitzers für IKE-Aushandlungen bereit und stellt eine Alternative zum Antragstellernamen dar.filename (path | terminal)
— (Optional) Ort, an dem die Zertifikatsanforderung gestellt werden soll, oder das Anmeldeterminal.ip-address
— (Optional) IP-Adresse des Geräts.email
— (Optional) E-Mail-Adresse des CA-Administrators.Sie müssen einen Domänennamen, eine IP-Adresse oder eine E-Mail-Adresse verwenden.
Die generierte Zertifikatsanforderung wird an einem angegebenen Speicherort gespeichert. Eine lokale Kopie der Zertifikatsanforderung wird im lokalen Zertifikatsspeicher gespeichert. Wenn der Administrator diesen Befehl erneut ausgibt, wird die Zertifikatsanforderung erneut generiert.
Die PKCS10-Zertifikatanforderung wird in einer angegebenen Datei und an einem angegebenen Speicherort gespeichert, von der Sie sie herunterladen und zur Registrierung an die Zertifizierungsstelle senden können. Wenn Sie den Dateinamen oder Speicherort nicht angegeben haben, können Sie die PKCS10-Zertifikatanforderungsdetails mithilfe des show security pki certificate-request certificate-id <id-name>
Befehls in der CLI abrufen. Sie können die Befehlsausgabe kopieren und in ein Web-Frontend für den CA-Server oder in eine E-Mail einfügen.
Die PKCS10-Zertifikatsanforderung wird generiert und im System als ausstehendes Zertifikat oder Zertifikatsanforderung gespeichert. Eine E-Mail-Benachrichtigung wird an den Administrator der Zertifizierungsstelle gesendet (in diesem Beispiel certadmin@example.com).
Eine eindeutige Identität namens Zertifikats-ID wird verwendet, um das generierte Schlüsselpaar zu benennen. Diese ID wird auch in Zertifikatregistrierungs- und Anforderungsbefehlen verwendet, um das richtige Schlüsselpaar abzurufen. Das generierte Schlüsselpaar wird im Zertifikatsspeicher in einer Datei mit dem gleichen Namen wie die Zertifikats-ID gespeichert. Die Dateigröße kann 1024 oder 2048 Bit betragen.
Ein Standardprofil (Fallback-Profil) kann erstellt werden, wenn keine Zwischenzertifizierungsstellen auf dem Gerät vorinstalliert sind. Die Standardprofilwerte werden verwendet, wenn kein speziell konfiguriertes Zertifizierungsstellenprofil vorhanden ist.
Im Falle einer CDP wird die folgende Reihenfolge eingehalten:
Pro CA-Profil
CDP im CA-Zertifikat eingebettet
Standard-CA-Profil
Es wird empfohlen, ein bestimmtes Zertifizierungsstellenprofil anstelle eines Standardprofils zu verwenden.
Der Administrator übermittelt die Zertifikatsanforderung an die Zertifizierungsstelle. Der Administrator der Zertifizierungsstelle überprüft die Zertifikatsanforderung und generiert ein neues Zertifikat für das Gerät. Der Administrator des Geräts von Juniper Networks ruft es zusammen mit dem CA-Zertifikat und der Zertifikatsperrliste ab.
Der Prozess zum Abrufen des Zertifizierungsstellenzertifikats, des neuen lokalen Zertifikats des Geräts und der Zertifikatsperrliste von der Zertifizierungsstelle hängt von der Konfiguration der Zertifizierungsstelle und dem verwendeten Softwareanbieter ab.
Junos OS unterstützt die folgenden Zertifizierungsstellenanbieter:
Anvertrauen
Verisign
Microsoft
Obwohl andere CA-Softwaredienste wie OpenSSL zum Generieren von Zertifikaten verwendet werden können, werden diese Zertifikate nicht von Junos OS überprüft.
Konfiguration
- PKI-Grundkonfiguration
- Konfigurieren eines Zertifizierungsstellenprofils
- Generieren eines öffentlich-privaten Schlüsselpaars
- Registrieren eines lokalen Zertifikats
- Laden von CA- und lokalen Zertifikaten
- Konfigurieren des IPsec-VPN mit den Zertifikaten
PKI-Grundkonfiguration
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie PKI:
Konfigurieren Sie eine IP-Adresse und eine Protokollfamilie auf den Gigabit-Ethernet-Schnittstellen.
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 192.168.10.1/24 user@host# set ge-0/0/3 unit 0 family inet address 10.1.1.2/30
Konfigurieren Sie eine Standardroute zum nächsten Hop des Internets.
[edit] user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
Stellen Sie die Systemzeit und das Datum ein.
[edit] user@host# set system time-zone PST8PDT
Nachdem die Konfiguration festgeschrieben wurde, überprüfen Sie die Uhreinstellungen mit dem
show system uptime
Befehl.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
Legen Sie die NTP-Serveradresse fest.
user@host> set date ntp 130.126.24.24 1 Nov 17:52:52 ntpdate[5204]: step time server 172.16.24.24 offset -0.220645 sec
Legen Sie die DNS-Konfiguration fest.
[edit] user@host# set system name-server 172.31.2.1 user@host# set system name-server 172.31.2.2
Konfigurieren eines Zertifizierungsstellenprofils
Schritt-für-Schritt-Anleitung
-
Erstellen Sie ein Profil für eine vertrauenswürdige Zertifizierungsstelle.
[edit] user@host# set security pki ca-profile ms-ca ca-identity example.com
-
Erstellen Sie eine Sperrprüfung, um eine Methode zum Überprüfen der Zertifikatsperrung anzugeben.
Legen Sie das Aktualisierungsintervall in Stunden fest, um die Häufigkeit anzugeben, mit der die Zertifikatsperrliste aktualisiert werden soll. Die Standardwerte sind die Zeit für die nächste Aktualisierung in CRL oder 1 Woche, wenn keine Zeit für die nächste Aktualisierung angegeben ist.
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl refresh-interval 48
In der
revocation-check
Konfigurationsanweisung können Sie diedisable
Option zum Deaktivieren der Sperrprüfung verwenden oder diecrl
Option zum Konfigurieren der CRL-Attribute auswählen. Sie können diedisable on-download-failure
Option auswählen, um die Sitzungen zuzulassen, die dem Zertifizierungsstellenprofil entsprechen, wenn der CRL-Download für ein Zertifizierungsstellenprofil fehlgeschlagen ist. Die Sitzungen sind nur zulässig, wenn im selben Zertifizierungsstellenprofil keine alte CRL vorhanden ist. -
Geben Sie den Speicherort (URL) an, an dem die CRL abgerufen werden soll (HTTP oder LDAP). Standardmäßig ist die URL leer und verwendet CDP-Informationen, die in das CA-Zertifikat eingebettet sind.
[edit] user@host# set security pki ca-profile ms-ca revocation-check crl url http://srv1.example.com/CertEnroll/EXAMPLE.crl
Derzeit können Sie nur eine URL konfigurieren. Die Konfiguration von Backup-URLs wird nicht unterstützt.
-
Geben Sie eine E-Mail-Adresse an, an die die Zertifikatsanforderung direkt an einen CA-Administrator gesendet werden soll.
user@host# set security pki ca-profile ms-ca administrator email-address certadmin@example.com
-
Bestätigen Sie die Konfiguration:
user@host# commit and-quit
commit complete
Exiting configuration mode
Generieren eines öffentlich-privaten Schlüsselpaars
Schritt-für-Schritt-Anleitung
Wenn das Zertifizierungsstellenprofil konfiguriert ist, besteht der nächste Schritt darin, ein Schlüsselpaar auf dem Gerät von Juniper Networks zu generieren. So generieren Sie das private und das öffentliche Schlüsselpaar:
Erstellen Sie ein Zertifikatschlüsselpaar.
user@host> request security pki generate-key-pair certificate-id ms-cert size 1024
Ergebnisse
Nachdem das öffentlich-private Schlüsselpaar generiert wurde, zeigt das Gerät von Juniper Networks Folgendes an:
Generated key pair ms-cert, key size 1024 bits
Registrieren eines lokalen Zertifikats
Schritt-für-Schritt-Anleitung
-
Generieren Sie eine lokale Anforderung für ein digitales Zertifikat im PKCS-10-Format. Weitere Informationen finden Sie unter Anforderungssicherheits-PKI generate-certificate-request.
user@host> request security pki generate-certificate-request certificate-id ms-cert subject "CN=john doe,CN=10.1.1.2,OU=sales,O=example, L=Sunnyvale,ST=CA,C=US" email user@example.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)
Im Beispiel des PKCS10-Zertifikats beginnt die Anforderung mit der Zeile BEGIN CERTIFICATE REQUEST und schließt diese ein und endet mit der Zeile END CERTIFICATE REQUEST. Dieser Teil kann kopiert und zur Registrierung in Ihre Zertifizierungsstelle eingefügt werden. Optional können Sie die Datei "ms-cert-req" auch auslagern und an Ihre Zertifizierungsstelle senden.
-
Senden Sie die Zertifikatanforderung an die Zertifizierungsstelle, und rufen Sie das Zertifikat ab.
Laden von CA- und lokalen Zertifikaten
Schritt-für-Schritt-Anleitung
Laden Sie das lokale Zertifikat, das CA-Zertifikat und die Zertifikatsperrliste.
user@host> file copy ftp://192.168.10.10/certnew.cer certnew.cer /var/tmp//...transferring.file.........crYdEC/100% of 1459 B 5864 kBps user@host> file copy ftp:// 192.168.10.10/CA-certnew.cer CA-certnew.cer /var/tmp//...transferring.file.........UKXUWu/100% of 1049 B 3607 kBps user@host> file copy ftp:// 192.168.10.10/certcrl.crl certcrl.crl /var/tmp//...transferring.file.........wpqnpA/100% of 401 B 1611 kBps
Sie können überprüfen, ob alle Dateien hochgeladen wurden, indem Sie den Befehl
file list
.Laden Sie das Zertifikat aus der angegebenen externen Datei in den lokalen Speicher.
Sie müssen auch die Zertifikat-ID angeben, um die ordnungsgemäße Verknüpfung mit dem privaten oder öffentlichen Schlüsselpaar beizubehalten. In diesem Schritt wird das Zertifikat in den RAM-Cache-Speicher des PKI-Moduls geladen, der zugehörige private Schlüssel überprüft und der Signaturvorgang überprüft.
user@host> request security pki local-certificate load certificate-id ms-cert filename certnew.cer Local certificate loaded successfully
Laden Sie das CA-Zertifikat aus der angegebenen externen Datei.
Sie müssen das Zertifizierungsstellenprofil angeben, um das Zertifizierungsstellenzertifikat dem konfigurierten Profil zuzuordnen.
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
Laden Sie die CRL in den lokalen Speicher.
Die maximale Größe der CRL beträgt 5 MB. Sie müssen das zugeordnete Zertifizierungsstellenprofil im Befehl angeben.
user@host> request security pki crl load ca-profile ms-ca filename certcrl.crl CRL for CA profile ms-ca loaded successfully
Ergebnisse
Stellen Sie sicher, dass alle lokalen Zertifikate geladen sind.
user@host> show security pki local-certificate certificate-id ms-cert detail Certificate identifier: ms-cert Certificate version: 3 Serial number: 3a01c5a0000000000011 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: LAB Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: john doe Alternate subject: "user@example.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=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://labsrv1.domain.com/CertEnroll/LAB.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)
Sie können die einzelnen Zertifikatsdetails anzeigen, indem Sie certificate-ID in der Befehlszeile angeben.
Überprüfen Sie alle CA-Zertifikate oder die CA-Zertifikate eines einzelnen CA-Profils (angegeben).
user@host> show security pki ca-certificate ca-profile ms-ca detail Certificate identifier: ms-ca Certificate version: 3 Serial number: 44b033d1e5e158b44597d143bbfa8a13 Issuer: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example Subject: Organization: Example, Organizational unit: example, Country: US, State: CA, Locality: Sunnyvale, Common name: example 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=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services, CN=Configuration,DC=domain,DC=com?certificateRevocationList?base? objectclass=cRLDistributionPoint http://srv1.domain.com/CertEnroll/LAB.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)
Überprüfen Sie alle geladenen CRLs oder die CRLs des angegebenen individuellen Zertifizierungsstellenprofils.
user@host> show security pki crl ca-profile ms-ca detail CA profile: ms-ca CRL version: V00000001 CRL issuer: emailAddress = certadmin@example.net, C = US, ST = CA, L = Sunnyvale, O = Example, OU = example, CN = example Effective date: 10-30-2007 20:32 Next update: 11- 7-2007 08:52
Überprüfen Sie den Zertifikatpfad für das lokale Zertifikat und das CA-Zertifikat.
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
Konfigurieren des IPsec-VPN mit den Zertifikaten
Schritt-für-Schritt-Anleitung
Informationen zum Konfigurieren des IPsec-VPN mit dem Zertifikat finden Sie im Netzwerkdiagramm unter Abbildung 1
Konfigurieren Sie Sicherheitszonen und weisen Sie den Zonen Schnittstellen zu.
In diesem Beispiel gehen Pakete am
ge-0/0/0
ein, und die Eingangszone ist die Vertrauenszone.[edit security zones security-zone] user@host# set trust interfaces ge-0/0/0.0 user@host# set untrust interfaces ge-0/0/3.0
Konfigurieren Sie eingehende Hostdienste für jede Zone.
Eingehende Host-Services sind für Datenverkehr vorgesehen, der für das Gerät von Juniper Networks bestimmt ist. Zu diesen Einstellungen gehören unter anderem FTP, HTTP, HTTPS, IKE, Ping, rlogin, RSH, SNMP, SSH, Telnet, TFTP und Traceroute.
[edit security zones security-zone] user@host# set trust host-inbound-traffic system-services all user@host# set untrust host-inbound-traffic system-services ike
Konfigurieren Sie die Adressbucheinträge für jede Zone.
[edit security zones security-zone] user@host# set trust address-book address local-net 192.168.10.0/24 user@host# set untrust address-book address remote-net 192.168.168.0/24
Konfigurieren Sie den IKE-Vorschlag (Phase 1) für die Verwendung der RSA-Verschlüsselung.
[edit security ike proposal rsa-prop1] user@host# set authentication-method rsa-signatures user@host# set encryption-algorithm 3des-cbc user@host# set authentication-algorithm sha1 user@host# set dh-group group2
Konfigurieren Sie eine IKE-Richtlinie.
Der Phase-1-Austausch kann entweder im Hauptmodus oder im aggressiven Modus stattfinden.
[edit security ike policy ike-policy1] user@host# set mode main user@host# set proposals rsa-prop1 user@host# set certificate local-certificate ms-cert user@host# set certificate peer-certificate-type x509- signature user@host# set certificate trusted-ca use-all
Konfigurieren Sie ein IKE-Gateway.
In diesem Beispiel wird der Peer durch einen FQDN (Hostname) identifiziert. Daher sollte die Gateway-IKE-ID der Domänenname des Remotepeers sein. Sie müssen die richtige externe Schnittstelle oder Peer-ID angeben, um das IKE-Gateway während der Einrichtung von Phase 1 ordnungsgemäß zu identifizieren.
[edit security ike gateway ike-gate] user@host# set external-interface ge-0/0/3.0 user@host# set ike-policy ike-policy1 user@host# set dynamic hostname ssg5.example.net
Konfigurieren Sie die IPsec-Richtlinie.
In diesem Beispiel wird der Standardvorschlagssatz verwendet, der und
esp-group2- aes128-sha1
Vorschläge enthältesp-group2-3des-sha1
. Es kann jedoch ein eindeutiger Vorschlag erstellt und dann bei Bedarf in der IPsec-Richtlinie angegeben werden.[edit security ipsec policy vpn-policy1] user@host# set proposal-set standard user@host# set perfect-forward-secrecy keys group2
Konfigurieren Sie das IPsec-VPN mit einem IKE-Gateway und einer IPsec-Richtlinie.
In diesem Beispiel muss in der Tunnelrichtlinie auf den VPN-Namen ike-vpn verwiesen werden, um eine Sicherheitszuordnung zu erstellen. Zusätzlich können bei Bedarf eine Leerlaufzeit und eine Proxy-ID angegeben werden, wenn sie sich von den Tunnelrichtlinienadressen unterscheiden.
[edit security ipsec vpn ike-vpn ike] user@host# set gateway ike-gate user@host# set ipsec-policy vpn-policy1
Konfigurieren Sie bidirektionale Tunnelrichtlinien für VPN-Datenverkehr.
In diesem Beispiel erfordert der Datenverkehr vom Host-LAN zum Remote-Büro-LAN eine Tunnelrichtlinie von Zone zu Zone mit nicht vertrauenswürdiger Vertrauenswürdigkeit. Wenn eine Sitzung jedoch vom Remote-LAN zum Host-LAN stammen muss, ist auch eine Tunnelrichtlinie in die entgegengesetzte Richtung von Von-Zone nicht vertrauenswürdig zu Zonen-Vertrauenswürdigkeit erforderlich. Wenn Sie die Richtlinie in die entgegengesetzte Richtung wie die Pair-Policy angeben, wird das VPN bidirektional. Beachten Sie, dass Sie zusätzlich zur Genehmigungsaktion auch das zu verwendende IPsec-Profil angeben müssen. Beachten Sie, dass bei Tunnelrichtlinien die Aktion immer zulässig ist. Wenn Sie eine Richtlinie mit der Verweigerungsaktion konfigurieren, wird keine Option zum Angeben des Tunnels angezeigt.
[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
Konfigurieren Sie eine Quell-NAT-Regel und eine Sicherheitsrichtlinie für den Internetdatenverkehr.
Das Gerät verwendet die angegebene Source-NAT-Schnittstelle und übersetzt die Quell-IP-Adresse und den Port für ausgehenden Datenverkehr, wobei die IP-Adresse der Ausgangsschnittstelle als Quell-IP-Adresse und ein zufällig höherer Port für den Quellport verwendet werden. Bei Bedarf können detailliertere Richtlinien erstellt werden, um bestimmten Datenverkehr zuzulassen oder abzulehnen.
[edit security nat source rule-set nat-out] user@host#set from zone trust user@host#set to zone untrust user@host#set rule interface-nat match source-address 192.168.10.0/24 user@host#set rule interface-nat match destination-address 0.0.0.0/0 user@host#set rule interface-nat then source-nat interface
[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
Verschieben Sie die Tunnelrichtlinie über die Any-Permit-Richtlinie.
[edit security policies from-zone trust to-zone untrust] user@host# insert policy tunnel-policy-out before policy any-permit
Die Sicherheitsrichtlinie sollte sich in der Hierarchie unterhalb der Tunnelrichtlinie befinden, da die Richtlinienliste von oben nach unten gelesen wird. Wenn diese Richtlinie über der Tunnelrichtlinie läge, würde der Datenverkehr immer mit dieser Richtlinie übereinstimmen und nicht mit der nächsten Richtlinie fortgesetzt. Somit würde kein Benutzerverkehr verschlüsselt werden.
Konfigurieren Sie die tcp-mss-Einstellung für TCP-Datenverkehr über den Tunnel.
TCP-MSS wird als Teil des TCP 3-Wege-Handshakes ausgehandelt. Er begrenzt die maximale Größe eines TCP-Segments, um die MTU-Grenzwerte in einem Netzwerk zu berücksichtigen. Dies ist für den VPN-Datenverkehr sehr wichtig, da der IPsec-Kapselungs-Overhead zusammen mit dem IP- und Frame-Overhead dazu führen kann, dass das resultierende ESP-Paket die MTU der physischen Schnittstelle überschreitet, was zu einer Fragmentierung führt. Denn Fragmentierung erhöht die Nutzung von Bandbreite und Geräteressourcen und sollte im Allgemeinen vermieden werden.
Der empfohlene Wert für tcp-mss ist 1350 für die meisten Ethernet-basierten Netzwerke mit einer MTU von 1500 oder höher. Dieser Wert muss möglicherweise geändert werden, wenn ein Gerät im Pfad einen niedrigeren MTU-Wert aufweist oder wenn zusätzlicher Overhead wie PPP, Frame Relay usw. vorhanden ist. In der Regel müssen Sie möglicherweise mit verschiedenen tcp-mss-Werten experimentieren, um eine optimale Leistung zu erzielen.
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 user@host# commit and-quit commit complete Exiting configuration mode
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Bestätigen des IKE-Phase-1-Status
- Abrufen von Details zu einzelnen Sicherheitszuordnungen
- Bestätigen des IPsec Phase 2-Status
- Anzeigen von IPsec-Sicherheitszuordnungsdetails
- Überprüfen der IPsec-SA-Statistik
- Testen des Datenverkehrsflusses über das VPN
- Bestätigen der Konnektivität
Bestätigen des IKE-Phase-1-Status
Zweck
Bestätigen Sie den VPN-Status, indem Sie den Status der IKE-Phase-1-Sicherheitszuordnungen überprüfen.
PKI im Zusammenhang mit IPsec-Tunneln wird während der Einrichtung von Phase 1 gebildet. Der Abschluss von Phase 1 zeigt an, dass die PKI erfolgreich war.
Action!
Geben Sie im Betriebsmodus den show security ike security-associations Befehl ein.
user@host> show security ike security-associations Index Remote Address State Initiator cookie Responder cookie Mode 2010.2.2.2 UP af4f78bc135e4365 48a35f853ee95d21 Main
Bedeutung
Die Ausgabe zeigt Folgendes:
Der Remote-Peer ist 10.2.2.2 und der Status ist UP, was bedeutet, dass die Einrichtung der Phase 1 erfolgreich zugeordnet wurde.
Die Remote-Peer-IKE-ID, DIE IKE-Richtlinie und die externen Schnittstellen sind alle korrekt.
Index 20 ist ein eindeutiger Wert für jede IKE-Sicherheitszuordnung. Sie können diese Ausgabedetails verwenden, um weitere Details zu den einzelnen Sicherheitszuordnungen zu erhalten. Siehe Abrufen von Details zu einzelnen Sicherheitszuordnungen.
Eine falsche Ausgabe würde bedeuten, dass:
Der Status des Remotepeers lautet Inaktiv.
Es gibt keine IKE-Sicherheitszuordnungen.
Es gibt IKE-Richtlinienparameter, z. B. den falschen Modustyp (Aggr oder Main), PKI-Probleme oder Phase-1-Vorschläge (alle müssen auf beiden Peers übereinstimmen). Weitere Informationen finden Sie unter Fehlerbehebung bei IKE-, PKI- und IPsec-Problemen.
Die externe Schnittstelle ist für den Empfang der IKE-Pakete ungültig. Überprüfen Sie die Konfigurationen auf PKI-bezogene Probleme, überprüfen Sie das Protokoll des Schlüsselverwaltungsdaemons (kmd) auf andere Fehler, oder führen Sie Ablaufverfolgungsoptionen aus, um die Nichtübereinstimmung zu ermitteln. Weitere Informationen finden Sie unter Fehlerbehebung bei IKE-, PKI- und IPsec-Problemen.
Abrufen von Details zu einzelnen Sicherheitszuordnungen
Zweck
Hier finden Sie Details zu den einzelnen IKE.
Action!
Geben Sie im Betriebsmodus den show security ike security-associations index 20 detail Befehl ein.
user@host> show security ike security-associations index 20 detail IKE peer 10.2.2.2, Index 20, Role: Responder, State: UP Initiator cookie: af4f78bc135e4365, Responder cookie: 48a35f853ee95d21 Exchange type: Main, Authentication method: RSA-signatures Local: 10.1.1.2:500, Remote: 10.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
Bedeutung
In der Ausgabe werden die Details der einzelnen IKE-Sicherheitszuordnungen angezeigt, z. B. Rolle (Initiator oder Responder), Status, Austauschtyp, Authentifizierungsmethode, Verschlüsselungsalgorithmen, Datenverkehrsstatistiken, Aushandlungsstatus der Phase 2 usw.
Sie können die Ausgabedaten für Folgendes verwenden:
Kennen Sie die Rolle der IKE SA. Die Fehlerbehebung ist einfacher, wenn der Peer über die Rolle "Responder" verfügt.
Rufen Sie die Datenverkehrsstatistiken ab, um den Datenverkehrsfluss in beide Richtungen zu überprüfen.
Rufen Sie die Anzahl der IPsec-Sicherheitszuordnungen ab, die erstellt wurden oder ausgeführt werden.
Rufen Sie den Status aller abgeschlossenen Phase-2-Verhandlungen ab.
Bestätigen des IPsec Phase 2-Status
Zweck
Zeigen Sie IPsec (Phase 2)-Sicherheitszuordnungen an.
Wenn IKE-Phase 1 bestätigt ist, zeigen Sie die IPsec-Sicherheitszuordnungen (Phase 2) an.
Action!
Geben Sie im Betriebsmodus den show security ipsec security-associations Befehl ein.
user@host> show security ipsec security-associations total configured sa: 2 ID Gateway Port Algorithm SPI Life:sec/kb Mon vsys <2 10.2.2.2 500 ESP:3des/sha1 bce1c6e0 1676/ unlim - 0 >2 10.2.2.2 500 ESP:3des/sha1 1a24eab9 1676/ unlim - 0
Bedeutung
Die Ausgabe zeigt Folgendes:
Es ist ein konfiguriertes IPsec-SA-Paar verfügbar. Die Portnummer 500 gibt an, dass ein Standard-IKE-Port verwendet wird. Andernfalls handelt es sich um Network Address Translation-Traversal (NAT-T), 4500 oder einen zufälligen High-Port.
Der Sicherheitsparameterindex (SPI) wird für beide Richtungen verwendet. Die Lebensdauer oder Nutzungsbeschränkungen der Sicherheitszuordnung werden entweder in Sekunden oder in Kilobyte angegeben. In der Ausgabe gibt 1676/ unlim an, dass die Lebensdauer von Phase 2 so festgelegt ist, dass sie in 1676 Sekunden abläuft und keine angegebene Lebensdauer angegeben ist.
Die ID-Nummer zeigt den eindeutigen Indexwert für jede IPsec-Sicherheitszuordnung an.
Ein Bindestrich (
-
) in der Spalte Mon zeigt an, dass die VPN-Überwachung für diese Sicherheitszuordnung nicht aktiviert ist.Das virtuelle System (vsys) ist Null, was der Standardwert ist.
Die Lebensdauer von Phase 2 kann sich von der Lebensdauer von Phase 1 unterscheiden, da Phase 2 nicht von Phase 1 abhängig ist, nachdem das VPN eingerichtet wurde.
Anzeigen von IPsec-Sicherheitszuordnungsdetails
Zweck
Zeigen Sie die einzelnen IPsec-SA-Details an, die durch die Indexnummer identifiziert werden.
Action!
Geben Sie im Betriebsmodus den show security ipsec security-associations index 2 detail Befehl ein.
user@host> show security ipsec security-associations index 2 detail Virtual-system: Root Local Gateway: 10.1.1.2, Remote Gateway: 10.2.2.2 Local Identity: ipv4_subnet(any:0,[0..7]=192.168.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
Bedeutung
Die Ausgabe zeigt die lokale Identität und die Remoteidentität an.
Beachten Sie, dass eine nicht übereinstimmende Proxy-ID dazu führen kann, dass der Abschluss von Phase 2 fehlschlägt. Die Proxy-ID wird von der Tunnelrichtlinie (bei richtlinienbasierten VPNs) abgeleitet. Die lokale Adresse und die Remoteadresse werden aus den Adressbucheinträgen abgeleitet, und der Dienst wird von der für die Richtlinie konfigurierten Anwendung abgeleitet.
Wenn Phase 2 aufgrund einer nicht übereinstimmenden Proxy-ID fehlschlägt, überprüfen Sie, welche Adressbucheinträge in der Richtlinie konfiguriert sind, und stellen Sie sicher, dass die richtigen Adressen gesendet werden. Stellen Sie außerdem sicher, dass die Ports übereinstimmen. Überprüfen Sie den Dienst, um sicherzustellen, dass die Ports für den Remote- und den lokalen Server übereinstimmen.
Wenn in einer Tunnelrichtlinie mehrere Objekte für die Quelladresse, die Zieladresse oder die Anwendung konfiguriert sind, wird die resultierende Proxy-ID für diesen Parameter in Nullen geändert.
Nehmen wir beispielsweise das folgende Szenario für eine Tunnelrichtlinie an:
Lokale Adressen 192.168.10.0/24 und 10.10.20.0/24
Remote-Adresse 192.168.168.0/24
Anwendung als junos-http
Die resultierende Proxy-ID lautet lokal 0.0.0.0/0, remote 192.168.168.0/24, Dienst 80.
Die resultierenden Proxy-IDs können die Interoperabilität beeinträchtigen, wenn der Remotepeer nicht für das zweite Subnetz konfiguriert ist. Wenn Sie die Anwendung eines Drittanbieters verwenden, müssen Sie möglicherweise die entsprechende Proxy-ID manuell eingeben.
Wenn IPsec nicht abgeschlossen werden kann, überprüfen Sie das kmd-Protokoll, oder verwenden Sie den set traceoptions
Befehl. Weitere Informationen finden Sie unter Fehlerbehebung bei IKE-, PKI- und IPsec-Problemen.
Überprüfen der IPsec-SA-Statistik
Zweck
Überprüfen Sie Statistiken und Fehler auf eine IPsec-Sicherheitszuordnung.
Überprüfen Sie zur Fehlerbehebung die ESP/AH-Leistungsindikatoren (Encapsulating Security Payload/Authentication Header) auf Fehler mit einer bestimmten IPsec-Sicherheitszuordnung.
Action!
Geben Sie im Betriebsmodus den show security ipsec statistics index 2 Befehl ein.
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
Bedeutung
Ein Fehlerwert von Null in der Ausgabe weist auf einen normalen Zustand hin.
Wir empfehlen, diesen Befehl mehrmals auszuführen, um Probleme mit Paketverlusten in einem VPN zu beobachten. In der Ausgabe dieses Befehls werden auch die Statistiken für verschlüsselte und entschlüsselte Paketzähler, Fehlerzähler usw. angezeigt.
Sie müssen Optionen für die Ablaufverfolgung des Sicherheitsdatenstroms aktivieren, um zu untersuchen, bei welchen ESP-Paketen Fehler auftreten und warum. Weitere Informationen finden Sie unter Fehlerbehebung bei IKE-, PKI- und IPsec-Problemen.
Testen des Datenverkehrsflusses über das VPN
Zweck
Testen Sie den Datenverkehrsfluss über das VPN, nachdem Phase 1 und Phase 2 erfolgreich abgeschlossen wurden. Mit dem Befehl können Sie den ping
Datenverkehrsfluss testen. Sie können einen Ping vom lokalen Host zum Remote-Host senden. Sie können Pings auch vom Gerät von Juniper Networks selbst initiieren.
Dieses Beispiel zeigt, wie eine Ping-Anforderung vom Gerät von Juniper Networks an den Remote-Host initiiert wird. Beachten Sie, dass bei der Initiierung von Pings vom Gerät von Juniper Networks die Quellschnittstelle angegeben werden muss, um sicherzustellen, dass die richtige Routensuche stattfindet und in der Richtliniensuche auf die entsprechenden Zonen verwiesen wird.
In diesem Beispiel befindet sich die ge-0/0/0.0-Schnittstelle in derselben Sicherheitszone wie der lokale Host und muss in der Ping-Anforderung angegeben werden, damit die Richtliniensuche von Zone Trust zu Zone Untrusted erfolgen kann.
Action!
Geben Sie im Betriebsmodus den ping 192.168.168.10 interface ge-0/0/0 count 5 Befehl ein.
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
Bestätigen der Konnektivität
Zweck
Bestätigen Sie die Konnektivität zwischen einem Remote-Host und einem lokalen Host.
Action!
Geben Sie im Betriebsmodus den ping 192.168.10.10 from ethernet0/6 Befehl ein.
ssg5-> ping 192.168.10.10 from ethernet0/6 Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 192.168.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
Bedeutung
Sie können die End-to-End-Konnektivität bestätigen, indem Sie den ping
Befehl vom Remotehost zum lokalen Host verwenden. In diesem Beispiel wird der Befehl vom SSG5-Gerät initiiert.
Eine fehlgeschlagene End-to-End-Konnektivität kann auf ein Problem mit dem Routing, der Richtlinie, dem Endhost oder der Verschlüsselung/Entschlüsselung der ESP-Pakete hinweisen. So überprüfen Sie die genauen Ursachen des Fehlers:
Überprüfen Sie die IPsec-Statistik auf Details zu Fehlern, wie in Überprüfen der IPsec-SA-Statistikbeschrieben.
Bestätigen Sie die Endhostkonnektivität, indem Sie den
ping
Befehl von einem Host im selben Subnetz wie der Endhost verwenden. Wenn der Endhost für andere Hosts erreichbar ist, können Sie davon ausgehen, dass das Problem nicht beim Endhost liegt.Aktivieren Sie Optionen für die Ablaufverfolgung des Sicherheitsdatenstroms, um Routing- und Richtlinienprobleme zu beheben.
Fehlerbehebung bei IKE-, PKI- und IPsec-Problemen
Beheben Sie IKE-, PKI- und IPsec-Probleme.
- Grundlegende Schritte zur Fehlerbehebung
- Überprüfen des freien Speicherplatzes auf Ihrem Gerät
- Überprüfen der Protokolldateien, um verschiedene Szenarien zu überprüfen, und Hochladen von Protokolldateien auf einen FTP-Server
- Aktivieren von IKE-Ablaufverfolgungsoptionen zum Anzeigen von Nachrichten auf IKE
- Aktivieren von PKI-Ablaufverfolgungsoptionen zum Anzeigen von Nachrichten auf IPsec
- Einrichten von IKE- und PKI-Ablaufverfolgungsoptionen zum Beheben von IKE-Setup-Problemen mit Zertifikaten
- Analyse der Erfolgsmeldung von Phase 1
- Analysieren der Phase 1-Fehlermeldung (Vorschlagskonflikt)
- Analysieren der Phase-1-Fehlermeldung (Authentifizierungsfehler)
- Analysieren der Fehlermeldung von Phase 1 (Timeout-Fehler)
- Analysieren der Phase-2-Fehlermeldung
- Analysieren der Phase-2-Fehlermeldung
- Fehlerbehebung bei häufigen Problemen im Zusammenhang mit IKE und PKI
Grundlegende Schritte zur Fehlerbehebung
Problem
Die grundlegenden Schritte zur Fehlerbehebung lauten wie folgt:
Identifizieren und Isolieren des Problems.
Debuggen des Problems.
Der übliche Ansatz, um mit der Fehlerbehebung zu beginnen, besteht darin, mit der untersten Schicht der OSI-Schichten zu beginnen und sich im OSI-Stack nach oben zu arbeiten, um die Schicht zu bestätigen, in der der Fehler auftritt.
Lösung
Die grundlegenden Schritte zur Fehlerbehebung bei IKE, PKI und IPsec lauten wie folgt:
Bestätigen Sie die physische Konnektivität der Internetverbindung auf der Ebene der physischen Verbindung und der Datenverbindung.
Vergewissern Sie sich, dass das Gerät von Juniper Networks über eine Verbindung zum Internet Next Hop und eine Verbindung zum Remote-IKE-Peer verfügt.
Bestätigen Sie den Abschluss von IKE Phase 1.
Bestätigen Sie den Abschluss von IKE-Phase 2, wenn der Abschluss von IKE-Phase 1 erfolgreich ist.
Bestätigen Sie den Datenverkehrsfluss über das VPN (falls das VPN aktiv ist).
Junos OS enthält die Funktion "Trace-Optionen". Mit dieser Funktion können Sie ein Trace-Optionsflag aktivieren, um die Daten aus der Trace-Option in eine Protokolldatei zu schreiben, die vorgegeben oder manuell konfiguriert und im Flash-Speicher gespeichert werden kann. Diese Ablaufverfolgungsprotokolle können auch nach einem Neustart des Systems beibehalten werden. Überprüfen Sie den verfügbaren Flash-Speicher, bevor Sie Trace-Optionen implementieren.
Sie können die Trace-Optionsfunktion im Konfigurationsmodus aktivieren und die Konfiguration für die Verwendung der Trace-Optionsfunktion bestätigen. Ähnlich wie beim Deaktivieren von Trace-Optionen müssen Sie Trace-Optionen im Konfigurationsmodus deaktivieren und die Konfiguration bestätigen.
Überprüfen des freien Speicherplatzes auf Ihrem Gerät
Problem
Überprüfen Sie die Statistiken über den freien Speicherplatz in den Dateisystemen Ihres Geräts.
Lösung
Geben Sie im Betriebsmodus den show system storage Befehl ein.
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
Der /dev/ad0s1a
stellt den Onboard-Flash-Speicher dar und ist derzeit zu 35 Prozent ausgelastet.
Überprüfen der Protokolldateien, um verschiedene Szenarien zu überprüfen, und Hochladen von Protokolldateien auf einen FTP-Server
Problem
Zeigen Sie die Protokolldateien an, um Sicherheits-IKE-Debugmeldungen, Sicherheitsflow-Debugger und den Status der Protokollierung im Syslog zu überprüfen.
Lösung
Geben Sie im Betriebsmodus die show log kmdBefehle , show log pkid, show log security-traceund show log messages ein.
user@host> show log kmd user@host> show log pkid user@host> show log security-trace user@host> show log messages
Sie können eine Liste aller Protokolle im Verzeichnis /var/log anzeigen, indem Sie den show log
Befehl verwenden.
Protokolldateien können auch mit dem file copy
Befehl auf einen FTP-Server hochgeladen werden.
(operational mode): user@host> file copy path/filename dest-path/filename Example:
user@host> file copy /var/log/kmd ftp://192.168.10.10/kmd.log
ftp://192.168.10.10/kmd.log 100% of 35 kB 12 MBps
Aktivieren von IKE-Ablaufverfolgungsoptionen zum Anzeigen von Nachrichten auf IKE
Problem
Um Erfolgs- oder Fehlermeldungen für IKE oder IPsec anzuzeigen, können Sie das kmd-Protokoll mit dem show log kmd
Befehl anzeigen. Da im kmd-Protokoll einige allgemeine Meldungen angezeigt werden, kann es hilfreich sein, zusätzliche Details abzurufen, indem Sie die IKE- und PKI-Ablaufverfolgungsoptionen aktivieren.
Im Allgemeinen empfiehlt es sich, Fehler bei dem Peer zu beheben, der die Rolle "Responder" hat. Sie müssen die Ablaufverfolgungsausgabe vom Initiator und Responder abrufen, um die Ursache eines Fehlers zu verstehen.
Konfigurieren Sie die Optionen für die IKE-Ablaufverfolgung.
Lösung
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
Wenn Sie keine Dateinamen für das Feld <Dateiname> angeben, werden alle IKE-Ablaufverfolgungsoptionen in das kmd-Protokoll geschrieben.
Sie müssen mindestens eine Flagoption angeben, um Ablaufverfolgungsdaten in das Protokoll zu schreiben. Beispiele:
file size
— Maximale Größe jeder Trace-Datei in Bytes. Beispielsweise kann 1 Million (1.000.000 ) eine maximale Dateigröße von 1 MB generieren.files
— Maximale Anzahl von Trace-Dateien, die in einem Flash-Speichergerät generiert und gespeichert werden sollen.
Sie müssen Ihre Konfiguration bestätigen, um die Ablaufverfolgung zu starten.
Aktivieren von PKI-Ablaufverfolgungsoptionen zum Anzeigen von Nachrichten auf IPsec
Problem
Aktivieren Sie PKI-Ablaufverfolgungsoptionen, um festzustellen, ob ein IKE-Fehler mit dem Zertifikat oder mit einem Nicht-PKI-Problem zusammenhängt.
Lösung
[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
Einrichten von IKE- und PKI-Ablaufverfolgungsoptionen zum Beheben von IKE-Setup-Problemen mit Zertifikaten
Problem
Konfigurieren Sie die empfohlenen Einstellungen für IKE- und PKI-Ablaufverfolgungsoptionen.
Die IKE- und PKI-Ablaufverfolgungsoptionen verwenden die gleichen Parameter, aber der Standarddateiname für alle PKI-bezogenen Ablaufverfolgungen befindet sich im pkid-Protokoll.
Lösung
user@host> configure Entering configuration mode [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 pki traceoptions] user@host# set file size 1m user@host# set flag all user@host# commit and-quit commit complete Exiting configuration mode
Analyse der Erfolgsmeldung von Phase 1
Problem
Machen Sie sich mit der show log kmd
Ausgabe des Befehls vertraut, wenn die IKE-Bedingungen für Phase 1 und Phase 2 erfolgreich sind.
Lösung
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 Phase-2 [responder] done for p1_local=ipv4(udp:500,[0..3]=10.1.1.2) p1_remote=fqdn(udp:500,[0..15]=ssg5.example.net) p2_local=ipv4_subnet(any:0,[0..7]=192.168.10.0/24) p2_remote=ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
Die Beispielausgabe zeigt:
10.1.1.2
—Lokale Adresse.ssg5.example.net
– Remote-Peer (Hostname mit FQDN).udp: 500
– NAT-T wurde nicht ausgehandelt.Phase 1 [responder] done
– Phase-1-Status zusammen mit der Rolle (Initiator oder Responder).Phase 2 [responder] done
– Phase-1-Status, zusammen mit den Proxy-ID-Informationen.Sie können den IPsec-SA-Status auch mit den in Bestätigen des IKE-Phase-1-Status.
Analysieren der Phase 1-Fehlermeldung (Vorschlagskonflikt)
Problem
Wenn Sie die Ausgabe des show log kmd
Befehls verstehen, bei der die IKE-Bedingung Phase 1 fehlschlägt, können Sie den Grund dafür ermitteln, warum das VPN Phase 1 nicht eingerichtet hat.
Lösung
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.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 011359c9 ddef501d - 2216ed2a bfc50f5f [- 1] / 0x00000000 } IP; Error = No proposal chosen (14)
Die Beispielausgabe zeigt:
10.1.1.2
—Lokale Adresse.ssg5.example.net
– Remote-Peer (Hostname mit FQDN).udp: 500
– NAT-T wurde nicht ausgehandelt.Phase-1 [responder] failed with error (No proposal chosen)
– Fehler in Phase 1 aufgrund eines nicht übereinstimmenden Vorschlags.
Um dieses Problem zu beheben, stellen Sie sicher, dass die Parameter für die Vorschläge für die Phase 1 des IKE-Gateways sowohl für den Responder als auch für den Initiator übereinstimmen. Vergewissern Sie sich außerdem, dass eine Tunnelrichtlinie für das VPN vorhanden ist.
Analysieren der Phase-1-Fehlermeldung (Authentifizierungsfehler)
Problem
Machen Sie sich mit der Ausgabe des show log kmd
Befehls vertraut, wenn die IKE-Phase-1-Bedingung ein Fehler ist. Dies hilft bei der Ermittlung des Grundes dafür, dass das VPN Phase 1 nicht einrichtet.
Lösung
Nov 7 12:06:36 Unable to find phase-1 policy as remote peer:10.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]=10.1.1.2) remote=ipv4(any:0,[0..3]=10.2.2.2) Nov 7 12:06:36 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { f725ca38 dad47583 - dab1ba4c ae26674b [- 1] / 0x00000000 } IP; Error = Authentication failed (24)
Die Beispielausgabe zeigt:
10.1.1.2
—Lokale Adresse.10.2.2.2
—Remote-PeerPhase 1 [responder] failed with error (Authentication failed)
– Phase-1-Fehler, weil der Responder die eingehende Anforderung von einem gültigen Gateway-Peer nicht erkennt. Bei IKE mit PKI-Zertifikaten weist dieser Fehler in der Regel darauf hin, dass ein falscher IKE-ID-Typ angegeben oder eingegeben wurde.
Um dieses Problem zu beheben, vergewissern Sie sich, dass auf dem lokalen Peer der richtige IKE-ID-Typ angegeben ist, basierend auf Folgendem:
Wie das Remotepeerzertifikat generiert wurde
Alternativer Antragstellername oder DN-Informationen im empfangenen Remotepeerzertifikat
Analysieren der Fehlermeldung von Phase 1 (Timeout-Fehler)
Problem
Machen Sie sich mit der Ausgabe des show log kmd
Befehls vertraut, wenn die IKE-Phase-1-Bedingung ein Fehler ist.
Lösung
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]=10.2.2.2)
Die Beispielausgabe zeigt:
10.1.1.2
—Llokale Adresse.10.2.2.2
– Remote-Peer.Phase 1 [responder] failed with error(Timeout)
– Fehler der Phase 1.Dieser Fehler weist darauf hin, dass entweder das IKE-Paket auf dem Weg zum Remotepeer verloren geht oder dass es eine Verzögerung oder keine Antwort vom Remotepeer gibt.
Da dieser Timeoutfehler das Ergebnis des Wartens auf eine Antwort vom PKI-Daemon ist, müssen Sie die Ausgabe der PKI-Ablaufverfolgungsoptionen überprüfen, um festzustellen, ob ein Problem mit PKI vorliegt.
Analysieren der Phase-2-Fehlermeldung
Problem
Machen Sie sich mit der show log kmd
Ausgabe des Befehls vertraut, wenn die IKE-Phase 2-Bedingung ein Fehler ist.
Lösung
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.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]=10.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]=10.1.1.2) p1_remote=ipv4(udp:500,[0..3]=10.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 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 41f638eb cc22bbfe - 43fd0e85 b4f619d5 [0] / 0xc77fafcf } QM; Error = No proposal chosen (14)
Die Beispielausgabe zeigt:
10.1.1.2
—Lokale Adresse.ssg5.example.net
– Remote-Peer (IKE-ID-Typ, Hostname mit FQDN).Phase 1 [responder] done
– Erfolg in Phase 1.Failed to match the peer proxy ids
– Die falschen Proxy-IDs werden empfangen. Im vorherigen Beispiel lauten die beiden empfangenen Proxy-IDs 192.168.168.0/24 (remote) und 10.10.20.0/24 (lokal) (für service=any). Basierend auf der in diesem Beispiel angegebenen Konfiguration lautet die erwartete lokale Adresse 192.168.10.0/24. Dies zeigt, dass die Konfigurationen auf dem lokalen Peer nicht übereinstimmen, was dazu führt, dass die Proxy-ID-Übereinstimmung fehlschlägt.Um dieses Problem zu beheben, korrigieren Sie den Adressbucheintrag, oder konfigurieren Sie die Proxy-ID auf einem der Peers so, dass sie mit der des anderen Peers übereinstimmt.
Die Ausgabe gibt auch an, dass der Grund für den Fehler .
No proposal chosen
In diesem Fall wird jedoch auch die MeldungFailed to match the peer proxy ids
angezeigt.
Analysieren der Phase-2-Fehlermeldung
Problem
Machen Sie sich mit der show log kmd
Ausgabe des Befehls vertraut, wenn die IKE-Phase 2-Bedingung ein Fehler ist.
Lösung
Nov 7 11:52:14 Phase-1 [responder] done for local=ipv4(udp:500,[0..3]= 10.1.1.2) remote=fqdn(udp:500,[0..15]=ssg5.example.net) Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { cd9dff36 4888d398 - 6b0d3933 f0bc8e26 [0] / 0x1747248b } QM; Error = No proposal chosen (14)
Die Beispielausgabe zeigt:
10.1.1.2
—Lokale Adresse.fqdn(udp:500,[0..15]=ssg5.example.net
– Remote-Peer.Phase 1 [responder] done
– Erfolg in Phase 1.Error = No proposal chosen
—In Phase 2 wurde kein Vorschlag ausgewählt. Dieses Problem ist auf eine Nichtübereinstimmung der Vorschläge zwischen den beiden Peers zurückzuführen.Um dieses Problem zu beheben, vergewissern Sie sich, dass die Phase-2-Vorschläge auf beiden Peers übereinstimmen.
Fehlerbehebung bei häufigen Problemen im Zusammenhang mit IKE und PKI
Problem
Beheben Sie häufige Probleme im Zusammenhang mit IKE und PKI.
Wenn Sie die Funktion "Ablaufverfolgungsoptionen" aktivieren, können Sie mehr Informationen zu den Debugproblemen sammeln, als dies aus den normalen Protokolleinträgen möglich ist. Sie können das Protokoll der Ablaufverfolgungsoptionen verwenden, um die Gründe für IKE- oder PKI-Fehler zu verstehen.
Lösung
Methoden zur Behebung von IKE- und PKI-bezogenen Problemen:
Stellen Sie sicher, dass die Einstellungen für Uhrzeit, Datum, Zeitzone und Sommerzeit korrekt sind. Verwenden Sie NTP, um die Uhr genau zu halten.
Stellen Sie sicher, dass Sie im Feld "C=" (Land) des DN einen aus zwei Buchstaben bestehenden Ländercode verwenden.
Beispiele: Verwenden Sie "US" und nicht "USA" oder "Vereinigte Staaten". Bei einigen Zertifizierungsstellen muss das Länderfeld des DN ausgefüllt werden, sodass Sie den Ländercodewert nur mit einem aus zwei Buchstaben bestehenden Wert eingeben können.
Stellen Sie sicher, dass Sie, wenn ein Peerzertifikat mehrere OU=oder CN=-Felder verwendet, die Methode "Definierter Name mit Container" verwenden (die Reihenfolge muss beibehalten werden und es wird zwischen Groß- und Kleinschreibung unterschieden).
Wenn das Zertifikat noch nicht gültig ist, überprüfen Sie die Systemuhr und passen Sie ggf. die Systemzeitzone an oder fügen Sie einfach einen Tag in die Uhr für einen Schnelltest ein.
Stellen Sie sicher, dass ein übereinstimmender IKE-ID-Typ und -Wert konfiguriert ist.
PKI kann aufgrund eines Fehlers bei der Sperrprüfung fehlschlagen. Um dies zu bestätigen, deaktivieren Sie vorübergehend die Sperrprüfung und prüfen Sie, ob IKE-Phase 1 abgeschlossen werden kann.
Um die Sperrprüfung zu deaktivieren, verwenden Sie den folgenden Befehl im Konfigurationsmodus:
set security pki ca-profile <ca-profile> revocation-check disable