Apigee mTLS konfigurieren

Nachdem Sie die Komponente apigee-mtls auf jedem Knoten im Cluster installiert haben, führen Sie folgende Schritte aus: konfigurieren und initialisieren muss. Generieren Sie dazu ein Zertifikat/Schlüsselpaar und aktualisieren Sie Konfigurationsdatei auf Ihrem Verwaltungscomputer speichern. Anschließend stellen Sie dieselben generierten Dateien auf allen Knoten im Cluster zu installieren und den lokalen Komponente „apigee-mtls“.

Apigee-mtls konfigurieren (nach Erstinstallation)

In diesem Abschnitt wird beschrieben, wie Sie Apigee mTLS sofort nach der Einrichtung für ein einzelnes Rechenzentrum konfigurieren bei der Erstinstallation. Informationen zum Aktualisieren einer vorhandenen Installation von Apigee mTLS, siehe Vorhandene Apigee-mtls-Konfiguration ändern. Weitere Informationen zur Konfiguration mehrerer Rechenzentren siehe Mehrere Rechenzentren konfigurieren für Apigee mTLS.

Im Folgenden wird der allgemeine Ablauf apigee-mtls:

  1. Aktualisieren Sie Ihre Konfigurationsdatei:Auf dem zu verwalten, aktualisieren Sie die Konfigurationsdatei so, dass sie die apigee-mtls Einstellungen.
  2. Consul installieren und Anmeldedaten generieren: Installieren Consul und verwenden Sie es zum Generieren der TLS-Anmeldedaten (nur einmal).

    Bearbeiten Sie außerdem Ihre Apigee mTLS-Konfigurationsdatei:

    1. Anmeldedaten hinzufügen
    2. Topologie des Clusters definieren

    Sie können Ihre bestehenden Anmeldedaten oder mit Consul generieren.

  3. Verteilen Sie die Konfigurationsdatei und die Anmeldedaten: Verteilen Sie dasselbe generierte Zertifikat/Schlüsselpaar und dieselbe aktualisierte Konfigurationsdatei an alle Knoten. in Ihrem Cluster.
  4. Apigee-mtls initialisieren: Initialisieren Sie das apigee-mtls-Komponente auf jedem Knoten.

Jeder dieser Schritte wird in den folgenden Abschnitten beschrieben.

Schritt 1: Konfigurationsdatei aktualisieren

In diesem Abschnitt wird beschrieben, wie Sie Ihre Konfigurationsdatei so ändern, dass sie die mTLS-Konfiguration enthält Eigenschaften. Allgemeine Informationen zur Konfigurationsdatei finden Sie unter Konfiguration erstellen Datei.

Nachdem Sie die Konfigurationsdatei mit den mTLS-bezogenen Attributen aktualisiert haben, kopieren Sie sie nach alle Knoten im Cluster, bevor Sie die apigee-mtls-Komponente auf diesen Knoten.

Befehle, die auf die Konfigurationsdatei verweisen, verwenden config_file um anzuzeigen, dass es location ist variabel, je nachdem, wo Sie ihn auf dem jeweiligen Knoten speichern.

