TLS für die Management API konfigurieren

Edge for Private Cloud Version 4.17.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.

Neben der 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, z. B. /opt/apigee/customer/application.
  3. Ändern Sie die Eigentümerschaft 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 Attribute festzulegen. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie:
    conf_Webserver_ssl.enabled=true
    # Belassen Sie „conf_Webserver_http.turn.off“ auf „false“
    #, da viele interne Edge-Aufrufe HTTP verwenden.
    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 Schlüsselspeicher-Passwort unten ein.
    conf_Webserver_keystore.password=OBF:obfuscatedPassword
    conf_Webserver_cert.alias=apigee-devtest


    Dabei ist keyStore.jks Ihre Schlüsselspeicherdatei und obfuscatedPassword Ihr verschleiertes Keystore-Passwort. 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 Neustart

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

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

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 mit dem folgenden Befehl neu:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server Neustart
  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äß Ihrer Zertifikatsadresse des Verwaltungsservers und die Portnummer ist der oben von 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 (nicht in einer Produktionsumgebung empfohlen) fügen Sie das folgende Attribut 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 Neustart

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, belassen Sie den Standardwert auf 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 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_exclusion.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).