Domyślnie dostęp do interfejsu Edge 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 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 wymagany przez Edge – możesz skonfigurować serwer zarządzający tak, aby używał innych wartości portu. 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 tego, którego portu używasz, musisz się upewnić, że jest on otwarty na serwerze zarządzania. 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:
- 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 dla usługi Edge On.
- Uruchom to polecenie, aby skonfigurować TLS:
/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ęzła 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.
Możesz zobaczyć te ustawienia w aplikacji
/opt/apigee/etc/edge-ui.d/SSL.sh
.
Używanie pliku konfiguracyjnego do konfigurowania TLS
Zamiast powyższej procedury możesz przekazać do polecenia plik konfiguracyjny kroku 2 procedury. 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.
Używanie magazynu kluczy PKCS12 w systemach operacyjnych obsługujących FIPS
Jeśli używasz Edge for Private Cloud w systemie operacyjnym obsługującym FIPS, musisz użyć repozytorium kluczy PKCS12. Za pomocą standardowych poleceń OpenSSL możesz wygenerować magazyn kluczy PKCS12. Jeśli używasz magazynu kluczy PKCS12, w pliku konfiguracji ustaw wartość KEY_ALGO=PKCS12
.
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, możesz zakończyć połączenie TLS w systemie równoważenia obciążenia, a następnie przekierować żądania 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 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. Jeśli interfejs Edge nie jest skonfigurowany do używania TLS, domyślnie 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, upewnij się, że ustawia on ten nagłówek w żądaniach przekierowanych do interfejsu Edge:
X-Forwarded-Proto: https
Aby skonfigurować interfejs Edge:
- 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
- Ustaw tę właściwość w
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 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 konfiguracyjnym, jak opisano w Konfigurowanie TLS przy użyciu pliku konfiguracji:
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 użytkownika Edge. Domyślnie jest to TLS 1.2. Prawidłowe wartości to TLSv1.2, TLSv1.1 i TLSv1. |
TLS_ENABLED_PROTOCOL
|
Określa listę włączonych protokołów jako tablicę rozdzieloną przecinkami. Na przykład: TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] Pamiętaj, że musisz zmienić znaczenie znaku „.
Domyślnie włączone są wszystkie protokoły. |
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 funkcji
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\"] Pamiętaj, że musisz zmienić znaczenie znaku „.
Domyślna lista włączonych szyfrów: "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 Przy konfigurowaniu protokołu TLS za pomocą pliku konfiguracji w następujący sposób:
- Otwórz plik konfiguracji w edytorze.
- 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"
- 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.
- Ponownie uruchom 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 ten parametr jest obecny, plik cookie może być wysyłany tylko przez kanały obsługujące protokół 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żliwić atakującym przechwycenie
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:
- 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
wui.properties
tak jak w tym przykładzie:conf_application_session.secure=true
- Zapisz zmiany.
- 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 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łą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