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
:
- Zaktualizuj plik konfiguracji: na
komputera administracyjnej, zaktualizuj plik konfiguracji, dodając do niego
apigee-mtls
ustawieniach. - 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:
- Dodawanie danych logowania
- Określ topologię klastra
Pamiętaj, że możesz użyć swoich istniejących danych logowania lub generować je w Konsulu.
- 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.
- 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:
- Otwórz plik konfiguracji na komputerze administracyjnym.
- 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.
- Upewnij się, że właściwość
ENABLE_SIDECAR_PROXY
ma wartość „y”. - 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
iPATH_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.
- 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:
- Na komputerze administracyjnym pobierz plik binarny Consul 1.6.2 z Strona HashiCorp.
- Wyodrębnij zawartość pobranego pliku archiwum. Na przykład wyodrębnij zawartość do
/opt/consul/
- 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/
. - 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"
- Ustaw wartość parametru
PATH_TO_CA_KEY
na lokalizację, do której skopiujesz parametrconsul-agent-ca-key.pem
w węźle. Na przykład:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- 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=
- 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=" - 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:
- Zaloguj się w węźle w klastrze jako root. Te kroki możesz wykonać na węzłach w w dowolnej kolejności.
- Przypisz użytkownikowi
apigee:apigee
uprawnienia właściciela zaktualizowanego pliku konfiguracji, następujący przykład:chown apigee:apigee config_file
- Skonfiguruj komponent
apigee-mtls
, wykonując to polecenie:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Opcjonalnie) Wykonaj następujące polecenie, aby sprawdzić, czy konfiguracja się udała:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- 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.
- (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
- (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)
- 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)
- 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,
- Usuń wszystkie dane Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- 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 .
- Wykonaj te polecenia w węźle głównym Postgres:
- 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
- Powtórz ten proces dla każdego węzła w klastrze.
- (Opcjonalnie) Sprawdź, czy zainicjowanie
apigee-mtls
powiodło się, używając jednego lub kilka z tych metod:- Weryfikowanie konfiguracji IPtables
- Weryfikowanie stanu zdalnego serwera proxy
- 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 ponowniesetup
lubconfigure
:# 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
lubconfigure
we wszystkich węzłach klastra, a nie tylko pojedynczego węzła.