Konfigurowanie mTLS Apigee

Po zainstalowaniu Apigee mTLS we wszystkich węzłach w klastrze musi skonfigurować i zainicjować komponent apigee-mtls. W tym celu musisz wygenerować plik parę certyfikatów i kluczy oraz aktualizację plik konfiguracji na komputerze administracyjnym. Następnie wdrożysz te same wygenerowane pliki i plik konfiguracji dla wszystkich węzłów w klastrze oraz zainicjuj lokalne Komponent apigee-mtls.

Skonfiguruj apigee-mtls (po pierwszej instalacji)

W tej sekcji dowiesz się, jak skonfigurować mTLS Apigee bezpośrednio po instalacji początkowej. Informacje na temat aktualizowania istniejąca instalacja mTLS Apigee; zapoznaj się z sekcją o zmienianiu istniejącego apigee-mtls

Ta sekcja dotyczy instalacji w jednym centrum danych. Informacje na temat Aby dowiedzieć się więcej o konfigurowaniu Apigee mTLS w konfiguracji z wieloma centrami danych, zapoznaj się z artykułem Konfigurowanie wielu centrów danych na potrzeby mTLS w Apigee.

Ogólna procedura konfigurowania usługi apigee-mtls wygląda tak:

  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 (opcjonalnie) użyj go do wygenerowania danych uwierzytelniających 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 dane logowania i plik konfiguracji: 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 .

Gdy zaktualizujesz plik konfiguracji o właściwości związane z mTLS, skopiuj go do wszystkich węzłów w klastrze, zanim zainicjujesz w nich komponent apigee-mtls. węzłów.

Aby zaktualizować plik konfiguracji:

  1. Otwórz plik konfiguracji do edycji 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 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

W tej sekcji opisano, jak zainstalować aplikację Consul i wygenerować dane logowania używane przez komponenty z obsługą mTLS.

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

  • (Zalecane) Utwórz własny urząd certyfikacji za pomocą usługi Consul, zgodnie z opisem w tym (sekcja)
  • 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.
  • Klucz: klucz publiczny TLS
  • Plotka: klucz szyfrowania zakodowany w standardzie base-64

Możesz wygenerować 1 wersję każdego z tych plików tylko raz. Następnie skopiuj 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

Do generowania danych logowania używanych przez Apigee mTLS uwierzytelniania bezpiecznej komunikacji między węzłami w klastrze Private Cloud, użyj lokalnego Plik binarny Consul . 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.8.0 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, które tworzą parę certyfikatu i klucza:

    • 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 wygenerowany ciąg i ustaw go jako wartość właściwości ENCRYPT_DATA w pliku konfiguracji. 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 te pliki do wszystkich węzłów za pomocą narzędzia takiego 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 zainstalowaniu pakietu apigee-mtls w każdym węźle, zaktualizowaniu pliku konfiguracji oraz został skopiowany wraz z danymi logowania do wszystkich węzłów w klastrze, możesz już 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 główne)

    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ęzłów głównych/gotowych, co spowoduje utratę 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. Pamiętaj też, by dostosować wszystkie węzłów.

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