Domyślnie uzyskujesz dostęp do interfejsu Edge 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 postaci:
https://ms_IP:9443
W tym przykładzie skonfigurujesz dostęp TLS tak, aby używał portu 9443. Ten numer portu nie jest jednak 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 pozwala skonfigurować protokół TLS tak, aby używał portu 9443 na serwerze zarządzania. Niezależnie od używanego portu musisz się upewnić, że port na serwerze zarządzania jest otwarty. 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 czynności opisane poniżej:
- Wygeneruj plik magazynu kluczy JKS 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 w przypadku usługi 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/conf
w węźle serwera zarządzania i zmienia własność pliku na „apigee”. - Wpisz hasło do magazynu kluczy w postaci zwykłego tekstu.
- Następnie skrypt ponownie uruchamia interfejs zarządzania Edge. Po ponownym uruchomieniu interfejs zarządzania będzie obsługiwał dostęp przez TLS.
Te ustawienia znajdziesz w
/opt/apigee/etc/edge-ui.d/SSL.sh
.
Konfigurowanie TLS za pomocą pliku konfiguracji
Zamiast opisanej powyżej procedury możesz przekazać plik konfiguracji do polecenia w kroku 2. Jeśli chcesz ustawić opcjonalne właściwości TLS, musisz użyć tej metody.
Aby użyć pliku konfiguracji, utwórz nowy plik i dodaj te właściwości:
HTTPSPORT=9443 DISABLE_HTTP=y # Set type to PKCS12 if you are using a PKCS12 keystore 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 skonfiguruj TLS za pomocą tego polecenia:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
gdzie configFile to pełna ścieżka do zapisanego pliku.
Korzystanie z klucza PKCS12 w systemach operacyjnych zgodnych z FIPS
Jeśli używasz Edge for Private Cloud w systemie operacyjnym obsługującym FIPS, musisz użyć magazynu kluczy PKCS12. Za pomocą standardowych poleceń OpenSSL możesz wygenerować magazyn kluczy PKCS12. Jeśli używasz magazynu kluczy PKCS12, ustaw KEY_ALGO=PKCS12
w pliku konfiguracji.
Konfigurowanie interfejsu Edge, gdy szyfrowanie TLS kończy się w systemie równoważenia obciążenia
Jeśli masz system równoważenia obciążenia, który przekierowuje żądania do interfejsu Edge użytkownika, możesz zakończyć połączenie TLS w systemie równoważenia obciążenia, a następnie ustawić przekierowanie przez system równoważenia obciążenia żądań do interfejsu Edge przez HTTP. Ta konfiguracja jest obsługiwana, ale musisz odpowiednio skonfigurować system równoważenia obciążenia oraz interfejs Edge.
Dodatkowa konfiguracja jest wymagana, gdy interfejs Edge wysyła e-maile z prośbą o ustawienie hasła po utworzeniu użytkownika lub gdy użytkownik poprosi o zresetowanie hasła. Ten e-mail zawiera adres URL, który użytkownik wybiera, aby ustawić lub zresetować hasło. 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, aby generował adres e-mail, który używa HTTPS.
Aby skonfigurować system równoważenia obciążenia, ustaw ten nagłówek w przypadku żądań przekazywanych do interfejsu Edge:
X-Forwarded-Proto: https
Aby skonfigurować interfejs Edge:
- 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
- Ustaw tę właściwość w obiekcie
ui.properties
:conf/application.conf+trustxforwarded=true
- Zapisz zmiany w pliku
ui.properties
. - Ponownie uruchom interfejs Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Ustawianie opcjonalnych właściwości TLS
Interfejs użytkownika Edge obsługuje opcjonalne właściwości konfiguracji TLS, które umożliwiają ustawienie tych opcji:
- Domyślny protokół TLS
- Lista obsługiwanych protokołów TLS
- Obsługiwane algorytmy TLS
- Obsługiwane szyfry TLS
Te parametry opcjonalne są dostępne tylko wtedy, gdy ustawisz tę właściwość konfiguracji w pliku konfiguracji zgodnie z opisem w artykule Konfigurowanie TLS za pomocą pliku konfiguracji:
TLS_CONFIGURE=y
Właściwości te zostały opisane w tej tabeli:
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\"] Pamiętaj, że musisz zmienić znaczenie znaku „.
Domyślnie wszystkie protokoły są włączone. |
TLS_DISABLED_ALGO
|
Określa wyłączone zestawy szyfrów i może być używany do zapobiegania używaniu małych rozmiarów kluczy do uzgadniania TLS. Nie ma wartości domyślnej. Wartości przekazywane do elementu
TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048 |
TLS_ENABLED_CIPHERS
|
Określa listę dostępnych szyfrów TLS jako tablicę rozdzieloną przecinkami. Na przykład: TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\", \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"] Pamiętaj, że musisz 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 szyfrów 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 za pomocą pliku konfiguracji w następujący sposób:
- Otwórz plik konfiguracyjny w edytorze.
- Aby wyłączyć pojedynczy protokół TLS, np. TLSv1.0, dodaj do pliku konfiguracji następujące ustawienie:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1"
Aby wyłączyć wiele protokołów, np. TLS 1.0 i TLS 1.1, dodaj do pliku konfiguracyjnego następujące ustawienia:
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 konfiguracyjnego.
- Uruchom ponownie interfejs Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Używanie bezpiecznych plików cookie
Apigee Edge for Private Cloud obsługuje dodawanie flagi secure
do nagłówka Set-Cookie
w odpowiedziach z interfejsu 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 nie ma takiej informacji, plik cookie może być wysyłany przez dowolny kanał, niezależnie od tego, czy jest bezpieczny.
Pliki cookie bez flagi secure
mogą umożliwiać atakującemu 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.properties
ustaw właściwośćconf_application_session.secure
natrue
, jak w tym przykładzie:conf_application_session.secure=true
- Zapisz zmiany.
- Uruchom ponownie interfejs Edge, używając 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 w interfejsie 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