Konfigurowanie protokołu TLS w interfejsie zarządzania

Edge for Private Cloud w wersji 4.19.01

Domyślnie do interfejsu zarządzania brzegiem sieci możesz uzyskiwać dostęp przez HTTP przy użyciu adresu IP węzła serwera zarządzania i portu 9000. Na przykład:

http://ms_IP:9000

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

https://ms_IP:9443

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

Upewnij się, że port TLS jest otwarty

Procedura podana w tej sekcji pozwala skonfigurować protokół TLS do używania portu 9443 na serwerze zarządzania. Niezależnie od używanego portu musisz się upewnić, że port na serwerze zarządzania musi być otwarty. Aby go otworzyć, możesz na przykład użyć tego polecenia:

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

Konfigurowanie TLS

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

  1. Wygeneruj plik JKS magazynu kluczy zawierający certyfikat TLS i klucz prywatny, a następnie skopiuj go do węzła serwera zarządzania. Więcej informacji znajdziesz w artykule Konfigurowanie protokołu TLS/SSL dla przeglądarki Edge On.
  2. Aby skonfigurować protokół TLS, uruchom to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Wpisz numer portu HTTPS, np. 9443.
  4. Określ, czy chcesz wyłączyć dostęp HTTP do interfejsu zarządzania. Domyślnie interfejs zarządzania jest dostępny przez HTTP na porcie 9000.
  5. Wpisz algorytm magazynu kluczy. Wartość domyślna to JKS.
  6. Wpisz ścieżkę bezwzględną do pliku JKS magazynu kluczy.

    Skrypt kopiuje plik do katalogu /opt/apigee/customer/conf w węźle serwera zarządzania i zmienia własność pliku na „apigee”.

  7. Wpisz hasło do magazynu kluczy w postaci zwykłego tekstu.
  8. Następnie skrypt ponownie uruchamia interfejs zarządzania brzegowymi. Po ponownym uruchomieniu interfejs zarządzania obsługuje dostęp przez TLS.

    Te ustawienia znajdziesz w sekcji /opt/apigee/etc/edge-ui.d/SSL.sh.

Konfigurowanie protokołu TLS za pomocą pliku konfiguracji

Zamiast wykonywania powyższej procedury możesz przekazać plik konfiguracyjny do polecenia w kroku 2 procedury. Musisz użyć tej metody, jeśli chcesz ustawić opcjonalne właściwości TLS.

Aby użyć tego pliku, utwórz nowy plik i dodaj do niego te właściwości:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Zapisz plik w katalogu lokalnym o dowolnej nazwie. Następnie za pomocą tego polecenia skonfiguruj protokół TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

gdzie configFile to pełna ścieżka do zapisanego pliku.

Skonfiguruj interfejs użytkownika Edge po zakończeniu TLS w systemie równoważenia obciążenia

Jeśli masz system równoważenia obciążenia, który przekazuje żądania do interfejsu użytkownika Edge, możesz zakończyć połączenie TLS w systemie równoważenia obciążenia, a następnie ustawić przez system równoważenia obciążenia przekazywanie żądań do interfejsu Edge przez HTTP. Ta konfiguracja jest obsługiwana, ale musisz odpowiednio skonfigurować system równoważenia obciążenia i interfejs użytkownika Edge.

Dodatkowa konfiguracja jest wymagana, gdy interfejs Edge wysyła do użytkowników e-maile z prośbą o ustawienie hasła podczas tworzenia konta użytkownika lub gdy wysyła on prośbę o zresetowanie utraconego hasła. Zawiera on adres URL, który użytkownik wybiera, aby ustawić lub zresetować hasło. Domyślnie, jeśli interfejs Edge nie jest skonfigurowany do używania protokołu TLS, adres URL w wygenerowanym e-mailu używa protokołu HTTP, a nie HTTPS. Musisz skonfigurować system równoważenia obciążenia i interfejs użytkownika Edge, aby wygenerować adres e-mail korzystający z HTTPS.

Aby skonfigurować system równoważenia obciążenia, upewnij się, że ustawia on następujący nagłówek w żądaniach przekazywanych do interfejsu użytkownika Edge:

X-Forwarded-Proto: https

Aby skonfigurować interfejs Edge:

  1. Otwórz plik /opt/apigee/customer/application/ui.properties w edytorze. Jeśli plik nie istnieje, utwórz go:
    vi /opt/apigee/customer/application/ui.properties
  2. Ustaw tę właściwość w zasadzie ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Zapisz zmiany w usłudze ui.properties.
  4. Ponownie uruchom interfejs Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Konfigurowanie opcjonalnych właściwości TLS

