TLS für die Verwaltungs-UI konfigurieren

Standardmäßig greifen Sie über HTTP auf die Edge-Benutzeroberfläche zu. Verwenden Sie dazu die IP-Adresse des Management Server-Knotens und Port 9000. Beispiel:

http://ms_IP:9000

Alternativ können Sie den TLS-Zugriff auf die Edge-Benutzeroberfläche so konfigurieren, dass Sie in folgender Form darauf zugreifen können:

https://ms_IP:9443

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

Prüfen, ob der TLS-Port geöffnet ist

Mit dem Verfahren in diesem Abschnitt wird TLS so konfiguriert, dass Port 9443 auf dem Management Server verwendet wird. Unabhängig vom verwendeten Port müssen Sie dafür sorgen, dass der Port auf dem Management Server geöffnet ist. Sie können sie beispielsweise mit dem folgenden Befehl öffnen:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

TLS konfigurieren

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

  1. Generieren Sie die JKS-Datei des Schlüsselspeichers, die Ihre TLS-Zertifizierung und Ihren privaten Schlüssel enthält, und kopieren Sie sie auf den Management Server-Knoten. Weitere Informationen finden Sie unter TLS/SSL für Edge On-Premises konfigurieren.
  2. Führen Sie den folgenden Befehl aus, um TLS zu konfigurieren:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Geben Sie die HTTPS-Portnummer ein, z. B. 9443.
  4. Geben Sie an, ob Sie den HTTP-Zugriff auf die Verwaltungs-UI deaktivieren möchten. Standardmäßig ist die Verwaltungs-UI über HTTP auf Port 9000 zugänglich.
  5. Geben Sie den Keystore-Algorithmus ein. Der Standardwert ist JKS.
  6. Geben Sie den absoluten Pfad zur JKS-Datei des Schlüsselspeichers ein.

    Das Skript kopiert die Datei in das Verzeichnis /opt/apigee/customer/conf auf dem Management Server-Knoten und ändert die Eigentümerschaft der Datei in „apigee“.

  7. Geben Sie das Passwort für den Schlüsselspeicher im Klartext ein.
  8. Das Skript startet dann die Edge-Verwaltungs-UI neu. Nach dem Neustart unterstützt die Verwaltungs-UI den Zugriff über TLS.

    Sie finden diese Einstellungen in /opt/apigee/etc/edge-ui.d/SSL.sh.

Konfigurationsdatei zum Konfigurieren von TLS verwenden

Alternativ zum oben beschriebenen Verfahren können Sie dem Befehl in Schritt 2 des Verfahrens eine Konfigurationsdatei übergeben. Sie müssen diese Methode verwenden, wenn Sie optionale TLS-Attribute festlegen möchten.

Wenn Sie eine Konfigurationsdatei verwenden möchten, erstellen Sie eine neue Datei und fügen Sie die folgenden Attribute hinzu:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Speichern Sie die Datei in einem lokalen Verzeichnis unter einem beliebigen Namen. Verwenden Sie dann den folgenden Befehl, um TLS zu konfigurieren:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

Dabei ist configFile der vollständige Pfad zur gespeicherten Datei.

Edge-Benutzeroberfläche konfigurieren, wenn TLS auf dem Load Balancer beendet wird

Wenn Sie einen Load Balancer haben, der Anfragen an die Edge-Benutzeroberfläche weiterleitet, können Sie die TLS-Verbindung auf dem Load Balancer beenden und dann die Anfragen über HTTP an die Edge-Benutzeroberfläche weiterleiten. Diese Konfiguration wird unterstützt, Sie müssen jedoch den Load Balancer und die Edge-Benutzeroberfläche entsprechend konfigurieren.

Die zusätzliche Konfiguration ist erforderlich, wenn die Edge-Benutzeroberfläche Nutzern E-Mails sendet, um ihr Passwort festzulegen, wenn der Nutzer erstellt wird oder wenn der Nutzer das Zurücksetzen eines verlorenen Passworts anfordert. Diese E-Mail enthält eine URL, die der Nutzer auswählt, um ein Passwort festzulegen oder zurückzusetzen. Wenn die Edge-Benutzeroberfläche nicht für die Verwendung von TLS konfiguriert ist, wird für die URL in der generierten E-Mail standardmäßig das HTTP-Protokoll und nicht HTTPS verwendet. Sie müssen den Load Balancer und die Edge-Benutzeroberfläche so konfigurieren, dass eine E-Mail-Adresse generiert wird, die HTTPS verwendet.

Konfigurieren Sie den Load Balancer so, dass er den folgenden Header für Anfragen festlegt, die an die Edge-Benutzeroberfläche weitergeleitet werden:

X-Forwarded-Proto: https

So konfigurieren Sie die Edge-Benutzeroberfläche:

  1. Öffnen Sie die Datei /opt/apigee/customer/application/ui.properties in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie:
    vi /opt/apigee/customer/application/ui.properties
  2. Legen Sie das folgende Attribut in ui.properties fest:
    conf/application.conf+trustxforwarded=true
  3. Speichern Sie die Änderungen in ui.properties.
  4. Starten Sie die Edge-Benutzeroberfläche neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Optionale TLS-Attribute festlegen

