IPsec-Richtlinie erstellen

Mithilfe benutzerdefinierter IPsec-Richtlinien können Sie Sicherheitsparameter festlegen, die in Phase 2 der Aushandlung verwendet werden. In dieser Phase verwenden die VPN und das Peer-Gerät die Sicherheitszuordnung, die während der Phase 1 eingerichtet wurde, um zu verhandeln, welcher Datenverkehr gesendet wird und wie dieser Datenverkehr authentifiziert und verschlüsselt wird.

Um eine konsistente Auswahl der Algorithmen zu gewährleisten, müssen die IKE- und IPsec-Algorithmen und ihre Prioritätenreihenfolge sowohl auf dem Gateway IBM Cloud VPN als auch auf dem Peer-Gateway exakt übereinstimmen. Weitere Informationen zu den Faktoren, die die Auswahl des Algorithmus beeinflussen, finden Sie unter Wie werden Verschlüsselungsalgorithmen für IKE und IPsec in einer Site-to-Site-VPN-Verbindung ausgewählt?

Erstellen einer IPsec-Richtlinie in der Konsole

Um in der Konsole eine IPsec-Richtlinie zu erstellen, gehen Sie wie folgt vor:

  1. Wählen Sie auf der Seite „VPNs für VPC“ die Option „Site-to-Site-Gateways > IPsec-Richtlinien“ aus.

  2. Klicken Sie auf „Erstellen“ und geben Sie die folgenden Informationen ein:

    • Standort – Wählen Sie eine Region für diese IPsec-Richtlinie aus.
    • Name - Geben Sie einen Namen für die IPsec-Richtlinie ein.
    • Ressourcengruppe: Wählen Sie die Ressourcengruppe für diese IPsec-Richtlinie aus.
    • Verschlüsselung- Wählen Sie den Verschlüsselungsalgorithmus aus, der für Phase 2 verwendet werden soll. Standardmäßig wird der Algorithmus mit der geringsten Stärke ausgewählt. Sie können für jedes Feld mehrere Werte auswählen und sie nach Priorität neu ordnen. Das VPN-Gateway verhandelt mit dem Peer-Gateway, um den besten von beiden Seiten unterstützten Algorithmus auszuwählen.
    • Authentifizierung- Wählen Sie den für Phase 2 zu verwendenden Authentifizierungsalgorithmus. Standardmäßig wird der Algorithmus mit der geringsten Stärke ausgewählt. Sie können mehrere Authentifizierungsalgorithmen auswählen und sie nach Priorität ordnen.
    • Perfect Forward Secrecy- Aktivieren Sie diese Option, um bei jedem erneuten Schlüsselaustausch in Phase 2 einen neuen Diffie-Hellman-Austausch durchzuführen, so dass bei einer Kompromittierung eines Schlüssels der zuvor verschlüsselte Datenverkehr sicher bleibt.
    • Diffie-Hellman-Gruppe (sofern PFS aktiviert ist) – Wählen Sie die DH-Gruppe aus, die für den Schlüsselaustausch in Phase 2 verwendet werden soll. Standardmäßig wird die niedrigste DH-Gruppe ausgewählt. Sie können mehrere DH-Gruppen auswählen und sie nach Priorität neu ordnen.
    • Key lifetime- Wählen Sie die Lebensdauer des Phase-2-Tunnels in Sekunden.
  3. Klicken Sie auf Erstellen.

  4. Legen Sie auf der Seite VPN-Verbindungsdetails für das Feld IPsec-Richtlinien die Verwendung der gewünschten IPsec-Richtlinie fest.

    Um eine erfolgreiche IKE/IPsec-Verhandlung sicherzustellen, konfigurieren Sie beide Peers mit mindestens einem passenden Algorithmus in jeder Kategorie (Authentifizierung, Verschlüsselung und PF-Gruppen). Die Angleichung dieser Einstellungen zwischen den Peers hilft, Verbindungsabbrüche zu vermeiden.

Erstellen einer IPsec-Richtlinie über die Befehlszeilenschnittstelle

Bevor Sie beginnen, richten Sie Ihre CLI-Umgebung ein.

Um eine IPsec-Richtlinie über die Befehlszeile zu erstellen, geben Sie den folgenden Befehl ein:

ibmcloud is ipsec-policy-create IPSEC_POLICY_NAME AUTHENTICATION_ALGORITHMS ENCRYPTION_ALGORITHMS PFSGS [--key-lifetime KEY_LIFETIME] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]