Interfejs Edge obsługuje opcjonalne właściwości konfiguracji TLS, za pomocą których możesz ustawić te wartości:

  • Domyślny protokół TLS
  • Lista obsługiwanych protokołów TLS
  • Obsługiwane algorytmy TLS
  • Obsługiwane mechanizmy szyfrowania TLS

Te parametry opcjonalne są dostępne tylko wtedy, gdy ustawisz w pliku konfiguracyjnym tę właściwość konfiguracji zgodnie z opisem w sekcji Używanie pliku konfiguracji do konfigurowania protokołu TLS:

TLS_CONFIGURE=y

Poniższa tabela opisuje te właściwości:

Właściwość Opis
TLS_PROTOCOL Określa domyślny protokół TLS dla interfejsu użytkownika Edge. Domyślnie jest to TLS 1.2. Prawidłowe wartości to TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Definiuje listę włączonych protokołów w postaci tablicy rozdzielanej przecinkami. Na przykład:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Zwróć uwagę, że trzeba zmienić znaczenie znaku ".

Domyślnie wszystkie protokoły są włączone.

TLS_DISABLED_ALGO

Definiuje wyłączone zestawy szyfrów. Za jego pomocą można też zapobiegać używaniu małych kluczy do hakowania TLS. Brak wartości domyślnej.

Wartości przekazywane do TLS_DISABLED_ALGO odpowiadają dozwolonym wartościom parametru jdk.tls.disabledAlgorithms, zgodnie z opisem tutaj. Podczas ustawiania TLS_DISABLED_ALGO musisz jednak używać spacji ze spacjami:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048

TLS_ENABLED_CIPHERS

Definiuje listę dostępnych mechanizmów szyfrowania TLS w postaci tablicy rozdzielanej przecinkami. Na przykład:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Zwróć uwagę, że trzeba zmienić znaczenie znaku ".

Domyślna lista włączonych mechanizmów szyfrowania to:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Listę dostępnych mechanizmów szyfrowania znajdziesz tutaj.

Wyłączanie protokołów TLS

Aby wyłączyć protokoły TLS, musisz zmodyfikować plik konfiguracyjny zgodnie z opisem w sekcji Konfigurowanie protokołu TLS przy użyciu pliku konfiguracyjnego:

  1. Otwórz plik konfiguracji w edytorze.
  2. Aby wyłączyć pojedynczy protokół TLS, na przykład TLSv1.0, dodaj do pliku konfiguracyjnego następujące wpisy:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Aby wyłączyć wiele protokołów, na przykład TLSv1.0 i TLSv1.1, dodaj do pliku konfiguracji te dane:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Zapisz zmiany w pliku konfiguracyjnym.
  4. Aby skonfigurować protokół TLS, uruchom to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    gdzie configFile to pełna ścieżka do pliku konfiguracyjnego.

  5. Ponownie uruchom interfejs Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Używaj bezpiecznych plików cookie

Apigee Edge dla Private Cloud obsługuje dodawanie flagi secure do nagłówka Set-Cookie w przypadku odpowiedzi z interfejsu użytkownika Edge. Jeśli ta flaga jest obecna, plik cookie może być wysyłany tylko przez kanały z włączoną obsługą TLS. Jeśli go nie ma, plik cookie można przesłać przez dowolny kanał, niezależnie od tego, czy jest bezpieczny.

Pliki cookie bez flagi secure mogą umożliwić hakerowi przechwycenie i ponowne wykorzystanie tego pliku lub przechwycenie aktywnej sesji. Dlatego sprawdzona metoda to włączenie tego ustawienia.

Aby ustawić flagę secure dla plików cookie Edge UI:

  1. Otwórz ten plik w edytorze tekstu:
    /opt/apigee/customer/application/ui.properties

    Jeśli plik nie istnieje, utwórz go.

  2. Ustaw właściwość conf_application_session.secure na true w pliku ui.properties jak w tym przykładzie:
    conf_application_session.secure=true
  3. Zapisz zmiany.
  4. Ponownie uruchom interfejs Edge przy użyciu narzędzia apigee-serice, jak pokazano w tym przykładzie:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Aby potwierdzić, że zmiana działa, sprawdź nagłówki odpowiedzi w interfejsie Edge za pomocą takiego narzędzia jak curl, na przykład:

curl -i -v https://edge_UI_URL

Nagłówek powinien zawierać wiersz podobny do tego:

Set-Cookie: secure; ...

Wyłącz TLS w interfejsie użytkownika Edge

Aby wyłączyć TLS w interfejsie użytkownika Edge, użyj tego polecenia:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl