Chiffresammlungen auf virtuellen Hosts und Routern konfigurieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen
info

In diesem Dokument wird beschrieben, wie Sie Cipher Suites für virtuelle Hosts und Router in Apigee Edge konfigurieren.

Eine Cipher Suite ist eine Reihe von Algorithmen, die zum Schutz einer Netzwerkverbindung beitragen, die TLS verwendet. Der Client und der Server müssen sich auf die spezifische Cipher Suite einigen, die für den Austausch von Nachrichten verwendet werden soll. Wenn sich Client und Server nicht auf eine Cipher Suite einigen können, schlagen die Anfragen mit TLS-Handshake-Fehlern fehl.

In Apigee sollten sich Clientanwendungen und Router auf die Cipher Suites einigen.

Es gibt folgende Gründe, die Cipher Suites in Apigee Edge zu ändern:

  • Vermeiden von Abweichungen bei den Chiffrierverfahren zwischen Clientanwendungen und Apigee-Routern
  • Sicherere Cipher Suites verwenden, um Sicherheitslücken zu schließen oder erweiterte Sicherheitsfunktionen zu nutzen

Cipher Suites können entweder auf den virtuellen Hosts oder auf den Apigee-Routern konfiguriert werden. Beachten Sie, dass Apigee Cipher Suites nur im Format OpenSSL cipher strings sowohl auf dem virtuellen Host als auch auf dem Router akzeptiert. Die OpenSSL-Handbuchseite zu Chiffren enthält die SSL- oder TLS-Chiffresammlungen aus der entsprechenden Spezifikation und ihre OpenSSL-Entsprechungen.

Beispiel:

Wenn Sie die TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -Chiffriergruppe auf dem virtuellen Host oder dem Apigee-Router konfigurieren möchten, müssen Sie den entsprechenden OpenSSL-Chiffrierstring aus der OpenSSL-Chiffrier-Manpage ermitteln. Der OpenSSL-Chiffrierstring für die Chiffrier-Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ist ECDHE-RSA-AES128-GCM-SHA256.. Sie müssen also den OpenSSL-Chiffrierstring ECDHE-RSA-AES128-GCM-SHA256 verwenden, wenn Sie die Chiffrier-Suite im virtuellen Host oder auf dem Apigee-Router konfigurieren.

Hinweis

Chiffrierverfahren für virtuelle Hosts konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie Cipher Suites in den virtuellen Hosts konfigurieren, die einer Organisation und Umgebung zugeordnet sind. Cipher Suites können im virtuellen Host über das Attribut ssl_ciphers konfiguriert werden. Dieses Attribut stellt die Liste der vom virtuellen Host unterstützten Cipher Suites dar.

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

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

  • Edge-Benutzeroberfläche verwenden
  • Edge API verwenden

Edge-Benutzeroberfläche verwenden

So konfigurieren Sie den virtuellen Host über die Edge-Benutzeroberfläche:

  1. Melden Sie sich in der Edge-Benutzeroberfläche an.
  2. Gehen Sie zu Verwaltung > Virtuelle Hosts.
  3. Wählen Sie eine bestimmte Umgebung aus, in der Sie diese Änderung vornehmen möchten.
  4. Wählen Sie den virtuellen Host aus, für den Sie die Chiffrierverfahren konfigurieren möchten.
  5. Aktualisieren Sie unter Properties (Eigenschaften) den Wert Ciphers (Chiffren) mit einer durch Doppelpunkte getrennten Liste von OpenSSL-Chiffrierstrings.

    Wenn Sie beispielsweise nur die Cipher Suites 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-Chiffrierstrings aus der OpenSSL-Manpage für Chiffren, wie in der folgenden Tabelle dargestellt:

    Cipher Suite OpenSSL-Chiffrestring
    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-Chiffrierstring mit Doppelpunkt-Trennung hinzu, wie in der folgenden Abbildung dargestellt:

    Beispiel für Chiffren

  6. Speichern Sie die Änderung.

Edge API verwenden

