Konfigurowanie mTLS Apigee

Edge for Private Cloud w wersji 4.19.01

Po zainstalowaniu komponentu apigee-mtls w każdym węźle klastra musi go skonfigurować i zainicjować. W tym celu wygeneruj parę certyfikat i klucz, a potem zaktualizuj plik konfiguracji na komputerze administracyjnym. Następnie wdrożysz te same wygenerowane pliki do wszystkich węzłów w klastrze i zainicjuj lokalne Komponent apigee-mtls.

Skonfiguruj apigee-mtls (po pierwszej instalacji)

W tej sekcji dowiesz się, jak skonfigurować mTLS Apigee dla pojedynczego centrum danych bezpośrednio po przy pierwszej instalacji. Informacje o aktualizowaniu istniejącej instalacji aplikacji mTLS Apigee: zapoznaj się z informacjami o zmienianiu istniejącej konfiguracji apigee-mtls. Informacje na temat na temat konfigurowania wielu centrów danych zapoznaj się z artykułem Konfigurowanie wielu centrów danych. dla Apigee mTLS.

Poniżej znajduje się ogólny proces konfigurowania apigee-mtls:

  1. Zaktualizuj plik konfiguracji: na komputera administracyjnej, zaktualizuj plik konfiguracji, dodając do niego apigee-mtls ustawieniach.
  2. Zainstaluj aplikację Consul i wygeneruj dane logowania: zainstaluj Consul i użyj go do wygenerowania danych logowania TLS (tylko raz).

    Dodatkowo zmodyfikuj plik konfiguracji mTLS Apigee, aby:

    1. Dodawanie danych logowania
    2. Określ topologię klastra

    Pamiętaj, że możesz użyć swoich istniejących danych logowania lub generować je w Konsulu.

  3. Roześlij plik konfiguracji i dane logowania: Rozpowszechnij tę samą wygenerowaną parę certyfikatów i kluczy i zaktualizowany plik konfiguracji na wszystkie węzły w Twoim klastrze.
  4. Inicjacja apigee-mtls: zainicjuj apigee-mtls w każdym węźle.

Każdy z tych kroków jest opisany w dalszej części tego artykułu.

Krok 1. Zaktualizuj plik konfiguracji

W tej sekcji opisaliśmy, jak zmodyfikować plik konfiguracji, aby uwzględnić konfigurację mTLS. usług. Ogólne informacje o pliku konfiguracji znajdziesz w artykule Tworzenie konfiguracji .

Po zaktualizowaniu pliku konfiguracji o właściwości związane z mTLS musisz go skopiować do wszystkich węzłów w klastrze, zanim zainicjujesz w nich komponent apigee-mtls. węzłów.

Polecenia odwołujące się do pliku konfiguracji używają parametru „config_file” wskazuje, że jego jest zmienna w zależności od tego, gdzie w każdym węźle ją zapiszesz.

Aby zaktualizować plik konfiguracji:

  1. Otwórz plik konfiguracji na komputerze administracyjnym.
  2. Skopiuj poniższy zestaw właściwości konfiguracji mTLS i wklej je do konfiguracji plik:
    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"

    Ustaw wartość każdej właściwości, aby dostosować ją do swojej konfiguracji.

    W tabeli poniżej znajdziesz opis tych właściwości konfiguracji:

    Właściwość Opis
    ALL_IP Rozdzielona spacjami lista adresów IP hostów prywatnych wszystkich węzłów w klastrze.

    Kolejność adresów IP nie ma znaczenia, z wyjątkiem tego, że wszystkie adresy muszą być takie same plików konfiguracji w klastrze.

    Jeśli konfigurujesz mTLS Apigee dla wielu centrów danych, podaj listę wszystkich adresów IP dla wszystkich hostów we wszystkich regionach.

    LDAP_MTLS_HOSTS Adres IP prywatnego hosta węzła OpenLDAP w klastrze.
    ZK_MTLS_HOSTS

    Rozdzielona spacjami lista adresów IP prywatnych hostów, na których hostowane są węzły ZooKeeper w klastrze.

    Pamiętaj, że zgodnie z wymaganiami musisz: co najmniej trzy węzły ZooKeeper.

    CASS_MTLS_HOSTS Lista rozdzielonych spacjami adresów IP prywatnych hostów, na których hostowane są serwery Cassandra w klastrze.
    PG_MTLS_HOSTS Lista rozdzielonych spacjami adresów IP hostów prywatnych, na których hostowane są serwery Postgres w klastrze.
    RT_MTLS_HOSTS Rozdzielona spacjami lista prywatnych adresów IP hostów, w których routery są hostowane w klastra.
    MTLS_ENCAPSULATE_LDAP Szyfruje ruch LDAP między procesorem wiadomości a serwerem LDAP. Ustaw na y
    MS_MTLS_HOSTS Lista rozdzielonych spacjami adresów IP hostów prywatnych, na których znajdują się węzły serwera zarządzania który jest hostowany w klastrze.
    MP_MTLS_HOSTS Lista rozdzielonych spacjami adresów IP hostów prywatnych, na których znajdują się procesory wiadomości który jest hostowany w klastrze.
    QP_MTLS_HOSTS Lista rozdzielonych spacjami adresów IP hostów prywatnych, na których są hostowane serwery Qpid dla klastra.
    ENABLE_SIDECAR_PROXY Określa, czy Cassandra i Postgres powinny wiedzieć o siatce usług.

    Musisz ustawić tę wartość na „y”.

    ENCRYPT_DATA Klucz szyfrowania zakodowany w base64 używany przez Consul . Ten klucz został wygenerowany za pomocą metody consul keygen w Kroku 2. Zainstaluj aplikację Consul i do generowania danych logowania.

    Ta wartość musi być taka sama we wszystkich węzłach w klastrze.

    PATH_TO_CA_CERT Lokalizacja pliku certyfikatu w węźle. Ten plik został wygenerowany przez Ciebie w Krok 2. Zainstaluj aplikację Consul i wygeneruj dane logowania.

    Ta lokalizacja powinna być taka sama we wszystkich węzłach w klastrze, aby są takie same.

    Certyfikat musi być zakodowany w formacie X509v3.

    PATH_TO_CA_KEY Lokalizacja pliku klucza w węźle. Ten plik został wygenerowany przez Ciebie w Krok 2. Zainstaluj aplikację Consul i wygeneruj dane logowania.

    Ta lokalizacja powinna być taka sama we wszystkich węzłach w klastrze, aby są takie same.

    Plik klucza musi być zakodowany w formacie X509v3.

    APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR

    Liczba dni, przez które certyfikat jest ważny, wygenerować certyfikat niestandardowy.

    Wartością domyślną jest 365. Maksymalna wartość to 7865 dni (5 lat).

    Oprócz wymienionych powyżej właściwości Apigee mTLS wykorzystuje kilka dodatkowych właściwości podczas instalacji w konfiguracji obejmującej wiele centrów danych. Więcej informacji: Skonfiguruj wiele centrów danych.

  3. Upewnij się, że właściwość ENABLE_SIDECAR_PROXY ma wartość „y”.
  4. Zaktualizuj adresy IP we właściwościach związanych z hostem. Pamiętaj, aby użyć atrybutu prywatne adresy IP w odniesieniu do poszczególnych węzłów, a nie do publicznych; adresów IP.

    W późniejszych krokach ustawisz wartości innych właściwości, takich jak ENCRYPT_DATA, PATH_TO_CA_CERT i PATH_TO_CA_KEY. Ty nie ustawili jeszcze swoich wartości.

    Podczas edytowania właściwości konfiguracji apigee-mtls pamiętaj o tych kwestiach:

    • Wszystkie właściwości mają formę ciągu znaków. musisz opakować wartości wszystkich właściwości w pojedyncze lub podwójne cytatów.
    • Jeśli wartość związana z hostem ma więcej niż 1 prywatny adres IP, oddziel każdy z nich ze spacją.
    • W przypadku wszystkich informacji związanych z hostem używaj prywatnych adresów IP, a nie nazw hostów ani publicznych adresów IP właściwości w pliku konfiguracji.
    • Kolejność adresów IP w wartości właściwości musi być taka sama plików konfiguracji w klastrze.
  5. Zapisz zmiany w pliku konfiguracji.

