Konfigurowanie pul zaplecza na potrzeby szyfrowania

Ukończone

Pula zaplecza zawiera serwery, które wdrażają aplikację. Usługa Azure Application Gateway kieruje żądania do tych serwerów i może równoważyć obciążenie ruchu między wszystkimi serwerami.

W portalu wysyłkowym serwery aplikacji w puli zaplecza muszą korzystać z protokołu SSL do szyfrowania danych przesyłanych pomiędzy usługą Application Gateway a serwerami w puli zaplecza. Usługa Application Gateway korzysta z certyfikatu SSL z kluczem publicznym, aby szyfrować dane. Serwery korzystają z odpowiedniego klucza prywatnego, aby odszyfrowywać dane po ich odebraniu. W tej lekcji dowiesz się, jak utworzyć pulę zaplecza i zainstalować niezbędne certyfikaty w usłudze Application Gateway. Te certyfikaty pomagają chronić komunikaty wysyłane do i z puli zaplecza.

Szyfrowanie między usługą Application Gateway a pulą zaplecza

Pula zaplecza może odwoływać się do pojedynczych maszyn wirtualnych, zestawu skalowania maszyn wirtualnych, adresów IP rzeczywistych komputerów (lokalnych lub zdalnych) lub usług hostowanych przez usługę Azure App Service. Wszystkie serwery w puli zaplecza należy skonfigurować w taki sam sposób, łącznie z ich ustawieniami zabezpieczeń.

Diagram showing how Application Gateway routes a request to a web server.

Jeśli ruch kierowany do puli zaplecza jest chroniony przez protokół SSL, to każdy serwer w puli zaplecza musi przedstawić odpowiedni certyfikat. W celach testowych możesz utworzyć certyfikat z podpisem własnym. W środowisku produkcyjnym zawsze należy wygenerować lub kupić certyfikat, który może zostać uwierzytelniony przez urząd certyfikacji.

Obecnie istnieją dwie wersje usługi Application Gateway: wersja 1 i wersja 2. Mają podobne możliwości, ale mają nieco inne szczegóły implementacji. Wersja 2 zapewnia więcej funkcji i ulepszeń wydajności.

Konfiguracja certyfikatu w usłudze Application Gateway w wersji 1

Usługa Application Gateway w wersji 1 wymaga zainstalowania certyfikatu uwierzytelniania dla serwerów w konfiguracji bramy. Ten certyfikat zawiera klucz publiczny używany przez usługę Application Gateway do szyfrowania komunikatów i uwierzytelniania serwerów. Możesz utworzyć ten certyfikat, eksportując go z serwera. Serwer aplikacji używa odpowiedniego klucza prywatnego w celu odszyfrowania tych komunikatów. Klucz prywatny powinien być przechowywany wyłącznie na serwerach aplikacji.

Możesz dodać certyfikat uwierzytelniania do usługi Application Gateway, używając polecenia az network application-gateway auth-cert create w interfejsie wiersza polecenia platformy Azure. Poniższy przykład ilustruje składnię tego polecenia. Certyfikat powinien być w formacie CER.

az network application-gateway auth-cert create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <certificate name> \
    --cert-file <path to authentication certificate>

Usługa Application Gateway udostępnia inne polecenia, których można użyć do wyświetlania listy certyfikatów uwierzytelniania i zarządzania nimi. Na przykład:

  • Polecenie az network application-gateway auth-cert list wyświetla zainstalowane certyfikaty.
  • Możesz użyć az network application-gateway auth-cert update polecenia , aby zmienić certyfikat.
  • Polecenie az network application-gateway auth-cert delete usuwa certyfikat.

Konfigurowanie certyfikatu w usłudze Application Gateway w wersji 2

Usługa Application Gateway w wersji 2 ma nieco inne wymagania związane z uwierzytelnianiem. Należy przedstawić certyfikat urzędu certyfikacji, który został użyty do uwierzytelnienia certyfikatu SSL dla serwerów w puli zaplecza. Należy dodać ten certyfikat jako zaufany certyfikat główny w usłudze Application Gateway. Użyj polecenia az network application-gateway root-cert create w interfejsie wiersza polecenia platformy Azure.

az network application-gateway root-cert create \
      --resource-group <resource group name> \
      --gateway-name <application gateway name> \
      --name <certificate name> \
      --cert-file <path to trusted CA certificate>

Jeśli serwery używają certyfikatu z podpisem własnym, dodaj ten certyfikat jako zaufany certyfikat główny w usłudze Application Gateway.

Ustawienia protokołu HTTP

Usługa Application Gateway używa reguły do określania sposobu kierowania komunikatów odbieranych na porcie przychodzącym do serwerów w puli zaplecza. Jeśli serwery używają protokołu SSL, należy skonfigurować regułę, która wskazuje:

  • Serwery oczekują ruchu za pośrednictwem protokołu HTTPS.
  • którego certyfikatu użyć do szyfrowania ruchu i uwierzytelniania połączenia z serwerem.

Te informacje o konfiguracji należy zdefiniować przy użyciu ustawień protokołu HTTP.

Ustawienie HTTP można zdefiniować przy użyciu az network application-gateway http-settings create polecenia w interfejsie wiersza polecenia platformy Azure. W poniższym przykładzie pokazano składnię umożliwiającą utworzenie ustawienia, które kieruje ruch przy użyciu protokołu HTTPS do portu 443 na serwerach w puli zaplecza. Jeśli korzystasz z usługi Application Gateway w wersji 1, parametr --auth-certs to nazwa certyfikatu uwierzytelniania, który wcześniej dodano do usługi Application Gateway.

az network application-gateway http-settings create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <HTTPS settings name> \
    --port 443 \
    --protocol Https \
    --auth-certs <certificate name>

Jeśli korzystasz z usługi Application Gateway w wersji 2, pomiń parametr --auth-certs. Usługa Application Gateway kontaktuje się z serwerem zaplecza. Sprawdza autentyczność certyfikatu przedstawionego przez serwer, korzystając z urzędów certyfikacji określonych na liście zaufanych certyfikatów głównych. Jeśli nie zostanie on odnaleziony, usługa Application Gateway nie nawiąże połączenia z serwerem zaplecza i operacja zakończy się błędem HTTP 502 (Zła brama).