Chiffresammlungen auf virtuellen Hosts und Routern konfigurieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Dokument wird erläutert, wie Chiffresammlungen auf virtuellen Hosts und Routern in Apigee Edge konfiguriert werden.

Eine Cipher Suite besteht aus einer Reihe von Algorithmen, die zur Sicherung einer Netzwerkverbindung mit TLS beitragen. Der Client und der Server müssen sich auf die spezifische Chiffrensammlung einigen, die beim Austausch von Nachrichten verwendet wird. Wenn Client und Server sich nicht auf eine Cipher Suite einigen, schlagen die Anfragen mit TLS-Handshakefehlern fehl.

In Apigee sollten Chiffresammlungen zwischen den Clientanwendungen und Routern vereinbart werden.

Sie können die Chiffresammlungen in Apigee Edge aus den folgenden Gründen ändern:

  • Um zu vermeiden, dass Cipher Suites zwischen Clientanwendungen und Apigee-Routern nicht übereinstimmen
  • Verwendung sichererer Cipher Suites zur Behebung von Sicherheitslücken oder zur Verbesserung der Sicherheit

Cipher Suites können entweder auf den virtuellen Hosts oder auf Apigee-Routern konfiguriert werden. Beachten Sie, dass Apigee sowohl auf dem virtuellen Host als auch auf dem Router nur Cipher Suites im Format OpenSSL-Chiffrestrings akzeptiert. Auf der Manpage zu OpenSSL-Chiffren finden Sie die SSL- oder TLS-Cipher Suites aus der entsprechenden Spezifikation und ihre OpenSSL-Entsprechungen.

Beispiel:

Wenn Sie die Cipher Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 auf dem virtuellen Host oder auf dem Apigee Router konfigurieren möchten, müssen Sie den entsprechenden OpenSSL-Chiffrestring auf der Manpage zu OpenSSL-Chiffren identifizieren. Der OpenSSL-Verschlüsselungsstring für die Chiffrensammlung TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ist ECDHE-RSA-AES128-GCM-SHA256.. Sie müssen also beim Konfigurieren der Chiffrensammlung auf dem virtuellen Host oder auf dem Apigee-Router den OpenSSL-Chiffrestring ECDHE-RSA-AES128-GCM-SHA256 verwenden.

Hinweis

Chiffresammlungen auf virtuellen Hosts konfigurieren

In diesem Abschnitt wird erläutert, wie Chiffresammlungen in den virtuellen Hosts konfiguriert werden, die einer Organisation und Umgebung zugeordnet sind. Cipher Suites können im virtuellen Host über die Eigenschaft ssl_ciphers konfiguriert werden, die die Liste der Cipher Suites darstellt, die vom virtuellen Host unterstützt werden.

Eine Liste der von Apigee unterstützten Chiffresammlungen finden Sie unter Unterstützte Chiffresammlungen.

Sie können den virtuellen Host mit einer der folgenden Methoden konfigurieren:

  • Verwenden der Edge-Benutzeroberfläche
  • Verwenden der Edge-API

Edge-Benutzeroberfläche verwenden

So konfigurieren Sie den virtuellen Host mithilfe der Edge-Benutzeroberfläche:

  1. Melden Sie sich bei der Edge-UI an.
  2. Gehen Sie zu Admin > Virtual Hosts (Verwaltung > Virtuelle Hosts).
  3. Wählen Sie eine bestimmte Umgebung aus, für die Sie diese Änderung vornehmen möchten.
  4. Wählen Sie den spezifischen virtuellen Host aus, für den Sie die Chiffresammlungen konfigurieren möchten.
  5. Aktualisieren Sie unter Eigenschaften den Wert Chiffren mit einer durch Doppelpunkt getrennten Liste von OpenSSL-Verschlüsselungsstrings.

    Wenn Sie beispielsweise nur die Chiffresammlungen TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 und TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 zulassen möchten, ermitteln Sie die entsprechenden OpenSSL-Chiffrestrings auf der Manpage zu OpenSSL-Chiffren, wie in der folgenden Tabelle gezeigt:

    Cipher Suite OpenSSL-Verschlüsselungsstring
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Fügen Sie den OpenSSL-Verschlüsselungsstring mit Doppelpunkt-Trennung hinzu, wie in der folgenden Abbildung dargestellt:

    Beispiel für Verschlüsselungen

  6. Speichern Sie die Änderung.

Edge API verwenden

So konfigurieren Sie die Chiffresammlungen auf einem virtuellen Host mithilfe der Edge API:

  1. Rufen Sie die aktuelle Konfiguration des virtuellen Hosts mithilfe der API Get virtual host (Virtuellen Host abrufen) ab, wie unten gezeigt:

    Public Cloud-Nutzer:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Private Cloud-Nutzer:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  2. Fügen Sie der vorhandenen JSON-Nutzlast der virtuellen Hostkonfiguration unter properties das Attribut ssl_ciphers mit den entsprechenden OpenSSL-Verschlüsselungsstrings hinzu.

    Wenn Sie beispielsweise nur die Chiffresammlungen TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 und TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 zulassen möchten, ermitteln Sie die entsprechenden OpenSSL-Chiffrestrings auf der Manpage zu OpenSSL-Chiffren, wie in der folgenden Tabelle gezeigt:

    Cipher Suite OpenSSL-Verschlüsselungsstring
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Fügen Sie den folgenden properties-Codeblock hinzu:

    Beispiel für eine aktualisierte virtuelle Hostkonfiguration:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. Speichern Sie die aktualisierte Konfiguration des virtuellen Hosts in einer Datei. Beispiel: virtualhost-payload.json.
  4. Aktualisieren Sie die virtualhost-Konfiguration mit der Änderung mithilfe der API Virtuellen Host aktualisieren so:

    Public Cloud-Nutzer:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

    Private Cloud-Nutzer:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

