Optionen für die TLS-Konfiguration

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Dieses Dokument enthält einen Überblick über die Konfiguration von TLS on Edge für zwei Einzugsgebiete:

  1. Zugriff auf Ihre API-Proxys von API-Clients. Virtuelle Hosts auf Edge-Geräten verwenden Router zum Konfigurieren von TLS.
  2. Zugriff auf Ihre Back-End-Dienste durch Edge. Zielendpunkte und Ziele verwenden Server auf dem Edge Message Processor, um TLS zu konfigurieren.

Beide Zugriffstypen werden unten dargestellt:

TLS-Optionen auf einem virtuellen Host oder Zielendpunkt/Zielserver festlegen

Ein virtueller Host kann durch ein XML-Objekt in folgendem Format dargestellt werden:

<VirtualHost name="secure">
    ...
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTruststoreRef</TrustStore> 
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Der Bereich des virtuellen Hosts, den Sie zum Konfigurieren von TLS ändern, wird durch das &lt;SSLInfo&gt;-Tag definiert. Sie verwenden die &lt;SSLInfo&gt;-Tag konfigurieren, um Zielendpunkt oder Zielserver.

In folgender Tabelle werden die TLS-Konfigurationselemente beschrieben, die vom <SSLInfo>-Tag verwendet werden:

Element Beschreibung
<Enabled>

Aktiviert One-Way-TLS zwischen Edge und dem API-Client oder zwischen Edge und dem Ziel Back-End.

Für einen virtuellen Host müssen Sie einen Schlüsselspeicher definieren, der Zertifikat und privaten Schlüssel enthält.

<ClientAuthEnabled>

Aktiviert Zwei-Wege-TLS zwischen Edge und dem API-Client oder zwischen Edge und dem Ziel Back-End.

Für das Aktivieren von Zwei-Wege-TLS müssen Sie in der Regel einen Truststore in Edge einrichten.

&lt;KeyStore&gt; Der Schlüsselspeicher.
&lt;KeyAlias&gt; Der Alias, der beim Hochladen eines Zertifikats und eines privaten Schlüssels in den Schlüsselspeicher angegeben wurde.
&lt;TrustStore&gt; Der Truststore.
<IgnoreValidationErrors>

Falls wahr, ignoriert Edge TLS-Zertifikatsfehler. Gültig beim Konfigurieren der TLS für Zielserver und Zielendpunkte und beim Konfigurieren von virtuellen Hosts, die bidirektionale TLS verwenden. Der Standardwert ist "false".

Bei Verwendung mit einem Zielendpunkt/Zielserver, wenn das Back-End-System SNI verwendet und ein Zertifikat zurückgibt mit einem Distinguished Name (DN), der nicht mit dem Hostnamen übereinstimmt, um den Fehler zu ignorieren. Die Verbindung schlägt fehl.

&lt;CommonName&gt;

Wenn angegeben, ein Wert, anhand dessen der allgemeine Name des Zielzertifikats validiert wird. Dieser Wert ist nur für TargetEndpoint- und TargetServer-Konfigurationen gültig. Es ist nicht gültig für VirtualHost-Konfigurationen.

Standardmäßig stimmt der angegebene Wert exakt mit dem allgemeinen Namen des Zielzertifikats überein. Beispielsweise wird *.myhost.com als Wert für <CommonName> verwendet. nur übereinstimmen und Validiert den Zielhostnamen, wenn der genaue Wert *.myhost.com als allgemeiner Name im Feld Zielzertifikat.

Optional kann Apigee den Abgleich mit Platzhaltern mithilfe des Attributs wildcardMatch durchführen.

Beispielsweise wird ein allgemeiner Name, der als abc.myhost.com in einem Zielzertifikat angegeben ist, abgeglichen und validiert. wenn der <CommonName> wird wie folgt angegeben:

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

Informationen zum Festlegen der Elemente <KeyStore> und <TrustStore>

Im Beispiel für einen virtuellen Host oben werden Keystore und Truststore durch Verweise im folgenden Format angegeben:

<KeyStore>ref://myKeystoreRef</KeyStore>
<TrustStore>ref://myTruststoreRef</TrustStore>

