Edge for Private Cloud wer. 4.16.05
TLS (Transport Layer Security, którego poprzednik to SSL) to standardowa technologia zabezpieczeń zapewniająca bezpieczne, zaszyfrowane wiadomości w środowisku interfejsów API, od aplikacji przez Apigee Edge po usługi backendu.
Niezależnie od konfiguracji środowiska interfejsu API do zarządzania – na przykład od tego, czy używasz serwera proxy, routera czy systemu równoważenia obciążenia przed interfejsem API zarządzania – Edge umożliwia włączenie i skonfigurowanie protokołu TLS, zapewniając Ci kontrolę nad szyfrowaniem wiadomości w lokalnym środowisku zarządzania interfejsami API.
W przypadku lokalnej instalacji Edge Private Cloud jest kilka miejsc, w których można skonfigurować protokół TLS:
- między routerem a procesorem przesyłania wiadomości
- Dostęp do interfejsu Edge Management API
- Dostęp do interfejsu zarządzania urządzeniami brzegowymi
- Dostęp z aplikacji do interfejsów API
- Dostęp z Edge do usług backendu
Poniżej opisaliśmy konfigurowanie TLS dla pierwszych 3 elementów. W przypadku wszystkich tych procedur przyjęto założenie, że został utworzony plik JKS zawierający certyfikat TLS i klucz prywatny.
Aby skonfigurować protokół TLS na potrzeby dostępu z aplikacji do interfejsów API (patrz punkt 4 powyżej), przeczytaj sekcję Konfigurowanie dostępu TLS do interfejsu API w chmurze prywatnej. Aby skonfigurować protokół TLS na potrzeby dostępu z brzegu do usług backendu, nr 5 powyżej zapoznaj się z sekcją o konfigurowaniu protokołu TLS z brzegu do backendu (chmura i chmura prywatna).
Pełne omówienie konfigurowania TLS w Edge znajdziesz w artykule TLS/SSL.
Tworzenie pliku JKS
Reprezentujesz magazyn kluczy jako plik JKS, który zawiera certyfikat TLS i klucz prywatny. Plik JKS można utworzyć na kilka sposobów, ale jednym z nich jest skorzystanie z narzędzi opensl i keytool.
Masz na przykład plik PEM o nazwie server.pem zawierający certyfikat TLS i plik PEM o nazwie private_key.pem zawierający Twój klucz prywatny. Aby utworzyć plik PKCS12, użyj tych poleceń:
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12
Musisz wpisać hasło klucza (jeśli je ma) oraz hasło eksportu. To polecenie tworzy plik PKCS12 o nazwie keystore.pkcs12.
Przekonwertuj go na plik JKS o nazwie keystore.jks za pomocą tego polecenia:
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
Pojawi się prośba o podanie nowego hasła do pliku JKS oraz obecnego hasła do pliku PKCS12. Pamiętaj, by w pliku JKS użyć tego samego hasła co w pliku PKCS12.
Jeśli musisz określić alias klucza, na przykład podczas konfigurowania protokołu TLS między routerem a procesorem wiadomości, dodaj opcję „-name" do polecenia opensl:
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest
Następnie dodaj opcję „-alias” do polecenia keytool:
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest
Generowanie zaciemnionego hasła
Niektóre części procedury konfiguracji Edge TLS wymagają wpisania zaciemnionego hasła w pliku konfiguracji. Zaciemnione hasło to bezpieczniejsza alternatywa dla wpisywania hasła w postaci zwykłego tekstu.
Zaciemnione hasło możesz wygenerować w Javie, używając plików .jar Jetty zainstalowanych w Edge. Wygeneruj zaciemnione hasło za pomocą polecenia w tym formularzu:
> java -cp /<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-http-x.y.z.jar:/<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-util-x.y.z.jar org.eclipse.jetty.http.security.Password yourPassword
gdzie x.y.z określa numer wersji plików jar Jetty, na przykład 8.0.4.v20111024. To polecenie zwraca hasło w takiej postaci:
yourPassword OBF:58fh40h61svy156789gk1saj MD5:902fobg9d80e6043b394cb2314e9c6
Podczas konfigurowania protokołu TLS użyj zaciemnionego hasła określonego przez OBF.
Więcej informacji znajdziesz w tym artykule.