So konfigurieren Sie die Cipher Suites für einen virtuellen Host mit der Edge API:

  1. Rufen Sie die aktuelle Konfiguration des virtuellen Hosts mit der API Get virtual host ab, wie unten dargestellt:

    Nutzer der öffentlichen Cloud:

    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 für die Konfiguration des virtuellen Hosts unter properties das Attribut ssl_ciphers mit den entsprechenden OpenSSL-Chiffrier-Strings hinzu.

    Wenn Sie beispielsweise nur die Cipher Suites 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-Cipher-Strings aus der OpenSSL-Manpage für Ciphers, wie in der folgenden Tabelle dargestellt:

    Cipher Suite OpenSSL-Chiffrestring
    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 Konfiguration des virtuellen Hosts:

    {
      "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:

    Nutzer der öffentlichen Cloud:

    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 Cipher Suites

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

Verschlüsselungssuiten auf virtuellen Hosts prüfen

In diesem Abschnitt wird beschrieben, wie Sie mit der Edge API überprüfen, ob die Cipher Suites im virtuellen Host erfolgreich geändert wurden.

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

    Nutzer der öffentlichen Cloud:

    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 Property ssl_ciphers auf den neuen Wert festgelegt wurde.

    Beispiel für eine aktualisierte Konfiguration des virtuellen Hosts:

    {
      "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
    }

    Im obigen Beispiel wurde ssl_ciphers mit dem neuen Wert festgelegt.

  3. Wenn Sie immer noch den alten Wert für ssl_ciphers sehen, prüfen Sie, ob Sie alle Schritte unter Chiffrierverfahren für virtuelle Hosts konfigurieren richtig ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte noch einmal.
  4. Wenn Sie weiterhin keine Chiffrierverfahren für den virtuellen Host aktualisieren oder hinzufügen können, wenden Sie sich an den Apigee Edge-Support.

Cipher Suites auf Routern konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie Chiffrierverfahren auf den Routern konfigurieren. Cipher Suites können über die Router-Property conf_load_balancing_load.balancing.driver.server.ssl.ciphers konfiguriert werden. Sie stellt die durch Doppelpunkt getrennten akzeptierten Cipher Suites dar.

So konfigurieren Sie Chiffrierverfahren auf den Routern:

  1. Öffnen Sie auf dem Routercomputer 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 beispielsweise 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 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 Cipher Suites 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-Cipher-Strings aus der OpenSSL-Manpage für Ciphers, wie in der folgenden Tabelle dargestellt:

    Cipher Suite OpenSSL-Chiffrestring
    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. Prüfen Sie, ob die Datei mit den Eigenschaften dem Nutzer apigee gehört, wie unten dargestellt:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. Starte den Router wie unten beschrieben neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. Wenn Sie mehr als einen Router haben, wiederholen Sie die obigen Schritte auf allen Routern.

Cipher Suite auf Routern prüfen

In diesem Abschnitt wird beschrieben, wie Sie prüfen können, ob die Chiffrierverfahren auf den Routern erfolgreich geändert wurden.

  1. Suchen Sie auf dem Router mit dem Apigee-Suchdienstprogramm aus dem Ordner /opt/apigee nach der Eigenschaft conf_load_balancing_load.balancing.driver.server.ssl.ciphers und prüfen Sie, ob sie mit dem neuen Wert 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 Chiffrierverfahren erfolgreich auf dem Router festgelegt wurden, werden die neuen Werte im obigen Befehl angezeigt.

    Das folgende Beispiel zeigt das Ergebnis des Befehls search oben, wenn die Cipher Suites 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

    In der obigen Beispielausgabe sehen Sie, dass die Property conf_load_balancing_load.balancing.driver.server.ssl.ciphers mit den neuen Cipher Suite-Werten festgelegt wurde. Dies weist darauf hin, dass die Cipher Suite auf dem Router erfolgreich auf die OpenSSL-Cipher-Strings DHE-RSA-AES128-GCM-SHA25und ECDHE-RSA-AES128-GCM-SHA256 aktualisiert wurde.

  3. Wenn Sie weiterhin die alten Werte für die Chiffrierverfahren conf_load_balancing_load.balancing.driver.server.ssl.ciphers sehen, prüfen Sie, ob Sie alle Schritte unter Chiffrierverfahren auf Routern konfigurieren richtig ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte noch einmal.
  4. Wenn Sie die Cipher Suites auf Routern weiterhin nicht ändern können, wenden Sie sich an den Apigee Edge-Support.