Dabei gilt:

  • IPSEC_POLICY_NAME – Der Name der IPsec-Richtlinie.
  • AUTHENTICATION_ALGORITHMS – Die Authentifizierungsalgorithmen. Darf nur deaktiviert werden, wenn ENCRYPTION_ALGORITHMS Algorithmen im kombinierten Modus enthält (aes128gcm16, aes192gcm16, aes256gcm16). Eine von: disabled, sha256, sha384, sha512, oder eine durch Komma getrennte Liste von Authentifizierungsalgorithmen (sha384,sha256,sha512). Die Reihenfolge der Algorithmen bestimmt ihre Priorität bei der Aushandlung.
  • ENCRYPTION_ALGORITHMS – Die Verschlüsselungsalgorithmen. Eine von: aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16, oder eine durch Komma getrennte Liste von Verschlüsselungsalgorithmen (aes128,aes192,aes256). Die Reihenfolge der Algorithmen bestimmt ihre Priorität bei der Aushandlung.
  • PFSGS – Perfect-Forward-Secrecy-Gruppen. Eine von: disabled, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31, oder eine durch Komma getrennte Liste von PFS-Gruppen (group_14,group_15,group_16). Die Reihenfolge der Gruppen bestimmt ihre Priorität bei der Verhandlung.
  • --key-lifetime value - Die Laufzeit des Schlüssels in Sekunden. Maximum: 86400, Minimum: 1800. Der Standardwert ist 3600.
  • --resource-group-id Wert – Die ID der Ressourcengruppe. Diese Option und die Option --resource-group-name schließen sich gegenseitig aus.
  • --resource-group-name Wert – Der Name der Ressourcengruppe. Diese Option und die Option --resource-group-id schließen sich gegenseitig aus.
  • --output value - Legt als Ausgabeformat JSON fest.
  • -q, --quiet - Ausführliche Ausgabe unterdrücken.

md5 und sha1 Authentifizierungsalgorithmen, group_2 und group_5 DH-Gruppen und der triple_des Verschlüsselungsalgorithmus sind seit dem 20. September 2022 veraltet und werden von der Konsole nicht mehr unterstützt.

AUTHENTICATION_ALGORITHMS muss genau dann disabled lauten, wenn ENCRYPTION_ALGORITHMS entweder aes128gcm16, aes192gcm16 oder aes256gcm16 ist.

Aktualisieren einer IPsec-Richtlinie über die CLI

Bevor Sie beginnen, richten Sie Ihre CLI-Umgebung ein.

Um eine IPsec-Richtlinie über die Befehlszeilenschnittstelle (CLI) zu aktualisieren, geben Sie den folgenden Befehl ein:

ibmcloud is ipsec-policy-update IPSEC_POLICY [--name NEW_NAME] [--authentication-algorithms AUTHENTICATION_ALGORITHMS] [--pfsgs PFSGS] [--encryption-algorithms ENCRYPTION_ALGORITHMS] [--authentication-algorithm AUTHENTICATION_ALGORITHM] [--pfs disabled | group_14 | group_15 | group_16 | group_17 | group_18 | group_19 | group_20 | group_21 | group_22 | group_23 | group_24 | group_31] [--encryption-algorithm aes128 | aes128gcm16 | aes192 | aes192gcm16 | aes256 | aes256gcm16] [--key-lifetime KEY_LIFETIME] [--output JSON] [-q, --quiet]

Dabei gilt:

  • --name – Der Name der IPsec-Richtlinie.

  • --authentication-algorithms- Eine durch Kommata getrennte Liste von Authentifizierungsalgorithmen (empfohlen). Die Reihenfolge der Algorithmen bestimmt deren Priorität während der Verhandlung.

  • --authentication-algorithm – Der Authentifizierungsalgorithmus (veraltet). Diese Option darf nur deaktiviert werden, wenn --encryption_algorithm auf „ aes128gcm16 “, „ aes192gcm16 “ oder „ aes256gcm16 “ gesetzt ist. Eine von: disabled, sha256, sha384, sha512

  • --encryption-algorithms- Eine kommagetrennte Liste von Verschlüsselungsalgorithmen (empfohlen). Die Reihenfolge der Algorithmen bestimmt deren Priorität während der Verhandlung.

  • --encryption-algorithm – Der Verschlüsselungsalgorithmus (veraltet). Eine der folgenden Optionen: aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16

  • --pfsgs- Eine durch Kommata getrennte Liste von Perfect Forward Secrecy-Gruppen. Die Reihenfolge der Gruppen bestimmt ihre Priorität bei der Verhandlung.

  • --pfs- Die Perfect Forward Secrecy-Gruppe (veraltet). Eine von: behindert, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31.

    Mischen Sie nicht singuläre und array-basierte Eigenschaften für dieselbe Algorithmuskategorie in einem einzigen Befehl.

