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:
- 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 (opcjonalnie) użyj go do wygenerowania danych uwierzytelniających 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 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.
- 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:
- Otwórz plik konfiguracji do edycji 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
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
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:
- Na komputerze administracyjnym pobierz plik binarny Consul 1.8.0 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, 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/
. - 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 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=" - 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:
- 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 główne)
- 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ęzłów głównych/gotowych, co spowoduje utratę 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
. 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 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.