TLS für die Management API konfigurieren

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 konfigurieren, sodass Sie darauf zugreifen können in das Formular:

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 Traffic über den angegebenen Port zulässt.

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

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 für die Verwendung von Port 8443 auf dem Verwaltungsserver konfiguriert. Unabhängig vom verwendeten Port muss er 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

/opt/apigee/customer/application/management-server.properties bearbeiten , um die TLS-Nutzung bei Traffic zu und von Ihrer Verwaltungs-API zu steuern. Ist die Datei nicht vorhanden, und erstellen.

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

  1. Generieren Sie die JKS-Datei des Schlüsselspeichers, die Ihre TLS-Zertifizierung und Ihren privaten Schlüssel enthält. Weitere Informationen Siehe Konfigurieren von TLS/SSL für Edge On Premises.
  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

    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

    Dabei ist keyStore.jks Ihre Schlüsselspeicherdatei und obfuscatedPassword ist 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 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 bis folgende Eigenschaft festlegen:
    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:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Dabei ist FQ_domain_name der vollständige Domainname gemäß Zertifikat. und port der oben angegebene Port ist, conf_webserver_ssl.port

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

  5. Nur, wenn Sie ein selbst signiertes Zertifikat verwendet haben (nicht empfohlen in Produktionsumgebungen) Umgebung) fest, wenn Sie den TLS-Zugriff auf die Verwaltungs-API oben konfigurieren, fügen Sie den Parameter folgende Property auf ui.properties setzen:
    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 neu, indem Sie den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

PKCS12-Schlüsselspeicher für FIPS-kompatible Betriebssysteme verwenden

Wenn Sie Edge for Private Cloud auf einem FIPS-kompatiblen Betriebssystem verwenden, müssen Sie einen PKCS12-Schlüsselspeicher verwenden. Dies ist erforderlich, um FIPS-Standards zu erfüllen. Fügen Sie der Datei management-server.properties zusätzlich zu den anderen in diesem Artikel erwähnten Standardkonfigurationen die folgende Konfiguration hinzu:

conf/webserver.properties+keystore.type=PKCS12

Wenn Ihre Umgebung FIPS-kompatibel ist, müssen Sie diese Änderung vornehmen, um die Kompatibilität mit den erforderlichen Verschlüsselungsstandards zu gewährleisten.

TLS-Attribute für den Verwaltungsserver

In der folgenden Tabelle sind alle TLS/SSL-Eigenschaften 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

TLS/SSL aktivieren/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

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=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 ein dieses Formats:

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 annehmen möchten. TLS/SSL-Zertifikate, 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_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

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 Kommas.

Chiffren, die Sie über die schwarze Liste entfernen, haben Vorrang vor allen enthaltenen Chiffren auf die weiße Liste setzen.

Hinweis:Wenn keine schwarze oder weiße Liste angegeben ist, werden Chiffren standardmäßig mit den der folgende reguläre Java-Ausdruck sind standardmäßig ausgeschlossen.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Wenn Sie jedoch eine Blacklist angeben, wird dieser Filter überschrieben und Sie müssen alle Chiffren einzeln auf die Blacklist setzen.

Informationen zu Cypher Suites und Kryptografiearchitektur finden Sie unter Dokumentation der Oracle-Anbieter der Java-Kryptografie-Architektur 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 Dauer, in der TLS-/SSL-Sitzungen andauern können, bevor das Zeitlimit abläuft (in Millisekunden).