Befehlsbeispiele

Die singulären Werte für authentication algorithms, pfsgs und encryption algorithms, um IPsec-Richtlinien von der CLI aus zu erstellen, sind veraltet. Verwenden Sie stattdessen mehrere kommagetrennte Werte.

  • Erstellen Sie eine IPsec-Richtlinie, indem Sie kommagetrennte Authentifizierungsalgorithmen (SHA 512 und SHA 256), Verschlüsselungsalgorithmen (AES 256, AES 192 und AES 128) und Perfect Forward Secrecy Groups ( group_14 und group_15 ) verwenden:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha512,sha256 aes256,aes192,aes128 group_14,group_15
    
  • Erstellen Sie eine IPsec-Richtlinie unter Verwendung eines einzigen Authentifizierungsalgorithmus (SHA 256), eines einzigen Verschlüsselungsalgorithmus (AES 128) und der DH-Gruppe 14:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14
    
  • Erstellen Sie eine IPsec-Richtlinie mit denselben Parametern und einer Lebensdauer von 3600 Sekunden.

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --key-lifetime 3600
    
  • Erstellen Sie eine IPsec-Richtlinie mit denselben Parametern und einer Ressourcengruppen-ID:

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON
    
  • Aktualisieren Sie eine IPsec-Richtlinie, um den Namen, die Authentifizierungsalgorithmen auf SHA 512 und SHA 256, die Verschlüsselungsalgorithmen auf AES 256 und AES 192 und die Perfect Forward Secrecy-Gruppen auf group_15 und group_16:

    ibmcloud is ipsec-policy-update my-ipsec-policy --name new-ipsec-policy --authentication-algorithms sha512,sha256 --encryption-algorithms aes256,aes192 --pfsgs group_15,group_16 --output JSON
    
  • Aktualisieren Sie die IPsec-Richtlinie mit GCM-Verschlüsselung (Authentifizierung deaktiviert):

    ibmcloud is ipsec-policy-update $ipsec_policy \
       --authentication-algorithms disabled \
       --encryption-algorithms aes128gcm16,aes256gcm16
    

    authentication_algorithms muss nur dann auf disabled gesetzt werden, wenn die Liste encryption_algorithms einen GCM-basierten Algorithmus (aes128gcm16, aes192gcm16 oder aes256gcm16) enthält. GCM Algorithmen bieten sowohl Verschlüsselung als auch integrierte Datenintegrität (Authentifizierung) als Teil einer einzigen Operation, so dass kein separater Authentifizierungsalgorithmus (wie sha256 oder sha512) angegeben werden muss.

Erstellen einer IPsec-Richtlinie über die API

Die singulären Eigenschaften authentication_algorithm, dh_group, encryption_algorithm und pfs für IPsec-Verhandlungen sind veraltet. Verwenden Sie die array-basierten Eigenschaften, um eine IPsec-Richtlinie zu erstellen. Weitere Informationen zu den singulären und array-basierten Algorithmeneigenschaften für IPsec-Richtlinien bei Verwendung der API finden Sie unter Aktualisieren auf mehrere IKE- und IPsec-Algorithmen.

Um eine IPsec-Richtlinie mit mehreren Algorithmen zu erstellen, indem Sie die Array-basierten Eigenschaften verwenden (empfohlen), gehen Sie wie folgt vor:

  1. Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.

  2. Speichern Sie weitere Variablen, die in den API-Befehlen verwendet werden sollen. Zum Beispiel:

ResourceGroupId - Suchen Sie die Ressourcengruppen-ID mithilfe des Befehls get resource groups und füllen Sie dann die Variable:

 export ResourceGroupId=<your_resourcegroup_id>
  1. Erstellen Sie die IPsec-Richtlinie:

       curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
            "name": "my-new-ipsec-policy",
            "authentication_algorithms": ["sha256", "sha512"],
            "encryption_algorithms": ["aes128", "aes256"],
            "pfs_groups": ["group_14", "group_15", "group_16", "group_17", "group_18"],
            "resource_group": {
              "id": "'$ResourceGroupId'"
            }
          }'
    

Erstellen Sie eine IPsec-Richtlinie, bei der encryption_algorithms auf GCM-basierte Algorithmen und authentication_algorithms auf disabled eingestellt ist:

   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
   -H "Authorization: Bearer $iam_token" \
   -d '{
      "name": "gcm-ipsec-policy",
      "encryption_algorithms": ["aes128gcm16","aes192gcm16","aes256gcm16"],
      "authentication_algorithms": ["disabled"],
      "pfs_groups": ["group_14","group_15","group_16","group_17","group_18"],
      "resource_group": {
        "id": "'$ResourceGroupId'"
      }
    }'

