Konfigurowanie TLS/SSL dla serwerów brzegowych

Edge dla chmury prywatnej w wersji 4.17.01

TLS (Transport Layer Security, którego poprzednikiem jest SSL) to standardowa technologia zabezpieczeń, która zapewnia bezpieczne, szyfrowane przesyłanie wiadomości w środowisku interfejsu API, od aplikacji przez Apigee Edge po usługi backendu.

Niezależnie od konfiguracji środowiska interfejsu API zarządzania Google Analytics, np. od tego, czy używasz serwera proxy, routera lub systemu równoważenia obciążenia przed interfejsem API zarządzania Google Analytics, Edge umożliwia włączenie i skonfigurowanie protokołu TLS, co daje kontrolę nad szyfrowaniem wiadomości w lokalnym środowisku zarządzania interfejsami API.

W przypadku lokalnej instalacji Edge Private Cloud protokół TLS można skonfigurować w kilku miejscach:

  1. między routerem a procesorem komunikatów,
  2. Dostęp do interfejsu Edge Management API
  3. Dostęp do interfejsu zarządzania Edge
  4. Dostęp aplikacji do interfejsów API
  5. Dostęp z Edge do usług backendu

Konfigurowanie TLS dla pierwszych 3 elementów opisano poniżej. Wszystkie te procedury zakładają, że masz utworzony plik JKS zawierający certyfikat TLS i klucz prywatny.

Aby skonfigurować TLS na potrzeby dostępu z 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ć TLS na potrzeby dostępu z Edge do usług backendu (punkt 5 powyżej), zapoznaj się z artykułem Konfigurowanie TLS z Edge do backendu (Cloud i chmura prywatna).

Pełne omówienie 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, ale jednym z nich jest użycie narzędzi openssl i keytool.

Załóżmy na przykład, że 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 do klucza, jeśli je ma, oraz hasło eksportu. To polecenie tworzy plik PKCS12 o nazwie keystore.pkcs12.

Użyj tego polecenia, aby przekonwertować go na plik JKS o nazwie keystore.jks:

> 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 istniejącego hasła do pliku PKCS12. Upewnij się, że używasz tego samego hasła do pliku JKS, którego używasz do pliku PKCS12.

Jeśli musisz określić alias klucza, np. podczas konfigurowania TLS między routerem a procesorem komunikatów, 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 Edge wymagają wpisania zaciemnionego hasła w pliku konfiguracji. Zamaskowane hasło jest bezpieczniejszą alternatywą dla wpisywania hasła w postaci zwykłego tekstu.

Możesz wygenerować zaciemnione hasło, używając tego polecenia na serwerze zarządzania Edge:

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server generate-obfuscated-password

Wpisz nowe hasło, a następnie potwierdź je, gdy pojawi się odpowiedni komunikat. 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 zaciemnionego hasła określonego przez OBF.

Więcej informacji znajdziesz w tym artykule.