TLS für die Management API konfigurieren

Standardmäßig ist TLS für die Verwaltungs-API deaktiviert und Sie greifen über HTTP mithilfe der IP-Adresse des Verwaltungsserver-Knotens und des Ports 8080 über HTTP auf die Edge-Verwaltungs-API zu. Beispiel:

http://ms_IP:8080

Alternativ können Sie den TLS-Zugriff auf die Verwaltungs-API so konfigurieren, dass Sie folgendermaßen darauf zugreifen können:

https://ms_IP:8443

In diesem Beispiel konfigurieren Sie den TLS-Zugriff für die Verwendung von Port 8443. Diese Portnummer ist für Edge jedoch nicht erforderlich – Sie können den Management Server so konfigurieren, dass andere Portwerte verwendet werden. Die einzige Voraussetzung besteht darin, dass Ihre Firewall Traffic über den angegebenen Port zulässt.

Konfigurieren Sie die Einstellungen in der Datei /opt/apigee/customer/application/management-server.properties, um die Trafficverschlüsselung zu und von Ihrer Verwaltungs-API sicherzustellen.

Zusätzlich zur TLS-Konfiguration können Sie auch die Passwortvalidierung (Passwortlänge und -stärke) steuern, indem Sie die Datei management-server.properties ändern.

Achten Sie darauf, dass Ihr TLS-Port offen ist

Mit der Anleitung in diesem Abschnitt wird TLS für die Verwendung von Port 8443 auf dem Verwaltungsserver konfiguriert. Unabhängig vom verwendeten Port muss der Port auf dem Verwaltungsserver offen sein. Sie können sie beispielsweise mit dem folgenden Befehl öffnen:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

TLS konfigurieren

Bearbeiten Sie die Datei /opt/apigee/customer/application/management-server.properties, um die Verwendung von TLS für den Traffic zu und von Ihrer Verwaltungs-API zu steuern. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie.

So konfigurieren Sie den TLS-Zugriff auf die Verwaltungs-API:

  1. Generieren Sie die JKS-Datei für den Schlüsselspeicher, die Ihre TLS-Zertifizierung und Ihren privaten Schlüssel enthält. Weitere Informationen finden Sie unter TLS/SSL für lokale Edge-Geräte konfigurieren.
  2. Kopieren Sie die Schlüsselspeicher-JKS-Datei in ein Verzeichnis auf dem Verwaltungsserver-Knoten wie /opt/apigee/customer/application.
  3. Ändern Sie die Eigentümerschaft der JKS-Datei in den Nutzer „apigee“:
    chown apigee:apigee keystore.jks

    Dabei ist keystore.jks der Name Ihrer Schlüsselspeicherdatei.

  4. Bearbeiten Sie /opt/apigee/customer/application/management-server.properties, um die folgenden Attribute festzulegen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    Dabei ist keyStore.jks Ihre Schlüsselspeicherdatei und obfuscatedPassword Ihr verschleiertes Schlüsselspeicherpasswort. Informationen zum Generieren eines verschleierten Passworts finden Sie unter TLS/SSL für lokale Edge-Geräte konfigurieren.

  5. Starten Sie den Edge-Verwaltungsserver mit dem folgenden Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Die Management API unterstützt jetzt den Zugriff über TLS.

Konfigurieren Sie die Edge-Benutzeroberfläche so, dass für den Zugriff auf die Edge API TLS verwendet wird

Im obigen Verfahren empfahl Apigee, conf_webserver_http.turn.off=false beizubehalten, damit die Edge-Benutzeroberfläche weiterhin Edge-API-Aufrufe über HTTP ausführen kann.