Unterstützte Chiffresammlungen

Apigee unterstützt die folgenden Cipher Suites:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Chiffresammlungen auf virtuellen Hosts prüfen

In diesem Abschnitt wird erläutert, wie Sie mithilfe der Edge API überprüfen, ob die Chiffresammlungen auf dem virtuellen Host erfolgreich geändert wurden.

  1. Führen Sie die Get virtual host API aus, um die virtualhost-Konfiguration wie unten gezeigt zu erhalten:

    Public Cloud-Nutzer:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Private Cloud-Nutzer:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. Prüfen Sie, ob die Eigenschaft ssl_ciphers auf den neuen Wert gesetzt wurde.

    Beispiel für eine aktualisierte virtuelle Hostkonfiguration:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    Beachten Sie, dass im obigen Beispiel ssl_ciphers mit dem neuen Wert festgelegt wurde.

  3. Wenn noch der alte Wert für ssl_ciphers angezeigt wird, prüfen Sie, ob Sie alle unter Chiffresammlungen auf virtuellen Hosts konfigurieren beschriebenen Schritte korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt.
  4. Wenn Sie dem virtuellen Host immer noch keine Chiffresammlungen aktualisieren oder hinzufügen können, wenden Sie sich an den Apigee Edge-Support.

Chiffresammlungen für Router konfigurieren

In diesem Abschnitt wird erläutert, wie Chiffresammlungen auf den Routern konfiguriert werden. Verschlüsselungssammlungen können über die Routereigenschaft conf_load_balancing_load.balancing.driver.server.ssl.ciphers konfiguriert werden, die die durch Doppelpunkt getrennten akzeptierten Chiffresammlungen darstellt.

So konfigurieren Sie Chiffresammlungen auf den Routern:

  1. Öffnen Sie auf der Router-Maschine die folgende Datei in einem Editor. Wenn sie noch nicht vorhanden ist, erstellen Sie sie.

    /opt/apigee/customer/application/router.properties
    

    Wenn Sie die Datei z. B. mit vi öffnen möchten, geben Sie Folgendes ein:

    vi /opt/apigee/customer/application/router.properties
    

  2. Fügen Sie der Datei properties eine Zeile im folgenden Format hinzu und ersetzen Sie dabei colon_separated_cipher_suites durch einen Wert:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Wenn Sie beispielsweise nur die Chiffresammlungen TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 und TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 zulassen möchten, ermitteln Sie die entsprechenden OpenSSL-Chiffrestrings auf der Manpage zu OpenSSL-Chiffren, wie in der folgenden Tabelle gezeigt:

    Cipher Suite OpenSSL-Verschlüsselungsstring
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Fügen Sie dann die folgende Zeile hinzu:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. Speichern Sie die Änderungen.
  4. Achten Sie darauf, dass der Inhaber dieser Property-Datei der Nutzer apigee ist (siehe unten):
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Starten Sie den Router wie unten gezeigt neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Wenn Sie mehr als einen Router haben, wiederholen Sie die obigen Schritte für alle Router.

Die Cipher Suite bei Routern prüfen

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob die Chiffresammlungen auf den Routern erfolgreich geändert wurden.

  1. Suchen Sie auf dem Router mit dem Apigee-Suchdienstprogramm aus dem Ordner /opt/apigee nach dem Attribut conf_load_balancing_load.balancing.driver.server.ssl.ciphers und prüfen Sie, ob es mit dem neuen Wert so festgelegt wurde:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. Wenn die neuen Chiffresammlungen auf dem Router erfolgreich festgelegt wurden, zeigt der obige Befehl die neuen Werte an.

    Hier ist das Beispielergebnis des obigen Befehls search, als die Chiffresammlungen auf DHE-RSA-AES128-GCM-SHA256 und ECDHE-RSA-AES128-GCM-SHA256 aktualisiert wurden:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
    

    Beachten Sie in der obigen Beispielausgabe, dass das Attribut conf_load_balancing_load.balancing.driver.server.ssl.ciphers mit den neuen Werten der Cipher Suite festgelegt wurde. Dies weist darauf hin, dass die Chiffrensammlung auf dem Router erfolgreich auf die OpenSSL-Chiffrestrings DHE-RSA-AES128-GCM-SHA25 und ECDHE-RSA-AES128-GCM-SHA256 aktualisiert wurde.

  3. Wenn Sie noch die alten Werte für die Chiffresammlungen conf_load_balancing_load.balancing.driver.server.ssl.ciphers sehen, prüfen Sie, ob Sie alle unter Chiffresammlungen für Router konfigurieren beschriebenen Schritte korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt.
  4. Wenn Sie die Verschlüsselungssuiten für Router immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.