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:
- 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.
- Aby skonfigurować protokół TLS, uruchom to polecenie:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- Wpisz numer portu HTTPS, np. 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 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:
- 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 zasadzie
ui.properties
:conf/application.conf+trustxforwarded=true
- Zapisz zmiany w usłudze
ui.properties
. - 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=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:
- Otwórz plik konfiguracji w edytorze.
- 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"
- Zapisz zmiany w pliku konfiguracyjnym.
- 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.
- 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:
- Otwórz ten plik w edytorze tekstu:
/opt/apigee/customer/application/ui.properties
Jeśli plik nie istnieje, utwórz go.
- Ustaw właściwość
conf_application_session.secure
natrue
w plikuui.properties
jak w tym przykładzie:conf_application_session.secure=true
- Zapisz zmiany.
- 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