Konfigurowanie TLS/SSL dla serwerów brzegowych

Edge for Private Cloud wer. 4.16.09

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:

  1. między routerem a procesorem przesyłania wiadomości
  2. Dostęp do interfejsu Edge Management API
  3. Dostęp do interfejsu zarządzania urządzeniami brzegowymi
  4. Dostęp z aplikacji do interfejsów API
  5. 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:

> 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 w wyświetlonym oknie. Ze względów bezpieczeństwa tekst hasła nie jest wyświetlany. To polecenie zwraca hasło w takiej postaci:

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.