Verwenden Sie das folgende Verfahren, um die Edge-Benutzeroberfläche so zu konfigurieren, dass diese Aufrufe nur über HTTPS erfolgen:

  1. Konfigurieren Sie den TLS-Zugriff auf die Verwaltungs-API wie oben beschrieben.
  2. Nachdem Sie bestätigt haben, dass TLS für die Verwaltungs-API funktioniert, bearbeiten Sie /opt/apigee/customer/application/management-server.properties, um das folgende Attribut festzulegen:
    conf_webserver_http.turn.off=true
  3. Starten Sie den Edge-Management-Server neu, indem Sie den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Bearbeiten Sie /opt/apigee/customer/application/ui.properties, um die folgende Eigenschaft für die Edge-Benutzeroberfläche festzulegen:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Dabei ist FQ_domain_name der vollständige Domainname gemäß Ihrer Zertifikatsadresse des Verwaltungsservers und port der oben in conf_webserver_ssl.port angegebene Port.

    Wenn ui.properties nicht vorhanden ist, wird sie erstellt.

  5. Nur wenn Sie beim Konfigurieren des TLS-Zugriffs auf die Verwaltungs-API oben ein selbst signiertes Zertifikat verwendet haben (in einer Produktionsumgebung nicht empfohlen) fügen Sie ui.properties das folgende Attribut hinzu:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Andernfalls lehnt die Edge-Benutzeroberfläche ein selbst signiertes Zertifikat ab.

  6. Starten Sie die Edge-Benutzeroberfläche neu, indem Sie den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

TLS-Attribute für den Verwaltungsserver

In der folgenden Tabelle sind alle TLS/SSL-Attribute aufgeführt, die Sie in management-server.properties festlegen können:

Attribute Beschreibung

conf_webserver_http.port=8080

Der Standardwert ist 8080.

conf_webserver_ssl.enabled=false

Zum Aktivieren/Deaktivieren von TLS/SSL. Wenn TLS/SSL aktiviert ist (true), müssen Sie auch die Attribute „ssl.port“ und „keystore.path“ festlegen.

conf_webserver_http.turn.off=true

Zum Aktivieren/Deaktivieren von HTTP zusammen mit HTTPS. Wenn Sie nur HTTPS verwenden möchten, behalten Sie den Standardwert true bei.

conf_webserver_ssl.port=8443

Der TLS/SSL-Port.

Erforderlich, wenn TLS/SSL aktiviert ist (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Der Pfad zu Ihrer Schlüsselspeicherdatei.

Erforderlich, wenn TLS/SSL aktiviert ist (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Verwenden Sie ein verschleiertes Passwort im folgenden Format: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Optionaler Alias für Schlüsselspeicherzertifikat

conf_webserver_keymanager.password=password

Wenn Ihr Schlüsselmanager ein Passwort hat, geben Sie eine verschleierte Version des Passworts in diesem Format ein:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Konfigurieren Sie die Einstellungen für Ihren Trust Store. Legen Sie fest, ob Sie alle TLS/SSL-Zertifikate akzeptieren möchten (z. B. nicht standardmäßige Typen). Der Standardwert ist false. Geben Sie den Pfad zu Ihrem Trust Store an und geben Sie ein verschleiertes Passwort für den Trust Store in diesem Format ein:

OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=CIPHER_SUITE_1 CIPHER_SUITE_2

conf_webserver_include.cipher.suites=

Geben Sie alle Chiffresammlungen an, die Sie ein- oder ausschließen möchten. Wenn Sie beispielsweise eine Sicherheitslücke in einer Chiffre entdecken, können Sie diese hier ausschließen. Trennen Sie mehrere Chiffren durch ein Leerzeichen.

Informationen zu Cypher Suites und zur Kryptografiearchitektur finden Sie in der Dokumentation zu Oracle Providers für Java Cryptography Architecture for JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Ganzzahlen, die Folgendes bestimmen:

  • Die Größe des TLS/SSL-Sitzungscaches (in Byte) zum Speichern von Sitzungsinformationen für mehrere Clients.
  • Die Zeit, die TLS/SSL-Sitzungen dauern können, bevor sie zu einer Zeitüberschreitung führen (in Millisekunden).