Konfigurowanie protokołu TLS dla interfejsu API zarządzania

Edge for Private Cloud w wersji 4.18.05

Domyślnie interfejs Management API obsługuje wyłączone szyfrowanie TLS, a do interfejsu Management API w Edge uzyskujesz dostęp przez HTTP, korzystając z adresu IP węzła serwera zarządzania i portu 8080. Na przykład:

http://ms_IP:8080

Możesz też skonfigurować dostęp TLS do interfejsu API zarządzania, aby uzyskać do niego dostęp w postaci:

https://ms_IP:8443

W tym przykładzie konfigurujesz dostęp TLS, aby używał portu 8443. Ten numer portu nie jest jednak wymagany przez Edge – możesz skonfigurować serwer zarządzający tak, aby używał innych wartości portu. 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, skonfiguruj ustawienia w pliku /opt/apigee/customer/application/management-server.properties.

Oprócz konfiguracji TLS możesz też kontrolować weryfikację hasła (długość i siłę hasła) przez zmodyfikowanie pliku management-server.properties.

Sprawdź, czy port TLS jest otwarty

Procedura opisana w tej sekcji konfiguruje TLS do korzystania z portu 8443 na serwerze zarządzania. Niezależnie od używanego portu musisz się upewnić, że jest on otwarty na serwerze zarządzania. Aby go otworzyć, możesz użyć tego polecenia:

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

Konfigurowanie TLS

Zmień plik /opt/apigee/customer/application/management-server.properties, aby kontrolować używanie TLS w przypadku ruchu do i z interfejsu API zarządzania. Jeśli ten plik nie istnieje, utwórz go.

Aby skonfigurować dostęp TLS do interfejsu API zarządzania:

  1. Wygeneruj plik magazynu kluczy JKS zawierający certyfikat TLS i klucz prywatny. Więcej informacji znajdziesz w artykule Konfigurowanie TLS/SSL na potrzeby usługi Edge On Premises.
  2. Skopiuj plik klucza JKS do katalogu na węźle serwera zarządzania, np. /opt/apigee/customer/application.
  3. Zmień właściciela pliku JKS na apige:
    chown apigee:apigee keystore.jks
    gdzie keystore.jks to nazwa pliku magazynu kluczy.
  4. Kliknij Edytuj /opt/apigee/customer/application/management-server.properties, aby ustawić te właściwości: Jeśli plik nie istnieje, utwórz go:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    gdzie keyStore.jks to plik klucza, a obfuscatedPassword to zaszyfrowane hasło klucza. Informacje o generowaniu zaszyfrowanego hasła znajdziesz w artykule Konfigurowanie TLS/SSL w przypadku Edge On Premises.
  5. Uruchom ponownie serwer Edge Management za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

Konfigurowanie interfejsu Edge, aby używał protokołu TLS do uzyskiwania dostępu do interfejsu Edge API

W powyżej opisanej procedurze firma Apigee zaleca pozostawienie wartości conf_webserver_http.turn.off=false, aby interfejs użytkownika Edge mógł nadal wykonywać wywołania interfejsu Edge API przez HTTP.

Aby skonfigurować interfejs użytkownika przeglądarki Edge tak, aby te wywołania były wykonywane tylko przez HTTPS:

  1. Skonfiguruj dostęp TLS do interfejsu API zarządzania zgodnie z instrukcjami podanymi powyżej.
  2. Po potwierdzeniu, że interfejs TLS działa w przypadku interfejsu API zarządzania, zmodyfikuj plik /opt/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ą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Kliknij Edytuj /opt/apigee/customer/application/ui.properties, aby ustawić te właściwości w interfejsie Edge. Jeśli tego pliku nie ma, utwórz go: conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1" gdzie FQDN to pełna nazwa domeny zgodnie z adresem serwera zarządzania w certyfikacie, a numer portu to port określony powyżej za pomocą conf_webserver_ssl.port.
  5. Tylko jeśli podczas konfigurowania dostępu TLS do interfejsu API zarządzania powyżej użyto samodzielnie podpisanego certyfikatu (niezalecanego w środowisku produkcyjnym), dodaj do ui.properties tę właściwość:conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=trueW przeciwnym razie interfejs użytkownika Edge odrzuci samodzielnie podpisany certyfikat.
  6. Uruchom ponownie interfejs Edge za pomocą tego polecenia:
    /opt/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 elementach 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 (wartość „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ć połączenia http i 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=<path>

Ś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 Twój menedżer kluczy ma hasło, wpisz zaciemnioną wersję hasła w tym formacie: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

Skonfiguruj ustawienia zaufanej bazy danych. Określ, czy chcesz akceptować wszystkie certyfikaty TLS/SSL (np. aby akceptować typy niestandardowe). Wartość domyślna to false. Podaj ścieżkę do zaufanych certyfikatów i wpisz zaciemnione hasło w następującym formacie: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Wskazać szyfrowanie, które chcesz uwzględnić lub wykluczyć. Jeśli na przykład wykryjesz lukę w zabezpieczeniach w szyfrze, możesz go wykluczyć. Poszczególne szyfry rozdziel spacją.

Informacje o zestawach szyfrów 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=

Ciągi liczb całkowitych, które określają:

  • Rozmiar pamięci podręcznej sesji TLS/SSL (w bajtach) do przechowywania informacji o sesji dla wielu klientów.
  • Czas trwania sesji TLS/SSL (w milisekundach).