Die Edge-Benutzeroberfläche unterstützt optionale TLS-Konfigurationsattribute, mit denen Sie Folgendes festlegen können:

  • Standard-TLS-Protokoll
  • Liste der unterstützten TLS-Protokolle
  • Unterstützte TLS-Algorithmen
  • Unterstützte TLS-Chiffren

Diese optionalen Parameter sind nur verfügbar, wenn Sie das folgende Konfigurationsattribut in der Konfigurationsdatei festlegen, wie unter Konfigurationsdatei zum Konfigurieren von TLS verwenden beschrieben:

TLS_CONFIGURE=y

In der folgenden Tabelle werden diese Attribute beschrieben:

Attribut Beschreibung
TLS_PROTOCOL Definiert das TLS-Standardprotokoll für die Edge-Benutzeroberfläche. Der Standardwert ist TLS 1.2. Gültige Werte sind TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Definiert die Liste der aktivierten Protokolle als kommagetrenntes Array. Beispiel:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Beachten Sie, dass Sie das Zeichen „“ maskieren müssen.

Standardmäßig sind alle Protokolle aktiviert.

TLS_DISABLED_ALGO

Definiert die deaktivierten Cipher Suites und kann auch verwendet werden, um zu verhindern, dass kleine Schlüsselgrößen für TLS-Handshakes verwendet werden. Es gibt keinen Standardwert.

Die an TLS_DISABLED_ALGO übergebenen Werte entsprechen den zulässigen Werten für jdk.tls.disabledAlgorithms, wie hier beschrieben. Sie müssen jedoch Leerzeichen maskieren, wenn Sie TLS_DISABLED_ALGO festlegen:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

Definiert die Liste der verfügbaren TLS-Chiffren als kommagetrenntes Array. Beispiel:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Beachten Sie, dass Sie das Zeichen „“ maskieren müssen.

Die Standardliste der aktivierten Chiffren lautet:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Eine Liste der verfügbaren Chiffren finden Sie hier.

TLS-Protokolle deaktivieren

Wenn Sie TLS-Protokolle deaktivieren möchten, müssen Sie die Konfigurationsdatei bearbeiten, wie unter Konfigurationsdatei zum Konfigurieren von TLS verwenden beschrieben:

  1. Öffnen Sie die Konfigurationsdatei in einem Editor.
  2. Wenn Sie ein einzelnes TLS-Protokoll deaktivieren möchten, z. B. TLSv1.0, fügen Sie der Konfigurationsdatei Folgendes hinzu:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Wenn Sie mehrere Protokolle deaktivieren möchten, z. B. TLSv1.0 und TLSv1.1, fügen Sie der Konfigurationsdatei Folgendes hinzu:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Speichern Sie die Änderungen in der Konfigurationsdatei.
  4. Führen Sie den folgenden Befehl aus, um TLS zu konfigurieren:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    Dabei ist configFile der vollständige Pfad zur Konfigurationsdatei.

  5. Starten Sie die Edge-Benutzeroberfläche neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Sichere Cookies verwenden

Apigee Edge for Private Cloud unterstützt das Hinzufügen des Flags secure zum Header Set-Cookie für Antworten von der Edge-Benutzeroberfläche. Wenn dieses Flag vorhanden ist, kann das Cookie nur über TLS-fähige Kanäle gesendet werden. Wenn es nicht vorhanden ist, kann das Cookie über einen beliebigen Kanal gesendet werden, unabhängig davon, ob er sicher ist oder nicht.

Cookies ohne das secure-Flag können es einem Angreifer ermöglichen, das Cookie zu erfassen und wiederzuverwenden oder eine aktive Sitzung zu übernehmen. Daher empfiehlt es sich, diese Einstellung zu aktivieren.

So legen Sie das Flag secure für Edge-UI-Cookies fest:

  1. Öffnen Sie die folgende Datei in einem Texteditor:
    /opt/apigee/customer/application/ui.properties

    Wenn die Datei nicht vorhanden ist, erstellen Sie sie.

  2. Legen Sie in der Datei ui.properties das Attribut conf_application_session.secure auf true fest, wie im folgenden Beispiel gezeigt:
    conf_application_session.secure=true
  3. Speichern Sie die Änderungen.
  4. Starten Sie die Edge-Benutzeroberfläche mit dem Dienstprogramm apigee-serice neu, wie im folgenden Beispiel gezeigt:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Prüfen Sie mit einem Dienstprogramm wie curl die Antwortheader der Edge-Benutzeroberfläche, um zu bestätigen, dass die Änderung funktioniert. Beispiel:

curl -i -v https://edge_UI_URL

Der Header sollte eine Zeile wie die folgende enthalten:

Set-Cookie: secure; ...

TLS auf der Edge-Benutzeroberfläche deaktivieren

Verwenden Sie den folgenden Befehl, um TLS auf der Edge-Benutzeroberfläche zu deaktivieren:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl