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"
    TLS_MIN_VERSION="tls12"
    TLS_CIPHER_SUITES="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
    

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

    TLS_MIN_VERSION Określa minimalną dozwoloną wersję TLS. Ustaw jako tls12, aby wymuszać stosowanie co najmniej TLS 1.2.
    TLS_CIPHER_SUITES Rozdzielona przecinkami lista dozwolonych zestawów szyfrów TLS.

    Na przykład: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

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