Konfigurowanie protokołu TLS dla interfejsu API zarządzania

Edge for Private Cloud w wersji 4.17.05

Domyślnie protokół TLS jest wyłączony w przypadku interfejsu Management API, a dostęp do interfejsu Edge Management API uzyskujesz 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 TLS do interfejsu API zarządzania, aby mieć do niego dostęp w formularz:

https://ms_IP:8443

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

Aby zapewnić szyfrowanie ruchu przychodzącego i wychodzącego z interfejsu API zarządzania, skonfiguruj ustawienia /opt/apigee/customer/application/management-server.properties .

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

Sprawdź, czy port TLS jest otwarty

Procedura opisana w tej sekcji pozwala skonfigurować protokół TLS tak, aby używał portu 8443 na serwerze zarządzania. Niezależnie od używanego portu musisz sprawdzić, czy port jest otwarty w sekcji zarządzania Serwer Możesz na przykład otworzyć je za pomocą tego polecenia:

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

Konfigurowanie TLS

Edytuj plik /opt/apigee/customer/application/management-server.properties w celu kontrolowania użycia protokołu TLS w ruchu do i z interfejsu API zarządzania. Jeśli ten plik nie istnieje, i ją utworzyć.

Aby skonfigurować dostęp TLS do interfejsu API zarządzania, wykonaj czynności opisane poniżej:

  1. Wygeneruj plik JKS magazynu kluczy zawierający certyfikat TLS i klucz prywatny. Więcej zobacz Konfigurowanie TLS/SSL dla Edge On Nieruchomość.
  2. Skopiuj plik JKS magazynu kluczy do katalogu w węźle serwera zarządzania, na przykład pod adresem /opt/apigee/customer/application.
  3. Zmień własność pliku JKS na apigee:
    $ chown apigee:apigee keystore.jks

    gdzie keystore.jks to nazwa pliku magazynu kluczy.
  4. Edytuj plik /opt/apigee/customer/application/management-server.properties na potrzeby skonfigurowania tych właściwości. Jeśli plik nie istnieje, utwórz go:
    conf_webserver_ssl.enabled=true
    # Pozostaw parametr conf_webserver_http.turn.off ustawiony na false
    #, ponieważ wiele wewnętrznych wywołań Edge używa HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Wpisz poniżej zaciemnione hasło magazynu kluczy.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    gdzie keyStore.jks to plik magazynu kluczy, obfuscatedPassword to zaciemnione hasło magazynu kluczy. Zapoznaj się z artykułem Konfigurowanie TLS/SSL dla usługi Edge On dla tematów: jak wygenerować zaciemnione hasło.
  5. Ponownie uruchom serwer zarządzania brzegiem serwera za pomocą polecenia:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart

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

Po upewnieniu się, że protokół TLS działa prawidłowo, w tym także po upewnieniu się, że działa Edge UI, możesz wyłączyć dostęp HTTP do interfejsu API do zarządzania, jak opisano w następnym kroku.

Konfigurowanie interfejsu Edge tak, aby uzyskiwać dostęp przy użyciu protokołu TLS interfejs Edge API

W powyższej procedurze Apigee zalecała opuszczenie strony conf_webserver_http.turn.off=false, aby umożliwić interfejs Edge może nadal wywoływać interfejs Edge API przez HTTP.

Wykonaj poniższe czynności, aby skonfigurować interfejs Edge, aby wykonywać te wywołania tylko przez HTTPS:

  1. Skonfiguruj dostęp TLS do interfejsu API zarządzania w sposób opisany powyżej.
  2. Po potwierdzeniu, że TLS działa w interfejsie API zarządzania, zmień /opt/apigee/customer/application/management-server.properties na ustaw tę właściwość:
    conf_webserver_http.turn.off=true
  3. Ponownie uruchom serwer zarządzania brzegiem serwera za pomocą polecenia:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart
  4. Edytuj plik /opt/apigee/customer/application/ui.properties aby ustawić podaną niżej właściwość interfejsu Edge. Jeśli plik nie istnieje, utwórz go:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    gdzie FQDN to pełna nazwa domeny, zgodnie z certyfikatem. adresu serwera zarządzania, a numer portu to port określony powyżej przez conf_webserver_ssl.port.
  5. Tylko w przypadku korzystania z certyfikatu podpisanego samodzielnie (niezalecane w wersji produkcyjnej (środowisko), podczas konfigurowania dostępu TLS do interfejsu zarządzania API powyżej dodaj tę usługę do ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    W przeciwnym razie interfejs Edge odrzuci samodzielnie podpisany certyfikat.
  6. Ponownie uruchom interfejs Edge za pomocą polecenia:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

Poniższa tabela zawiera wszystkie właściwości TLS/SSL, które można 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. Gdy protokół TLS/SSL jest włączony (prawda), musisz też ustawić atrybut ssl.port i keystore.path.

conf_webserver_http.turn.off=true

Aby włączyć lub wyłączyć protokół HTTP razem z https. Jeśli chcesz używać tylko protokołu HTTPS, pozostaw pole o wartości domyślnej 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 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 zaciemnioną wersję hasła w format: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | [false] true>

conf_webserver_trust.store.path=&lt;path&gt;

conf_webserver_trust.store.password=

Skonfiguruj ustawienia magazynu zaufania. Zdecyduj, czy chcesz zaakceptować wszystkie Certyfikaty TLS/SSL (np. do akceptowania typów niestandardowych). Wartość domyślna to false. Podaj ścieżkę do magazynu zaufania i wpisz zaciemnione hasło tego magazynu w tym formacie: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=&lt;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 wykryć lukę w zabezpieczeniach za pomocą algorytmu, możesz ją tutaj wykluczyć. Rozdziel mechanizmy szyfrowania ze spacją.

Więcej informacji na temat zestawów szyfrów i architektury kryptografii można znaleźć tutaj:

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

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Liczba całkowita określająca:

  • Rozmiar pamięci podręcznej sesji TLS/SSL (w bajtach), która jest używana do przechowywania informacji o sesji dla wielu klientów.
  • Czas trwania sesji TLS/SSL przed upływem limitu czasu (w milisekund).