Die Eigenschaft authentication_algorithms muss nur dann auf disabled gesetzt werden, wenn die Liste encryption_algorithms einen GCM-basierten Algorithmus (aes128gcm16, aes192gcm16 oder aes256gcm16) enthält. GCM Algorithmen bieten sowohl Verschlüsselung als auch integrierte Datenintegrität (Authentifizierung) als Teil einer einzigen Operation, so dass kein separater Authentifizierungsalgorithmus (wie sha256 oder sha512) angegeben werden muss.

Gehen Sie folgendermaßen vor, um eine IPsec-Richtlinie mit der API unter Verwendung einzelner Eigenschaften (veraltet) zu erstellen:

  1. Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.

  2. Speichern Sie weitere Variablen, die in den API-Befehlen verwendet werden sollen. Zum Beispiel:

ResourceGroupId - Suchen Sie die Ressourcengruppen-ID mithilfe des Befehls get resource groups und füllen Sie dann die Variable:

 export ResourceGroupId=<your_resourcegroup_id>
  1. Erstellen Sie die IPsec-Richtlinie:
   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
        "name": "my-new-ipsec-policy",
        "authentication_algorithm": "sha256",
        "encryption_algorithm": "aes128",
        "pfs": "group_14",
        "resource_group": {
          "id": "'$ResourceGroupId'"
        }
      }'

Aktualisieren einer IPsec-Richtlinie mit der API

Um eine IPsec-Richtlinie mit der API zu aktualisieren, indem Sie die Array-basierten Eigenschaften verwenden (empfohlen), gehen Sie wie folgt vor:

  1. Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.

  2. Speichern Sie weitere Variablen, die in den API-Befehlen verwendet werden sollen. Zum Beispiel:

ResourceGroupId - Suchen Sie die Ressourcengruppen-ID mithilfe des Befehls get resource groups und füllen Sie dann die Variable:

export ResourceGroupId=<your_resourcegroup_id>
  1. Aktualisieren Sie die IPsec-Richtlinie:
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithms": ["sha512", "sha384", "sha256"],
         "encryption_algorithms": ["aes256", "aes128"],
         "pfs_groups": ["group_18", "group_17", "group_16", "group_15", "group_14"],
      }'

Gehen Sie folgendermaßen vor, um eine IPsec-Richtlinie mit der API zu aktualisieren, indem Sie einzelne Eigenschaften verwenden (veraltet):

Sie können IPsec-Richtlinien aktualisieren, indem Sie entweder veraltete singuläre Eigenschaften oder array-basierte Eigenschaften verwenden. Beide Formen werden akzeptiert, aber Sie dürfen nicht einzelne und array-basierte Eigenschaften für dieselbe Algorithmuskategorie in einer einzigen Anfrage mischen.

  1. Richten Sie Ihre API-Umgebung mit den richtigen Variablen ein.

  2. Speichern Sie weitere Variablen, die in den API-Befehlen verwendet werden sollen. Zum Beispiel:

ResourceGroupId - Suchen Sie die Ressourcengruppen-ID mithilfe des Befehls get resource groups und füllen Sie dann die Variable:

export ResourceGroupId=<your_resourcegroup_id>
  1. Aktualisieren Sie die IPsec-Richtlinie:
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithm": "sha512",
         "encryption_algorithm": "aes256",
           "pfs": "group_18",
      }'

Den vollständigen Satz von APIs für Site-to-Site-VPN-Gateways finden Sie in der VPC-API-Referenz.

IPsec-Richtlinie unter Verwendung von Terraform erstellen

Im folgenden Beispiel können Sie mithilfe von Terraform eine IPsec-Richtlinie erstellen:

   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }
  1. Im folgenden Beispiel können Sie mithilfe von Terraform eine IPsec-Richtlinie mit Array-basierten Eigenschaften erstellen (empfohlen):
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithms = ["sha512", "sha384"]
     encryption_algorithms     = ["aes128", "aes192"]
     pfs_groups                = ["group_14", "group_15"]
   }
  1. Im folgenden Beispiel können Sie mithilfe von Terraform eine IPsec-Richtlinie mit einzelnen Eigenschaften (veraltet) erstellen:
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }

Verwenden Sie in einer einzelnen Anfrage nicht gleichzeitig Singular- und Array-basierte Eigenschaften für dieselbe Algorithmuskategorie.

Weitere Informationen finden Sie in der Terraform-Registry.

Nächste Schritte

Nachdem Sie eine IPsec-Richtlinie erstellt haben, führen Sie je nach Bedarf die folgenden Aufgaben aus: