TLS für die Management API konfigurieren

Edge for Private Cloud v4.18.05

Standardmäßig ist TLS für die Verwaltungs-API deaktiviert. Sie greifen über die IP-Adresse des Verwaltungsserverknotens und den Port 8080 per 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 auf sie zugreifen können:

https://ms_IP:8443

In diesem Beispiel konfigurieren Sie den TLS-Zugriff für Port 8443. Diese Portnummer ist jedoch für Edge nicht erforderlich. Sie können den Verwaltungsserver so konfigurieren, dass er andere Portwerte verwendet. Die einzige Voraussetzung ist, dass Ihre Firewall den Traffic über den angegebenen Port zulässt.

Wenn Sie den Traffic zu und von Ihrer Verwaltungs-API verschlüsseln möchten, konfigurieren Sie die Einstellungen in der Datei /opt/apigee/customer/application/management-server.properties.

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 Verwaltungsserver verwendet wird. Unabhängig vom verwendeten Port müssen Sie dafür sorgen, dass der Port auf dem Verwaltungsserver geöffnet ist. Sie können es 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 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 des Keystores mit Ihrer TLS-Zertifizierung und Ihrem privaten Schlüssel. 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-Serverknoten, z. B. /opt/apigee/customer/application.
  3. Ändern Sie die Inhaberschaft der JKS-Datei in „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 Eigenschaften 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
    wobei keyStore.jks die Schlüsselspeicherdatei und obfuscatedPassword das verschleierte Schlüsselspeicherpasswort ist. Informationen zum Generieren eines verschleierten Passworts finden Sie unter TLS/SSL für Edge On Premises konfigurieren.
  5. Starten Sie den Edge-Verwaltungsserver mit dem Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Die Verwaltungs-API unterstützt jetzt den Zugriff über TLS.

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

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

So konfigurieren Sie die Edge-Benutzeroberfläche, damit 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 und legen Sie die folgende Eigenschaft fest: conf_webserver_http.turn.off=true
  3. Starten Sie den Edge Management-Server mit dem Befehl neu:
    /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. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie: conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1" Dabei ist FQDN der vollständige Domainname gemäß der Zertifikatsadresse des Verwaltungsservers und die Portnummer ist der oben mit conf_webserver_ssl.port angegebene Port.
  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 die folgende Eigenschaft 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 Befehl neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

TLS-Eigenschaften für den Verwaltungsserver

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

Properties

Beschreibung

conf_webserver_http.port=8080

Standardwert ist 8080.

conf_webserver_ssl.enabled=false

TLS/SSL aktivieren oder deaktivieren Wenn TLS/SSL aktiviert ist (wahr), müssen Sie auch die Eigenschaften „ssl.port“ und „keystore.path“ festlegen.

conf_webserver_http.turn.off=true

So aktivieren oder deaktivieren Sie http und https gleichzeitig: Wenn Sie nur HTTPS verwenden möchten, belassen Sie den Standardwert 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=

Verwenden Sie ein verschleiertes Passwort in diesem Format: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

Optionaler Alias für das Keystore-Zertifikat

conf_webserver_keymanager.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=

Konfigurieren Sie die Einstellungen für den Truststore. Legen Sie fest, ob alle TLS/SSL-Zertifikate akzeptiert werden sollen (z. B. auch nicht standardmäßige Typen). 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 Chiffrensammlungen an, die Sie ein- oder ausschließen möchten. Wenn Sie beispielsweise eine Sicherheitslücke in einer Chiffre finden, können Sie sie hier ausschließen. Trennen Sie mehrere Chiffren durch ein Leerzeichen.

Weitere Informationen zu Chiffren-Suites und Kryptografiearchitektur finden Sie unter:

http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE

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 Dauer, in der TLS-/SSL-Sitzungen andauern können, bevor das Zeitlimit abläuft (in Millisekunden).