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