Krok 2. Zainstaluj aplikację Consul i wygeneruj dane logowania

Ta sekcja opisuje sposób instalowania Consul i generowania danych logowania.

Aby wygenerować dane logowania, musisz wybrać jedną z poniższych metod:

  • Utwórz własny urząd certyfikacji za pomocą usługi Consul zgodnie z opisem w tej sekcji (zalecane).
  • Użyj danych logowania istniejącego urzędu certyfikacji z Apigee mTLS (zaawansowane)

Informacje o danych logowania

Dane logowania składają się z następujących elementów:

  • Certyfikat: certyfikat TLS hostowany w każdym węźle.
  • Klucz: klucz publiczny TLS hostowany w każdym węźle.
  • Plotka: klucz szyfrowania zakodowany w standardzie base-64

Możesz wygenerować 1 wersję każdego z tych plików tylko raz. Ty kopiujesz klucz i certyfikat do wszystkich węzłów w klastrze i dodaj do pliku konfiguracji klucz szyfrowania, skopiujesz też do wszystkich węzłów.

Więcej informacji o implementacji szyfrowania w Consul znajdziesz tutaj:

Instalowanie Consul i generowanie danych logowania

Używasz lokalnego pliku binarnego Consul, aby wygenerować dane logowania używane przez Apigee mTLS uwierzytelnianie bezpiecznej komunikacji między węzłami w klastrze Private Cloud. W rezultacie musisz zainstalować Consul na urządzeniu administracyjnym, aby można było do generowania danych logowania.

Aby zainstalować Consul i wygenerować dane logowania mTLS:

  1. Na komputerze administracyjnym pobierz plik binarny Consul 1.6.2 z Strona HashiCorp.
  2. Wyodrębnij zawartość pobranego pliku archiwum. Na przykład wyodrębnij zawartość do /opt/consul/
  3. Na komputerze administracyjnym utwórz nowy urząd certyfikacji, wykonując to polecenie:
    /opt/consul/consul tls ca create

    Consul tworzy następujące pliki będące parą certyfikat/klucz:

    • consul-agent-ca.pem (certyfikat)
    • consul-agent-ca-key.pem (klucz)

    Domyślnie pliki certyfikatu i klucza są zakodowane w formacie X509v3.

    Później skopiujesz te pliki do wszystkich węzłów w klastrze. Obecnie jednak musisz zdecyduj tylko, gdzie w węzłach umieścisz te pliki. Powinny być w tym samym miejscu w każdym węźle. Na przykład: /opt/apigee/.

  4. W pliku konfiguracji jako wartość parametru PATH_TO_CA_CERT ustaw lokalizację na który skopiujesz do węzła „consul-agent-ca.pem”. Na przykład:
    PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
  5. Ustaw wartość parametru PATH_TO_CA_KEY na lokalizację, do której skopiujesz parametr consul-agent-ca-key.pem w węźle. Na przykład:
    PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
  6. Utwórz klucz szyfrowania dla Consul, wykonując to polecenie:
    /opt/consul/consul keygen

    Usługa Consul zwraca losowy ciąg znaków podobny do tego:

    QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
  7. Skopiuj ten ciąg znaków i ustaw go jako wartość właściwości ENCRYPT_DATA w parametrze . Na przykład:
    ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY="
  8. Zapisz plik konfiguracji.

Poniżej znajduje się przykład ustawień związanych z mTLS w pliku konfiguracji (z przykładem wartości):

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

Krok 3. Rozpowszechnij plik konfiguracji i dane logowania

Skopiuj następujące pliki do węzłów, w których działa ZooKeeper, za pomocą takiego narzędzia jak scp:

  • Plik konfiguracji: skopiuj zaktualizowaną wersję tego pliku i zastąp istniejąca wersja we wszystkich węzłach (nie tylko w węzłach z funkcją ZooKeeper).
  • consul-agent-ca.pem: skopiuj wartość do lokalizacji podanej jako wartość PATH_TO_CA_CERT w pliku konfiguracji.
  • consul-agent-ca-key.pem: skopiuj do lokalizacji podanej jako wartość PATH_TO_CA_KEY w pliku konfiguracji.

Upewnij się, że lokalizacje, do których kopiujesz certyfikat i pliki kluczy, odpowiadają wartościom ustawiony w pliku konfiguracji na etapie Krok 2. Zainstaluj aplikację Consul i wygeneruj dane logowania.

Krok 4. Zainicjuj apigee-mtls

Po zaktualizowaniu pliku konfiguracji skopiuj go wraz z danymi logowania do wszystkich węzłów i zainstalowano apigee-mtls w każdym węźle, możesz zainicjować apigee-mtls w każdym węźle.

Aby zainicjować apigee-mtls:

  1. Zaloguj się w węźle w klastrze jako root. Te kroki możesz wykonać na węzłach w w dowolnej kolejności.
  2. Przypisz użytkownikowi apigee:apigee uprawnienia właściciela zaktualizowanego pliku konfiguracji, następujący przykład:
    chown apigee:apigee config_file
  3. Skonfiguruj komponent apigee-mtls, wykonując to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
  4. (Opcjonalnie) Wykonaj następujące polecenie, aby sprawdzić, czy konfiguracja się udała:
    /opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
  5. Uruchom Apigee mTLS, wykonując to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls start

    Po zainstalowaniu Apigee mTLS musisz uruchomić ten komponent przed jakimkolwiek innym w węźle.

  6. (Tylko węzły Cassandra) Funkcja Cassandra wymaga dodatkowych argumentów do działania w siatka bezpieczeństwa. W związku z tym musisz wykonać te polecenia w każdym węźle Cassandra:
    /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. (Tylko węzły Postgres) Postgres wymaga dodatkowych argumentów do działania w siatka bezpieczeństwa. W związku z tym musisz wykonać te czynności na węzłach Postgres:

    (Tylko master)

    1. Wykonaj te polecenia w węźle głównym Postgres:
      /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

    (tylko w trybie gotowości)

    1. Utwórz kopię zapasową istniejących danych Postgres. Aby zainstalować Apigee mTLS, musisz ponownie zainicjować w węzłach głównych/gotowych i w ten sposób dochodzi do utraty danych. Więcej informacji: Skonfiguruj replikację instancji głównej/w trybie gotowości Postgres,
    2. Usuń wszystkie dane Postgres:
      rm -rf /opt/apigee/data/apigee-postgresql/pgdata
    3. Skonfiguruj Postgres, a następnie ponownie uruchom Postgres zgodnie z poniższym przykładem:
      /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
    .

    Jeśli przeprowadzasz instalację w topologii wielu centrów danych, użyj ścieżki bezwzględnej dla wartości .

  8. Uruchom pozostałe komponenty Apigee w węźle start order, jaka jest następujący przykład:
    /opt/apigee/apigee-service/bin/apigee-service component_name start
  9. Powtórz ten proces dla każdego węzła w klastrze.
  10. (Opcjonalnie) Sprawdź, czy zainicjowanie apigee-mtls powiodło się, używając jednego lub kilka z tych metod:
    1. Weryfikowanie konfiguracji IPtables
    2. Weryfikowanie stanu zdalnego serwera proxy
    3. Zweryfikuj stan kworum

    Każda z tych metod jest opisana w sekcji Weryfikowanie

Zmienianie istniejącej konfiguracji apigee-mtls

Aby dostosować istniejącą konfigurację apigee-mtls, musisz odinstalować i Jeszcze raz zainstaluj apigee-mtls.

Aby powtórzyć ten punkt podczas zmiany istniejącej konfiguracji mTLS Apigee:

  • Jeśli zmienisz plik konfiguracji, musisz najpierw odinstalować aplikację apigee-mtls i uruchom ponownie setup lub configure:
    # 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
  • Musisz odinstalować i ponownie uruchomić system setup lub configure we wszystkich węzłach klastra, a nie tylko pojedynczego węzła.
.