So aktualisieren Sie die Konfigurationsdatei:

  1. Öffnen Sie die Konfigurationsdatei auf Ihrem Verwaltungscomputer.
  2. Kopieren Sie die folgenden mTLS-Konfigurationsattribute und fügen Sie sie in die Konfiguration ein Datei:
    ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER"
    ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS"
    CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS"
    PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS"
    RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS"
    MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS"
    MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS"
    QP_MTLS_HOSTS="QPID_PRIVATE_IPS"
    LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS"
    MTLS_ENCAPSULATE_LDAP="y"
    
    ENABLE_SIDECAR_PROXY="y"
    ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE"
    PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem"
    PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem"
    APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"

    Legen Sie den Wert jeder Eigenschaft so fest, dass er Ihrer Konfiguration entspricht.

    In der folgenden Tabelle werden diese Konfigurationsattribute beschrieben:

    Attribut Beschreibung
    ALL_IP Eine durch Leerzeichen getrennte Liste der privaten Host-IP-Adressen aller Knoten im Cluster.

    Die Reihenfolge der IP-Adressen spielt keine Rolle, außer sie muss in allen Konfigurationsdateien im Cluster.

    Wenn Sie Apigee mTLS für mehrere Rechenzentren konfigurieren, geben Sie alle IP-Adressen für alle Hosts in allen Regionen.

    LDAP_MTLS_HOSTS Die private Host-IP-Adresse des OpenLDAP-Knotens im Cluster.
    ZK_MTLS_HOSTS

    Eine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen ZooKeeper-Knoten gehostet werden. im Cluster.

    Gemäß den Anforderungen müssen mindestens drei ZooKeeper-Knoten haben.

    CASS_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Cassandra-Server gehostet werden im Cluster.
    PG_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Postgres-Server gehostet werden im Cluster.
    RT_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste mit den IP-Adressen privater Hosts, auf denen Router im Cluster.
    MTLS_ENCAPSULATE_LDAP Verschlüsselt den LDAP-Traffic zwischen dem Message Processor und dem LDAP-Server. Festlegen auf y
    MS_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste der IP-Adressen privater Hosts, auf denen sich Verwaltungsserverknoten befinden die im Cluster gehostet werden.
    MP_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Message Processor-Dienste installiert sind die im Cluster gehostet werden.
    QP_MTLS_HOSTS Eine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Qpid-Server gehostet werden. des Clusters.
    ENABLE_SIDECAR_PROXY Bestimmt, ob Cassandra und Postgres das Service Mesh kennen sollten.

    Sie müssen diesen Wert auf „y“ festlegen.

    ENCRYPT_DATA Der von Consul verwendete base64-codierte Verschlüsselungsschlüssel . Sie haben diesen Schlüssel mithilfe des consul keygen-Befehl in Schritt 2: Consul installieren und Anmeldedaten generieren.

    Dieser Wert muss auf allen Knoten im Cluster gleich sein.

    PATH_TO_CA_CERT Der Speicherort der Zertifikatsdatei auf dem Knoten. Sie haben diese Datei erstellt in Schritt 2: Consul installieren und Anmeldedaten generieren

    Dieser Standort sollte für alle Knoten im Cluster gleich sein, damit der Konfigurationsdateien identisch sind.

    Das Zertifikat muss X509v3-codiert sein.

    PATH_TO_CA_KEY Der Speicherort der Schlüsseldatei auf dem Knoten. Sie haben diese Datei erstellt in Schritt 2: Consul installieren und Anmeldedaten generieren

    Dieser Standort sollte für alle Knoten im Cluster gleich sein, damit der Konfigurationsdateien identisch sind.

    Die Schlüsseldatei muss X509v3-codiert sein.

    APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR

    Die Anzahl der Tage, die ein Zertifikat gültig ist, ein benutzerdefiniertes Zertifikat generieren.

    Der Standardwert ist 365. Der Höchstwert beträgt 7.865 Tage (5 Jahre).

    Zusätzlich zu den oben aufgeführten Attributen verwendet Apigee mTLS mehrere zusätzliche Attribute wenn Sie es in einer Konfiguration mit mehreren Rechenzentren installieren. Weitere Informationen finden Sie unter Mehrere Rechenzentren konfigurieren

  3. Achte darauf, dass die ENABLE_SIDECAR_PROXY-Property auf „y“ gesetzt ist.
  4. Aktualisieren Sie die IP-Adressen in den hostbezogenen Properties. Verwenden Sie auf jeden Fall die private IP-Adressen, wenn sie auf die einzelnen Knoten verweisen, nicht auf die public IP-Adressen

    In späteren Schritten legen Sie die Werte der anderen Eigenschaften fest, z. B. ENCRYPT_DATA, PATH_TO_CA_CERT und PATH_TO_CA_KEY. Sie: noch keine Werte festgelegt haben.

    Beachten Sie beim Bearbeiten der apigee-mtls-Konfigurationsattribute Folgendes:

    • Alle Eigenschaften sind Zeichenfolgen. müssen Sie die Werte aller Eigenschaften in einfache oder doppelte Anführungszeichen.
    • Wenn ein hostbezogener Wert mehr als eine private IP-Adresse hat, müssen Sie die einzelnen IP-Adressen trennen mit einem Leerzeichen.
    • Verwenden Sie private IP-Adressen und nicht Hostnamen oder öffentliche IP-Adressen für alle hostbezogenen in der Konfigurationsdatei.
    • Die Reihenfolge der IP-Adressen in einem Attributwert muss in allen Konfigurationsdateien im Cluster.
  5. Speichern Sie die Änderungen in der Konfigurationsdatei.

Schritt 2: Consul installieren und Anmeldedaten generieren

In diesem Abschnitt wird beschrieben, wie Sie Consul installieren und Anmeldedaten generieren.

Sie müssen eine der folgenden Methoden auswählen, um Anmeldedaten zu generieren:

  • Erstellen Sie mit Consul Ihre eigene Zertifizierungsstelle, wie in diesem Abschnitt beschrieben (empfohlen).
  • Anmeldedaten einer vorhandenen Zertifizierungsstelle mit Apigee mTLS verwenden (erweitert)

