TLS für die Management API konfigurieren

Edge for Private Cloud Version 4.16.09

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 andere Portwerte verwendet werden. Die einzige Voraussetzung ist, dass Ihre Firewall Traffic über den angegebenen Port zulässt.

Um die Traffic-Verschlüsselung zu und von Ihrer Verwaltungs-API zu gewährleisten, konfigurieren Sie die Einstellungen in der Datei /opt/apigee/customer/application/management-server.properties.

Zusätzlich zur TLS-Konfiguration können Sie auch die Passwortbestätigung (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 für die Verwendung von Port 8443 auf dem Verwaltungsserver konfiguriert. Unabhängig von dem verwendeten Port muss der Port auf dem Verwaltungsserver geöffnet sein. 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-Keystore-Datei 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-Server-Knoten, z. B. /opt/apigee/customer/application.
  3. Ändern Sie die Inhaberschaft der JKS-Datei in „apigee“:
    $ chown apigee:apigee keystore.jks

    wobei keystore.jks der Name Ihrer Schlüsselspeicherdatei ist.
  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
    # Set next to true if all communications should be over HTTPS.
    # Nicht empfohlen, bis Sie TLS/HTTPS für die Edge API getestet haben und
    # die Edge-Benutzeroberfläche so konfiguriert haben, dass für den Zugriff auf die Edge API TLS verwendet wird (siehe unten).
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Geben Sie das verschleierte Keystore-Passwort unten ein.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    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:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

Nachdem Sie sichergestellt haben, dass TLS ordnungsgemäß funktioniert, einschließlich der Edge-Benutzeroberfläche, können Sie den HTTP-Zugriff auf die Verwaltungs-API wie im nächsten Abschnitt beschrieben deaktivieren.

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

Im obigen Verfahren empfiehlt Apigee, 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, um die folgende Eigenschaft festzulegen:
    conf_webserver_http.turn.off=true
  3. Starten Sie den Edge-Verwaltungsserver mit dem Befehl:
    $ /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"

    wobei FQDN der vollständige Domainname gemäß der Zertifikatsadresse des Verwaltungsservers ist und die Portnummer der oben unter conf_webserver_ssl.port angegebene Port ist.
  5. Nur wenn Sie beim Konfigurieren des TLS-Zugriffs auf die Verwaltungs-API ein selbst signiertes Zertifikat verwendet haben (in einer Produktionsumgebung nicht empfohlen), fügen Sie die folgende Property zu ui.properties hinzu:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Andernfalls lehnt die Edge-UI ein selbst signiertes Zertifikat ab.
  6. Starten Sie die Edge-Benutzeroberfläche mit dem folgenden Befehl neu:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-ui erneut starten

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 (true), müssen Sie auch die Attribute „ssl.port“ und „keystore.path“ festlegen.

conf_webserver_http.turn.off=true

Sie können HTTP und HTTPS gleichzeitig aktivieren oder deaktivieren. 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=<Pfad>

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=<Pfad>

conf_webserver_trust.store.password=

Konfigurieren Sie die Einstellungen für den Truststore. 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 und ein verschleiertes Passwort für den Trust Store im folgenden 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.

Informationen zu Cypher 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 von TLS-/SSL-Sitzungen (in Millisekunden), bevor das Zeitlimit erreicht wird.