Apigee empfiehlt dringend, dass Sie Verweise auf Schlüsselspeicher und Truststore verwenden. Ein Verweis ist eine Variable, die den Namen des Schlüsselspeichers oder Truststore enthält, statt den Namen des Schlüsselspeichers direkt anzugeben. In diesem Beispiel:

  • myKeystoreRef ist eine Referenz, die den Namen des Schlüsselspeichers enthält. In diesem Beispiel lautet der Name des Schlüsselspeichers myKeystore.
  • myTruststoreRef ist eine Referenz, die den Namen des Truststore enthält. In diesem Beispiel lautet der Name des Truststore myTruststore.

Läuft ein Zertifikat ab, müssen Sie den virtuellen Host oder Zielendpunkt/Zielserver aktualisieren, um den Keystore oder Truststore mit dem neuen Zertifikat anzugeben. Der Vorteil eines Verweises besteht darin, dass Sie den Wert des Verweises ändern können, um den Schlüsselspeicher oder Truststore zu ändern, ohne den virtuellen Host oder Zielendpunkt/Zielserver selbst ändern zu müssen:

  • Für Cloud-Kunden: Das Ändern des Referenzwerts erfordert keine müssen Sie sich an den Apigee Edge-Support wenden.
  • Für Private Cloud-Kunden: Das Ändern des Referenzwerts hat keine Auswirkungen Sie müssen Edge-Komponenten wie Router und Message Processor neu starten.

Alternativ können Sie den Schlüsselspeicher- und den Truststore-Namen direkt angeben:

<KeyStore>myKeystore</KeyStore>
<TrustStore>myTruststore</TrustStore> 

Wenn Sie den Namen des Schlüsselspeichers oder Truststores direkt angeben, müssen Cloud-Kunden wenden Sie sich an den Apigee Edge-Support. und Private Cloud-Kunden müssen bestimmte Edge-Komponenten neu starten, um das Zertifikat zu aktualisieren.

Eine dritte Option ist nur für Zielendpunkte/Zielserver die Verwendung von Flussvariablen:

<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> 

Ablaufvariablen funktionieren für Zielendpunkte/Zielserver, mit denen Sie den Schlüsselspeicher oder Truststore wie Verweise aktualisieren können. Sie funktionieren jedoch nicht mit virtuellen Hosts. Sie müssen bei jeder Anfrage Informationen zum Schlüsselspeicher, Alias und Truststore senden.

Einschränkungen bei der Verwendung von Verweisen auf Schlüsselspeicher und Truststore

Kunden von kostenpflichtigen Clouds und alle Private Cloud-Kunden, die TLS konfigurieren, müssen die folgende Einschränkung bei Verwendung von Verweisen auf Schlüsselspeicher und Truststores:

  • Sie können Schlüsselspeicher- und Truststore-Verweise nur auf virtuellen Hosts verwenden, wenn Sie die TLS für die Apigee-Router beenden.
  • Wenn Sie einen Load-Balancer vor den Apigee-Routern haben und die TLS auf dem Load-Balancer beenden, können Sie keine Schlüsselspeicher- und Truststore-Verweise in virtuellen Hosts verwenden.

Wenn Ihr bestehender virtueller Host einen Schlüsselspeicher oder Truststore-Literal verwendet

Vorhandene virtuelle Hosts in Edge sind möglicherweise nicht für die Verwendung von Verweisen auf Schlüsselspeicher und Truststores konfiguriert. In diesem Fall können Sie den virtuellen Host so aktualisieren, dass er Verweise verwendet.

  1. Edge für die Cloud

    Sie müssen arbeiten, um den virtuellen Host so zu ändern, dass er einen Verweis auf den Schlüsselspeicher verwendet Apigee Edge-Unterstützung

  2. Edge für die Private Cloud

    So konvertieren Sie den virtuellen Host zur Verwendung einer Referenz:

    1. Aktualisieren Sie den virtuellen Host, um eine Referenz zu verwenden.
    2. Starten Sie die Router neu.
    Siehe "Virtuellen Host ändern, um Verweise auf den Schlüsselspeicher und den Truststore zu verwenden" in TLS-Zugriff auf eine API für die Private Cloud.

Informationen zur Verwendung des kostenlosen Apigee-Testzertifikats und des kostenlosen Apigee-Schlüssels

Wenn Sie ein kostenpflichtiges Edge for Cloud-Konto und noch kein TLS-Zertifikat und keinen TLS-Schlüssel haben, können Sie Ein virtueller Host, der das Zertifikat und den Schlüssel der kostenlosen Apigee-Testversion verwendet. Das bedeutet, dass Sie den virtuellen Host erstellen können, ohne zuvor einen Schlüsselspeicher zu erstellen.

