TLS für die Management API konfigurieren

Edge for Private Cloud v4.18.05

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.

Gehen Sie so vor, um den TLS-Zugriff auf die Verwaltungs-API zu konfigurieren:

  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 zu 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 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
    , wobei keyStore.jks Ihre Schlüsselspeicherdatei und obfuscatedPassword Ihr verschleiertes 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 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 zu belassen, 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-Verwaltungsserver 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 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 für den vollständigen Domainnamen gemäß der Zertifikatsadresse des Verwaltungsservers und die Portnummer dem oben in conf_webserver_ssl.port angegebenen Port entspricht.
  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-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 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:

Properties

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=

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

conf_webserver_cert.alias=

Optionaler Alias für Schlüsselspeicherzertifikat

conf_webserver_keymanager.password=

Wenn Ihr Schlüsselmanager ein Passwort hat, geben Sie eine verschleierte Version des Passworts im folgenden 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 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 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 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 der 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 Zeit, die TLS/SSL-Sitzungen dauern können, bevor sie zu einer Zeitüberschreitung führen (in Millisekunden).