TLS für die Management API konfigurieren

Edge for Private Cloud v4.19.01

Standardmäßig ist TLS für die Management API deaktiviert und Sie greifen über HTTP auf die Edge Management API zu, indem Sie die IP-Adresse des Management Server-Knotens und Port 8080 verwenden. Beispiel:

http://ms_IP:8080

Alternativ können Sie den TLS-Zugriff auf die Management API so konfigurieren, dass Sie in folgender Form 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 jedoch nicht für Edge erforderlich. Sie können den Management Server so konfigurieren, dass er andere Portwerte verwendet. Die einzige Anforderung ist, 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 Verschlüsselung des Traffics zu und von Ihrer Management API zu gewährleisten.

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.

Prüfen, ob der TLS-Port geöffnet ist

Mit dem Verfahren in diesem Abschnitt wird TLS so konfiguriert, dass Port 8443 auf dem Management Server verwendet wird. Unabhängig vom verwendeten Port müssen Sie dafür sorgen, dass der Port auf dem Management Server geöffnet ist. 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 TLS-Nutzung für den Traffic zu und von Ihrer Management API zu steuern. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie.

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

  1. Generieren Sie die JKS-Datei des Schlüsselspeichers, die Ihr TLS-Zertifikat und Ihren privaten Schlüssel enthält. Weitere Informationen finden Sie unter TLS/SSL für Edge On-Premises konfigurieren.
  2. Kopieren Sie die JKS-Datei des Schlüsselspeichers in ein Verzeichnis auf dem Management Server-Knoten, z. B. /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 diese 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 Edge On-Premises konfigurieren.

  5. Starten Sie den Edge Management Server 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.

Edge-Benutzeroberfläche für die Verwendung von TLS für den Zugriff auf die Edge API konfigurieren

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

Gehen Sie so vor, um die Edge-Benutzeroberfläche so zu konfigurieren, dass diese Aufrufe nur über HTTPS erfolgen:

  1. Konfigurieren Sie den TLS-Zugriff auf die Management API wie oben beschrieben.
  2. Nachdem Sie bestätigt haben, dass TLS für die Management 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 mit dem folgenden Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Bearbeiten Sie /opt/apigee/customer/application/ui.properties, um das folgende Attribut 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äß der Zertifikatsadresse des Management Servers und port der oben durch conf_webserver_ssl.port angegebene Port.

    Wenn ui.properties nicht vorhanden ist, erstellen Sie die Datei.

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

    Andernfalls wird ein selbst signiertes Zertifikat von der Edge-Benutzeroberfläche abgelehnt.

  6. Starten Sie die Edge-Benutzeroberfläche mit dem folgenden Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

TLS-Attribute für den Management Server

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, belassen Sie den Standardwert bei true.

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 Schlüsselspeicher-Zertifikatsalias

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. um nicht standardmäßige Typen zu akzeptieren). Der Standardwert ist false. Geben Sie den Pfad zu Ihrem Trust Store an und geben Sie ein verschleiertes Trust Store-Passwort 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 Cipher Suites an, die Sie ein- oder ausschließen möchten. Wenn Sie beispielsweise eine Sicherheitslücke in einer Chiffre entdecken, können Sie sie hier ausschließen. Trennen Sie mehrere Chiffren durch ein Leerzeichen.

Informationen zu Cipher-Suites und zur Kryptografiearchitektur finden Sie in der Dokumentation zu Java Cryptography Architecture Oracle Providers für 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 das Zeitlimit überschreiten (in Millisekunden).