Konfigurowanie TLS/SSL dla serwerów brzegowych

Edge for Private Cloud w wersji 4.16.09

TLS (Transport Layer Security, którego poprzednik to SSL) to standardowa technologia zabezpieczeń zapewniająca bezpieczne, zaszyfrowane wiadomości w środowisku API, od aplikacji przez Apigee Edge po usługi backendu.

Niezależnie od konfiguracji środowiska interfejsu API zarządzania – na przykład od tego, czy używasz serwera proxy, routera lub systemu równoważenia obciążenia przed interfejsem API zarządzania (czy też nie) – Edge umożliwia włączanie i konfigurowanie TLS, co daje Ci kontrolę nad szyfrowaniem wiadomości w środowisku zarządzania interfejsem API w Twojej firmie.

W przypadku instalacji Edge Private Cloud na urządzeniu lokalnym możesz skonfigurować TLS w kilku miejscach:

  1. między routerem a procesorem wiadomości;
  2. Aby uzyskać dostęp do interfejsu Edge Management API
  3. Dostęp do interfejsu zarządzania Edge
  4. Dostęp aplikacji do interfejsów API
  5. Aby uzyskać dostęp z Edge do usług backendu

Konfigurowanie TLS w przypadku pierwszych 3 elementów opisano poniżej. W każdej z tych procedur zakładamy, że masz utworzony plik JKS zawierający certyfikat TLS i klucz prywatny.

Aby skonfigurować TLS dla dostępu aplikacji do interfejsów API (punkt 4 powyżej), zapoznaj się z artykułem Konfigurowanie dostępu TLS do interfejsu API w chmurze prywatnej. Aby skonfigurować dostęp TLS z Edge do usług backendu, przeczytaj punkt 5 powyżej w sekcji Konfigurowanie TLS z Edge do backendu (chmura i chmura prywatna).

Pełny przegląd konfigurowania TLS w Edge znajdziesz w artykule TLS/SSL.

Tworzenie pliku JKS

Magazyn kluczy jest reprezentowany jako plik JKS, który zawiera certyfikat TLS i klucz prywatny. Plik JKS można utworzyć na kilka sposobów, m.in. za pomocą narzędzi openssl i keytool.

Na przykład masz plik PEM o nazwie server.pem zawierający certyfikat TLS oraz plik PEM o nazwie private_key.pem zawierający 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 wielowyrazowe klucza (jeśli go ma) oraz hasło eksportu. To polecenie tworzy plik PKCS12 o nazwie keystore.pkcs12.

Aby przekonwertować plik na plik JKS o nazwie keystore.jks, użyj 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 i dotychczasowego hasła do pliku PKCS12. Upewnij się, że w pliku JKS używasz tego samego hasła co w przypadku pliku PKCS12.

Jeśli musisz podać alias klucza, np. podczas konfigurowania TLS między routerem a procesorem wiadomości, dodaj opcję „-name” do polecenia openssl:

>  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 TLS w Edge wymagają podania zaszyfrowanego hasła w pliku konfiguracyjnym. Zaszyfrowane hasło jest bezpieczniejszą alternatywą dla wpisywania hasła w postaci zwykłego tekstu.

Zaciemnione hasło możesz wygenerować w Javie za pomocą plików .jar Jetty zainstalowanych z Edge. Aby wygenerować zaciemnione hasło, użyj polecenia w tym formacie:

> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar

Wpisz nowe hasło. Ze względów bezpieczeństwa tekst hasła nie jest wyświetlany. To polecenie zwraca hasło w formie:

OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

Podczas konfigurowania TLS użyj zaszyfrowanego hasła określonego przez OBF.

Więcej informacji znajdziesz w tym artykule.