In einem XML-Objekt, das den virtuellen Host mit dem Zertifikat und dem Schlüssel der kostenlosen Apigee-Testversion definiert, wird Folgendes weggelassen: <KeyStore>- und <KeyAlias>-Elemente und ersetzt sie durch die <UseBuiltInFreeTrialCert>-Element, wie unten gezeigt:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Wenn Sie die bidirektionale TLS nutzen, müssen Sie das Element <ClientAuthEnabled> dennoch auf true festlegen und einen Truststore angeben. Nutzen Sie dazu einen Verweis mit dem Element <TrustStore>.

Weitere Informationen finden Sie unter Virtuelle Hosts für die Cloud konfigurieren.

Informationen zur TLS-Konfiguration

Die TLS-Konfiguration hängt von zwei Hauptfaktoren ab:

  • Sind Sie Kunde von Edge Cloud oder Private Cloud?
  • Wie werden abgelaufene oder ablaufende Zertifikate aktualisiert?

Optionen bei der Konfiguration von Clouds und Privaten Clouds

Die folgende Tabelle zeigt die verschiedenen Konfigurationsoptionen für die Cloud und die Private Cloud. Kunden:

Private Cloud Cloud
Virtueller Host Volle Kontrolle Die vollständige Kontrolle ist nur für kostenpflichtige Konten verfügbar
Zielendpunkt/Zielserver Volle Kontrolle Volle Kontrolle

Private Cloud-Kunden haben vollständige Kontrolle über die Konfiguration von virtuellen Hosts und Zielendpunkte/Zielserver. Dazu gehört die Möglichkeit, virtuelle und alle Attribute auf einem virtuellen Host festlegen.

Alle Cloud-Kunden, ob bezahlte und Evaluierungskunden, haben die volle Kontrolle über die Konfiguration ihrer Zielendpunkte/Zielserver. Darüber hinaus haben Kunden die vollständige Kontrolle über virtuelle Hosts, einschließlich TLS-Eigenschaften.

Umgang mit abgelaufenen Zertifikaten

Wenn ein TLS-Zertifikat abläuft oder Ihre Systemkonfiguration so geändert wird, dass das Zertifikat nicht mehr gültig ist, muss das Zertifikat aktualisiert werden. Wenn Sie die TLS für einen virtuellen Host oder Zielendpunkt/Zielserver konfigurieren, sollten Sie vor der Konfiguration festlegen, wie Sie dieses Update durchführen.

Vorgehensweise bei abgelaufenem Zertifikat

In Edge werden Zertifikate an einem von zwei Orten gespeichert:

  • Schlüsselspeicher: Enthält das TLS-Zertifikat und den privaten Schlüssel, um die Entität während des TLS-Handshakes zu identifizieren.
  • Truststore: Enthält vertrauenswürdige Zertifikate auf einem TLS-Client, mit denen das dem Client dargestellte Zertifikat eines TLS-Servers validiert wird. Diese Zertifikate sind normalerweise selbstsignierte Zertifikate, von einer vertrauenswürdigen Zertifizierungsstelle signierte Zertifikate oder Zertifikate, die im Rahmen von bidirektionaler TLS-Authentifizierung verwendet werden.

Wenn ein Zertifikat in einem Schlüsselspeicher abläuft und Sie einen Verweis auf den Schlüsselspeicher verwenden, können Sie kein neues Zertifikat in den Schlüsselspeicher hochladen. Gehen Sie stattdessen so vor:

  1. Erstellen Sie einen neuen Schlüsselspeicher.
  2. Laden Sie ein neues Zertifikat mit demselben Aliasnamen wie dem des alten Schlüsselspeichers in den neuen Schlüsselspeicher hoch.
  3. Aktualisieren Sie den Verweis in Ihrem virtuellen Host oder Zielserver/Zielendpunkt, um den neuen Truststore zu verwenden.

Wenn ein Zertifikat in einem Truststore abläuft und Sie einen Verweis auf den Truststore verwenden:

  1. Erstellen Sie einen neuen Truststore.
  2. Laden Sie das neue Zertifikat in den neuen Truststore hoch. Der Aliasname spielt für Truststores keine Rolle. Hinweis: Wenn ein Zertifikat Teil einer Kette ist, müssen Sie entweder eine einzelne Datei mit allen Zertifikaten erstellen und diese Datei in einen einzelnen Alias hochladen oder alle Zertifikate in der Kette separat mit dem Truststore verknüpft werden.
  3. Aktualisieren Sie den Verweis in Ihrem virtuellen Host oder Zielserver/Zielendpunkt, um den neuen Truststore zu verwenden.

