Konfigurowanie protokołu TLS w interfejsie zarządzania

Edge for Private Cloud w wersji 4.19.01

Domyślnie dostęp do interfejsu zarządzania brzegiem jest uzyskiwany przez HTTP przy użyciu adresu IP Węzeł serwera zarządzania i port 9000. Na przykład:

http://ms_IP:9000

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

https://ms_IP:9443

W tym przykładzie skonfigurujesz dostęp TLS tak, aby używał portu 9443. 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.

Sprawdź, czy port TLS jest otwarty

Procedura opisana w tej sekcji pozwala skonfigurować protokół TLS tak, aby używał portu 9443 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 9443 -j ACCEPT --verbose

Konfigurowanie TLS

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

  1. Wygeneruj plik JKS magazynu kluczy zawierający certyfikat TLS, klucz prywatny i kopię go do węzła serwera zarządzania. Więcej informacji znajdziesz w artykule Konfigurowanie TLS/SSL dla usługi Edge On.
  2. Uruchom to polecenie, aby skonfigurować TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Wpisz numer portu HTTPS, na przykład 9443.
  4. Określ, czy chcesz wyłączyć dostęp HTTP do interfejsu zarządzania. Domyślnie funkcja zarządzania Interfejs użytkownika 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ęzła serwera zarządzania i zmienia własność pliku na „apigee”.

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

    Możesz zobaczyć te ustawienia w aplikacji /opt/apigee/etc/edge-ui.d/SSL.sh.

Używanie pliku konfiguracyjnego do konfigurowania TLS

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

Aby użyć pliku konfiguracji, utwórz nowy plik i dodaj 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 lokalnym katalogu pod dowolną nazwą. Następnie użyj tego polecenia, aby skonfigurować TLS:

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

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

Konfigurowanie interfejsu Edge przy korzystaniu z protokołu TLS kończy się w systemie równoważenia obciążenia

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

Dodatkowa konfiguracja jest wymagana, gdy interfejs Edge wysyła użytkownikom e-maile w celu określenia ich po utworzeniu użytkownika lub po wysłaniu przez niego prośby o zresetowanie utraconego hasła. Ten e-mail zawiera 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 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 Edge tak, aby generowały adres e-mail wykorzystujący HTTPS.

Aby skonfigurować system równoważenia obciążenia, upewnij się, że w przypadku przekazywanych żądań ustawia ten nagłówek w interfejsie Edge:

X-Forwarded-Proto: https

Aby skonfigurować interfejs użytkownika Edge:

  1. Otwórz: /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 ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Zapisz zmiany na koncie ui.properties.
  4. Ponownie uruchom interfejs Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Ustawianie opcjonalnych właściwości TLS

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

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

Te opcjonalne parametry są dostępne tylko wtedy, gdy ustawisz tę właściwość konfiguracji w pliku konfiguracji, jak opisano w sekcji Użycie pliku konfiguracji do skonfigurowania TLS:

TLS_CONFIGURE=y

Te właściwości są opisane w poniższej tabeli:

Właściwość Opis
TLS_PROTOCOL Określa domyślny protokół TLS dla interfejsu Edge. Domyślnie jest to TLS 1.2. Prawidłowe wartości to TLSv1.2, TLSv1.1 i 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 musisz zmienić znaczenie elementu „ znaku.

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

TLS_DISABLED_ALGO

Definiuje wyłączone zestawy szyfrów i można go też używać do zapobiegania wykorzystywaniu małych kluczy używany do uzgadniania połączenia TLS. Nie ma wartości domyślnej.

Wartości przekazywane do funkcji TLS_DISABLED_ALGO odpowiadają dozwolonym wartościom dla jdk.tls.disabledAlgorithms, jak opisano tutaj. Należy jednak pamiętać, że w przypadku ustawienia TLS_DISABLED_ALGO należy stosować zmianę znaczenia znaków spacji:

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 musisz zmienić znaczenie elementu „ 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"

Znajdź listę dostępnych mechanizmów szyfrowania tutaj.

Wyłączanie protokołów TLS

Aby wyłączyć protokoły TLS, musisz zmodyfikować plik konfiguracyjny zgodnie z opisem w sekcji Przy konfigurowaniu protokołu TLS za pomocą pliku konfiguracji w następujący sposób:

  1. Otwórz plik konfiguracyjny w edytorze.
  2. Aby wyłączyć jeden protokół TLS, na przykład TLSv1.0, dodaj: do pliku konfiguracyjnego:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

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

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Zapisz zmiany w pliku konfiguracji.
  4. Uruchom to polecenie, aby skonfigurować TLS:
    /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 instancji z interfejsu Edge. Jeśli ta flaga jest obecna, plik cookie może być wysyłany tylko Kanały z włączonym protokołem TLS. Jeśli go nie ma, plik cookie może być wysłany przez dowolny kanał, niezależnie od tego, czy jest ona bezpieczna.

Pliki cookie bez flagi secure mogą potencjalnie umożliwiać osobie przeprowadzającej atak przechwytywanie ponownie użyć pliku cookie lub przejąć aktywną sesję. Dlatego warto włączyć tę opcję .

Aby ustawić flagę secure dotyczącą plików cookie interfejsu Edge:

  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 ui.properties tak 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 zgodnie z przykładem poniżej programy:
    /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ą polecenia narzędzie takie jak curl; np.:

curl -i -v https://edge_UI_URL

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

Set-Cookie: secure; ...

Wyłączenie TLS w interfejsie Edge

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

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