Anmeldedaten

Die Anmeldedaten sehen so aus:

  • Zertifikat: Das auf jedem Knoten gehostete TLS-Zertifikat
  • Schlüssel: Der öffentliche TLS-Schlüssel, der auf jedem Knoten gehostet wird
  • Gossip message:Ein base-64-codierter Verschlüsselungsschlüssel

Sie generieren eine Version jeder dieser Dateien nur einmal. Sie kopieren den Schlüssel und das Zertifikat auf allen Knoten in Ihrem Cluster und fügen Sie den Verschlüsselungsschlüssel zu Ihrer Konfigurationsdatei hinzu, kopieren Sie auch auf alle Knoten.

Weitere Informationen zur Verschlüsselungsimplementierung von Consul finden Sie hier:

Consul installieren und Anmeldedaten generieren

Sie verwenden eine lokale Consul-Binärdatei, um Anmeldedaten zu generieren, die Apigee mTLS für Authentifizieren sicherer Kommunikation zwischen den Knoten in Ihrem Private Cloud-Cluster. Daher sollten Sie Sie müssen Consul auf Ihrem Verwaltungscomputer installieren, bevor Sie Anmeldedaten generieren.

So installieren Sie Consul und generieren mTLS-Anmeldedaten:

  1. Laden Sie auf Ihrem Verwaltungscomputer das Binärprogramm Consul 1.6.2 aus der HashiCorp-Website
  2. Extrahieren Sie den Inhalt der heruntergeladenen Archivdatei. Extrahieren Sie den Inhalt beispielsweise /opt/consul/
  3. Erstellen Sie auf Ihrem Verwaltungscomputer eine neue Zertifizierungsstelle, indem Sie den folgenden Befehl:
    /opt/consul/consul tls ca create

    Consul erstellt die folgenden Dateien, bei denen es sich um ein Zertifikat/Schlüsselpaar handelt:

    • consul-agent-ca.pem (Zertifikat)
    • consul-agent-ca-key.pem (Schlüssel)

    Standardmäßig sind Zertifikat- und Schlüsseldateien X509v3-codiert.

    Später kopieren Sie diese Dateien auf alle Knoten im Cluster. Derzeit müssen Sie jedoch Entscheiden Sie nur, wo Sie diese Dateien auf den Knoten ablegen werden. Sie sollten sich im selben Standort auf jedem Knoten. Beispiel: /opt/apigee/.

  4. Legen Sie in der Konfigurationsdatei den Wert von PATH_TO_CA_CERT auf den Speicherort fest: Damit kopieren Sie die Datei consul-agent-ca.pem auf den Knoten. Beispiel:
    PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
  5. Setzen Sie den Wert von PATH_TO_CA_KEY auf den Speicherort, in den der consul-agent-ca-key.pem-Datei auf dem Knoten. Beispiel:
    PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
  6. Erstellen Sie einen Verschlüsselungsschlüssel für Consul, indem Sie den folgenden Befehl ausführen:
    /opt/consul/consul keygen

    Consul gibt eine zufällige Zeichenfolge aus, die in etwa so aussieht:

    QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
  7. Kopieren Sie den String und legen Sie ihn als Wert des Attributs ENCRYPT_DATA in Ihrem Konfigurationsdatei. Beispiel:
    ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY="
  8. Speichern Sie die Konfigurationsdatei.

Das folgende Beispiel zeigt die mTLS-bezogenen Einstellungen in einer Konfigurationsdatei (mit Beispiel Werte):

...
IP1=10.126.0.121
IP2=10.126.0.124
IP3=10.126.0.125
IP4=10.126.0.127
IP5=10.126.0.130
ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5"
LDAP_MTLS_HOSTS="$IP3"
ZK_MTLS_HOSTS="$IP3 $IP4 $IP5"
CASS_MTLS_HOSTS="$IP3 $IP4 $IP5"
PG_MTLS_HOSTS="$IP2 $IP1"
RT_MTLS_HOSTS="$IP4 $IP5"
MS_MTLS_HOSTS="$IP3"
MP_MTLS_HOSTS="$IP4 $IP5"
QP_MTLS_HOSTS="$IP2 $IP1"
ENABLE_SIDECAR_PROXY="y"
ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY="
PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
...

Schritt 3: Konfigurationsdatei und Anmeldedaten verteilen

Kopieren Sie die folgenden Dateien mithilfe eines Tools auf die Knoten, auf denen ZooKeeper ausgeführt wird: scp:

  • Konfigurationsdatei: Kopieren Sie die aktualisierte Version dieser Datei und ersetzen Sie den vorhandene Version auf allen Knoten (nicht nur auf den Knoten, auf denen ZooKeeper ausgeführt wird).
  • consul-agent-ca.pem: Kopieren Sie die Datei an den Speicherort, den Sie als Wert für PATH_TO_CA_CERT.
  • consul-agent-ca-key.pem: Kopieren Sie die Datei an den Speicherort, den Sie als Wert für PATH_TO_CA_KEY.

Achten Sie darauf, dass die Speicherorte, in die Sie das Zertifikat und die Schlüsseldateien kopieren, mit den Werten übereinstimmen, in der Konfigurationsdatei in Schritt 2: Consul installieren und generieren Anmeldedaten

Schritt 4: Apigee-mtls initialisieren

Nachdem Sie die Konfigurationsdatei aktualisiert haben, haben Sie sie und die Anmeldedaten auf alle Knoten im und apigee-mtls auf jedem Knoten installiert haben, können Sie den apigee-mtls-Komponente pro Knoten.

So initialisieren Sie Apigee-mtls:

  1. Melden Sie sich als Root-Nutzer bei einem Knoten im Cluster an. Sie können diese Schritte auf den Knoten in in beliebiger Reihenfolge.
  2. Legen Sie den Nutzer apigee:apigee als Eigentümer der aktualisierten Konfigurationsdatei fest, da: Folgendes Beispiel zeigt:
    chown apigee:apigee config_file
  3. Konfigurieren Sie die Komponente apigee-mtls, indem Sie den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
  4. Optional: Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Einrichtung erfolgreich war:
    /opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
  5. Starten Sie Apigee mTLS, indem Sie den folgenden Befehl ausführen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls start

    Nach der Installation von Apigee mTLS müssen Sie diese Komponente vor allen anderen starten Komponenten auf dem Knoten.

  6. (nur Cassandra-Knoten) Damit Cassandra im das Sicherheitsnetz. Daher müssen Sie die folgenden Befehle auf jedem Cassandra-Knoten ausführen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. (nur Postgres-Knoten) Postgres erfordert zusätzliche Argumente, um innerhalb des das Sicherheitsnetz. Daher müssen Sie auf den Postgres-Knoten Folgendes tun:

    (Nur Master)

    1. Führen Sie die folgenden Befehle auf dem Postgres-Masterknoten aus:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

    (Nur Stand-by)

    1. Sichern Sie Ihre vorhandenen Postgres-Daten. Um Apigee mTLS zu installieren, müssen Sie den Master-/Stand-by-Knoten und damit Datenverluste. Weitere Informationen finden Sie unter Master-/Standby-Replikation einrichten für Postgres
    2. Alle Postgres-Daten löschen:
      rm -rf /opt/apigee/data/apigee-postgresql/pgdata
    3. Konfigurieren Sie Postgres und starten Sie Postgres neu, wie im folgenden Beispiel gezeigt:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

    Wenn Sie die Installation in einer Topologie mit mehreren Rechenzentren vornehmen, verwenden Sie einen absoluten Pfad für den Konfigurationsdatei.

  8. Starten Sie die verbleibenden Apigee-Komponenten auf dem Knoten im Startreihenfolge, da der Wert Folgendes Beispiel zeigt:
    /opt/apigee/apigee-service/bin/apigee-service component_name start
  9. Wiederholen Sie diesen Vorgang für jeden Knoten im Cluster.
  10. (Optional) Überprüfe, ob die Initialisierung von apigee-mtls erfolgreich war. Verwende dazu einen oder mehrere der folgenden Methoden verwenden: <ph type="x-smartling-placeholder">
      </ph>
    1. iptables-Konfiguration validieren
    2. Remote-Proxy-Status prüfen
    3. Quorumstatus prüfen

    Jede dieser Methoden wird unter Überprüfen der Konfiguration.

Vorhandene Apigee-mtls-Konfiguration ändern

Wenn Sie eine vorhandene apigee-mtls-Konfiguration anpassen möchten, müssen Sie sie deinstallieren und installieren Sie apigee-mtls neu.

Um diesen Punkt noch einmal zu betonen, wenn Sie eine vorhandene Apigee mTLS-Konfiguration ändern:

  • Wenn Sie eine Konfigurationsdatei ändern, müssen Sie zuerst apigee-mtls deinstallieren und Führen Sie setup oder configure noch einmal aus:
    # DO THIS:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
    
    # BEFORE YOU DO THIS:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
    OR
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
  • Sie müssen setup oder configure auf allen Knoten im nicht nur auf einen einzelnen Knoten.