Zusammenfassung der Methoden zum Aktualisieren eines abgelaufenen Zertifikats

Die Methode, die Sie zur Angabe des Namens des Schlüsselspeichers oder des Truststores auf dem virtuellen Host oder Zielendpunkt/Zielserver nutzen, richtet sich nach der verwendeten Methode. Sie können Folgendes angeben:

  • Verweise
  • Direkte Namen
  • Ablaufvariablen

Jede dieser Methoden hat unterschiedliche Auswirkungen auf den Aktualisierungsprozess, wie in den folgenden Tabelle. Wie Sie sehen, bieten Referenzen die größte Flexibilität sowohl für Cloud als auch Private Cloud-Kunden:

Konfigurationstyp Zertifikat aktualisieren/ersetzen Private Cloud Cloud
Referenz (empfohlen) Erstellen Sie für einen Schlüsselspeicher einen neuen Schlüsselspeicher mit einem neuen Namen und einem Alias mit demselben Namen wie dem des alten Alias.

Erstellen Sie bei einem Truststore einen Truststore mit einem neuen Namen.

Aktualisieren SIe den Verweis auf den Schlüsselspeicher oder Truststore.

Ein Neustart des Routers oder Message Processor ist nicht erforderlich.

Aktualisieren SIe den Verweis auf den Schlüsselspeicher oder Truststore.

Sie müssen den Apigee-Support nicht kontaktieren.

Ablaufvariablen (nur Zielendpunkt) Erstellen Sie für einen Schlüsselspeicher einen neuen Schlüsselspeicher mit einem neuen Namen und einem Alias mit demselben oder einem neuen Namen.

Erstellen Sie bei einem Truststore einen Truststore mit einem neuen Namen.

Übergeben Sie bei jeder Anfrage die aktualisierte Ablaufvariable mit dem Namen des neuen Schlüsselspeichers, dem Alias oder des Truststore.

Ein Neustart des Routers oder Message Processor ist nicht erforderlich.

Übergeben Sie bei jeder Anfrage die aktualisierte Ablaufvariable mit dem Namen des neuen Schlüsselspeichers, dem Alias oder des Truststore.

Sie müssen den Apigee-Support nicht kontaktieren.

Direkt Erstellen Sie einen neuen Schlüsselspeicher, einen Alias oder einen Truststore. Aktualisieren Sie den virtuellen Host und starten Sie die Router neu.

Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, stellen Sie den Proxy neu bereit.

Wenden Sie sich für virtuelle Hosts an den Apigee Edge-Support, um die Router neu zu starten.

Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, stellen Sie den Proxy neu bereit.

Direkt Löschen Sie den Schlüsselspeicher oder Truststore und erstellen Sie ihn noch einmal mit demselben Namen. Kein Update des virtuellen Hosts erforderlich, kein Neustart des Routers erforderlich. API-Anfragen schlagen jedoch fehl. bis der neue Schlüsselspeicher und Alias festgelegt sind.

Wenn der Schlüsselspeicher für Zwei-Wege-TLS zwischen Edge und dem Back-End-Dienst verwendet wird, starten Sie einen Neustart. die Message Processors.

Der virtuelle Host muss nicht aktualisiert werden. Allerdings schlagen API-Anfragen fehl, bis der neue Schlüsselspeicher und der neue Alias festgelegt sind.

Wenn der Schlüsselspeicher für Zwei-Wege-TLS zwischen Edge und dem Back-End-Dienst verwendet wird, Wenden Sie sich an den Apigee Edge-Support, um die Message Processors neu zu starten.

Direkt Laden Sie nur für Truststores ein neues Zertifikat in den Truststore hoch. Wenn der Truststore von einem virtuellen Host verwendet wird, starten Sie die Router neu.

Wenn der Truststore von einem Zielendpunkt/Zielserver verwendet wird, starten Sie die Nachricht neu Prozessoren.

Wenden Sie sich für virtuelle Hosts an den Apigee Edge-Support, um die Edge-Router neu zu starten.

Wenn der Truststore von einem Zielendpunkt oder Zielserver verwendet wird, wenden Sie sich an den Apigee Edge-Support, um die Message Processors neu zu starten.