Konfigurowanie protokołu TLS dla interfejsu API zarządzania

Edge dla chmury prywatnej w wersji 4.16.05

Domyślnie protokół TLS jest wyłączony w przypadku interfejsu API zarządzania, a dostęp do interfejsu API zarządzania Edge odbywa się przez HTTP przy użyciu adresu IP węzła serwera zarządzania i portu 8080. Na przykład:

http://ms_IP:8080

Możesz też skonfigurować dostęp protokół TLS do interfejsu API zarządzania Google Analytics, aby uzyskać do niego dostęp w tej postaci:

https://ms_IP:8443

W tym przykładzie skonfigurujesz dostęp TLS do korzystania z portu 8443. Jednak ten numer portu nie jest wymagany przez Edge – możesz skonfigurować serwer zarządzania tak, aby używał innych wartości portów. Jedynym wymaganiem jest to, aby zapora sieciowa zezwalała na ruch przez określony port.

Aby zapewnić szyfrowanie ruchu do i z interfejsu API zarządzania Google Analytics, skonfiguruj ustawienia w pliku /<install_dir>/apigee/customer/application/management-server.properties.

Oprócz konfiguracji TLS możesz też kontrolować sprawdzanie poprawności haseł (długość i siłę hasła), modyfikując plik management-server.properties.

Sprawdź, czy port TLS jest otwarty

Procedura opisana w tej sekcji konfiguruje protokół TLS do używania portu 8443 na serwerze zarządzania. Niezależnie od używanego portu musisz upewnić się, że jest on otwarty na serwerze zarządzania. Możesz go otworzyć na przykład za pomocą tego polecenia:

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose 

Konfigurowanie TLS

Edytuj plik /<install_dir>/apigee/customer/application/management-server.properties, aby kontrolować użycie protokołu TLS w ruchu do i z interfejsu API zarządzania Google Analytics. Jeśli ten plik nie istnieje, utwórz go.

Aby skonfigurować dostęp protokołu TLS do interfejsu API zarządzania Google Analytics, wykonaj te czynności:

  1. Wygeneruj plik JKS magazynu kluczy zawierający certyfikat TLS i klucz prywatny. Więcej informacji znajdziesz w artykule o konfigurowaniu TLS/SSL dla Edge On-Premises.
  2. Skopiuj plik JKS magazynu kluczy do katalogu w węźle serwera zarządzania, np. /tmp.
  3. Zmień własność pliku JKS na apigee:
    $ chown apigee:apigee keystore.jks

    gdzie keystore.jks to nazwa pliku magazynu kluczy.
  4. Aby ustawić te właściwości, zmodyfikuj plik /<install_dir>/apigee/customer/application/management-server.properties. Jeśli ten plik nie istnieje, utwórz go:
    conf_webserver_ssl.enabled=true
    # Set next to true if all communications should be over HTTPS.
    # Not recommended because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/tmp/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    gdzie keyStore.jks to plik magazynu kluczy, a obfuscatedPassword to zaciemnione hasło do magazynu kluczy. Informacje o generowaniu zaciemnionego hasła znajdziesz w artykule Konfigurowanie TLS/SSL dla Edge On-Premises.
  5. Uruchom ponownie serwer zarządzania Edge za pomocą polecenia:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart

Interfejs API zarządzania Google Analytics obsługuje teraz dostęp przez protokół TLS.

Konfigurowanie interfejsu Edge pod kątem korzystania z protokołu TLS w celu uzyskiwania dostępu do interfejsu API Edge

W powyższej procedurze zalecamy pozostawienie ustawienia conf_webserver_http.turn.off=false, aby interfejs użytkownika Edge mógł nadal wykonywać wywołania interfejsu API Edge przez HTTP. Aby skonfigurować interfejs Edge tak, aby wykonywał te wywołania tylko przez HTTPS, wykonaj te czynności:

  1. Skonfiguruj dostęp protokołu TLS do interfejsu API zarządzania Google Analytics zgodnie z opisem powyżej.
  2. Po potwierdzeniu, że protokół TLS działa w przypadku interfejsu API zarządzania Google Analytics, zmodyfikuj plik /<install_dir>/apigee/customer/application/management-server.properties, aby ustawić tę właściwość:
    conf_webserver_http.turn.off=true
  3. Uruchom ponownie serwer zarządzania Edge za pomocą polecenia:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Zmodyfikuj plik /<install_dir>/apigee/customer/application/ui.properties, aby ustawić tę właściwość interfejsu Edge. Jeśli ten plik nie istnieje, utwórz go:
    conf_apigee_apigee.mgmt.baseurl="https://MS_IP:8443/v1"

    gdzie MS_IP to adres IP serwera zarządzania, a numer portu to port określony powyżej przez conf_webserver_ssl.port.
  5. Tylko jeśli podczas konfigurowania dostępu protokołu TLS do interfejsu API zarządzania Google Analytics powyżej użyto certyfikatu podpisanego samodzielnie, dodaj do pliku ui.properties tę właściwość:
    conf/application.conf+ws.acceptAnyCertificate=true

    W przeciwnym razie interfejs Edge odrzuci certyfikat podpisany samodzielnie.
  6. Uruchom ponownie interfejs Edge, używając polecenia:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-ui restart

Właściwości TLS serwera zarządzania

W tabeli poniżej znajdziesz wszystkie właściwości TLS/SSL, które możesz ustawić w pliku management-server.properties:

Usługi

Opis

conf_webserver_http.port=8080

Wartość domyślna to 8080.

conf_webserver_ssl.enabled=false

Aby włączyć lub wyłączyć TLS/SSL. Jeśli protokół TLS/SSL jest włączony (true), musisz też ustawić właściwości ssl.port i keystore.path.

conf_webserver_http.turn.off=true

Aby włączyć lub wyłączyć http razem z https. Jeśli chcesz używać tylko protokołu HTTPS, pozostaw wartość domyślną true.

conf_webserver_ssl.port=8443

Port TLS/SSL.

Wymagane, gdy włączony jest protokół TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=<ścieżka>

Ścieżka do pliku magazynu kluczy.

Wymagane, gdy włączony jest protokół TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

Użyj zaciemnionego hasła w tym formacie: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

Opcjonalny alias certyfikatu magazynu kluczy

conf_webserver_keymanager.password=

Jeśli menedżer kluczy ma hasło, wpisz jego zaciemnioną wersję w tym formacie: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<ścieżka>

conf_webserver_trust.store.password=

Skonfiguruj ustawienia magazynu zaufania. Określ, czy chcesz akceptować wszystkie certyfikaty TLS/SSL (na przykład, aby akceptować niestandardowe typy). Wartość domyślna to false. Podaj ścieżkę do magazynu zaufania i wpisz zaciemnione hasło do magazynu zaufania w tym formacie: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Wskaż zestawy szyfrów, które chcesz uwzględnić lub wykluczyć. Jeśli na przykład odkryjesz lukę w zabezpieczeniach szyfru, możesz go tutaj wykluczyć. Poszczególne mechanizmy szyfrowania oddziel spacją.

Informacje o pakietach mechanizmów szyfrujących i architekturze kryptograficznej znajdziesz w tych artykułach:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Liczby całkowite, które określają:

  • Rozmiar pamięci podręcznej sesji TLS/SSL (w bajtach) na potrzeby przechowywania informacji o sesji dla wielu klientów.
  • Czas trwania sesji TLS/SSL przed przekroczeniem limitu czasu (w milisekundach).