Domyślnie dostęp do interfejsu Edge UI uzyskujesz przez HTTP, używając 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 Edge, aby uzyskać do niego dostęp w tej postaci:
https://ms_IP:9443
W tym przykładzie skonfigurujesz dostęp TLS do korzystania z portu 9443. 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.
Sprawdź, czy port TLS jest otwarty
Procedura opisana w tej sekcji konfiguruje protokół TLS do używania portu 9443 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 9443 -j ACCEPT --verbose
Konfigurowanie TLS
Aby skonfigurować dostęp TLS do interfejsu zarządzania, wykonaj te czynności:
- 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 TLS/SSL dla Edge On Premises.
- Aby skonfigurować TLS, uruchom to polecenie:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- Wpisz numer portu HTTPS, na przykład 9443.
- 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.
- Wpisz algorytm magazynu kluczy. Wartość domyślna to JKS.
- Wpisz ścieżkę bezwzględną do pliku JKS magazynu kluczy.
Skrypt kopiuje plik do katalogu
/opt/apigee/customer/confw węźle serwera zarządzania i zmienia właściciela pliku na „apigee”. - Wpisz hasło magazynu kluczy w postaci zwykłego tekstu.
- Następnie skrypt ponownie uruchamia interfejs zarządzania Edge. Po ponownym uruchomieniu interfejs zarządzania obsługuje dostęp przez TLS.
Te ustawienia możesz zobaczyć w
/opt/apigee/etc/edge-ui.d/SSL.sh.
Konfigurowanie TLS za pomocą pliku konfiguracji
Zamiast powyższej procedury możesz przekazać plik konfiguracji do polecenia w kroku 2. Musisz użyć tej metody, jeśli chcesz ustawić 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 katalogu lokalnym 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, gdy protokół TLS kończy się na systemie równoważenia obciążenia
Jeśli masz system równoważenia obciążenia, który przekazuje żądania do interfejsu Edge, możesz zakończyć połączenie TLS w systemie równoważenia obciążenia, a następnie przekazywać żądania do interfejsu Edge przez HTTP. Ta konfiguracja jest obsługiwana, ale musisz odpowiednio skonfigurować system równoważenia obciążenia i interfejs Edge.
Dodatkowa konfiguracja jest wymagana, gdy interfejs Edge wysyła użytkownikom e-maile z prośbą o ustawienie hasła po utworzeniu konta lub gdy użytkownik prosi 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 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 Edge, aby generować adres e-mail korzystający z HTTPS.
Aby skonfigurować system równoważenia obciążenia, upewnij się, że ustawia on ten nagłówek w żądaniach przekazywanych do interfejsu Edge:
X-Forwarded-Proto: https
Aby skonfigurować interfejs Edge:
- Otwórz plik
/opt/apigee/customer/application/ui.propertiesw edytorze. Jeśli plik nie istnieje, utwórz go:vi /opt/apigee/customer/application/ui.properties
- Ustaw tę właściwość w pliku
ui.properties:conf/application.conf+trustxforwarded=true
- Zapisz zmiany w
ui.properties. - 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, których możesz użyć do ustawienia tych elementów:
- 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 w pliku konfiguracji ustawisz tę właściwość konfiguracji, zgodnie z opisem w artykule Używanie pliku konfiguracji do konfigurowania TLS:
TLS_CONFIGURE=y
W tabeli poniżej opisujemy te właściwości:
| 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, TLSv1. |
TLS_ENABLED_PROTOCOL
|
Definiuje listę włączonych protokołów jako tablicę rozdzielaną przecinkami. Na przykład: TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] Zwróć uwagę, że musisz użyć znaku ucieczki przed znakiem „.
Domyślnie wszystkie protokoły są włączone. |
TLS_DISABLED_ALGO
|
Definiuje wyłączone zestawy szyfrów i może być też używane do zapobiegania używaniu małych rozmiarów kluczy do uzgadniania połączenia TLS. Nie ma wartości domyślnej. Wartości przekazywane do
TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048 |
TLS_ENABLED_CIPHERS
|
Definiuje listę dostępnych szyfrów TLS jako tablicę rozdzielaną 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 użyć znaku ucieczki przed znakiem „.
Domyślna lista włączonych mechanizmów szyfrowania: "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 konfiguracji opisany w sekcji Konfigurowanie TLS przy użyciu pliku konfiguracji w następujący sposób:
- Otwórz plik konfiguracji w edytorze.
- Aby wyłączyć pojedynczy protokół TLS, na przykład TLSv1.0, dodaj do pliku konfiguracji ten wiersz:
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 informacje:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
- Zapisz zmiany w pliku konfiguracji.
- Aby skonfigurować 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 konfiguracji.
- Ponownie uruchom interfejs Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Używanie bezpiecznych plików cookie
Apigee Edge dla chmury prywatnej obsługuje dodawanie flagi secure do nagłówka Set-Cookie w przypadku odpowiedzi z interfejsu Edge. Jeśli ta flaga jest obecna, plik cookie może być wysyłany tylko przez kanały z włączonym protokołem TLS. Jeśli go nie ma, plik cookie może zostać wysłany dowolnym kanałem, niezależnie od tego, czy jest on bezpieczny.
Pliki cookie bez flagi secure mogą potencjalnie umożliwić hakerowi przechwycenie i ponowne użycie pliku cookie lub przejęcie aktywnej sesji. Dlatego zalecamy włączenie tego ustawienia.
Aby ustawić flagę secure dla plików cookie interfejsu Edge:
- Otwórz ten plik w edytorze tekstu:
/opt/apigee/customer/application/ui.properties
Jeśli plik nie istnieje, utwórz go.
- W pliku
ui.propertiesustaw właściwośćconf_application_session.securenatrue, jak w tym przykładzie:conf_application_session.secure=true
- Zapisz zmiany.
- Uruchom ponownie interfejs Edge za pomocą narzędzia
apigee-serice, jak pokazano w tym przykładzie:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Aby sprawdzić, czy zmiana działa, sprawdź nagłówki odpowiedzi z interfejsu Edge za pomocą narzędzia takiego jak curl, na przykład:
curl -i -v https://edge_UI_URL
Nagłówek powinien zawierać wiersz podobny do tego:
Set-Cookie: secure; ...
Wyłączanie 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