Ćwiczenie — konfigurowanie pul zaplecza na potrzeby szyfrowania
Chcesz zaimplementować kompleksowe szyfrowanie dla aplikacji portalu wysyłkowego. Szyfrowanie wszystkich danych między użytkownikami i serwerami pomaga zapewnić, że żaden nieautoryzowany użytkownik nie może przechwycić i odczytać danych.
W trakcie tej lekcji skonfigurujesz aplikację internetową oraz bramę aplikacji. Następnie utworzysz kilka certyfikatów SSL z podpisem własnym i włączysz szyfrowanie w puli zaplecza w celu zabezpieczenia ruchu od bramy aplikacji do serwerów.
Na poniższej ilustracji przedstawiono elementy skonfigurowane w tym ćwiczeniu. Konfigurujesz bramę aplikacji przy użyciu usługi aplikacja systemu Azure Gateway w wersji 2.
Wdrażanie maszyny wirtualnej i bramy aplikacji
Otwórz usługę Azure Cloud Shell w przeglądarce i zaloguj się do katalogu z dostępem do subskrypcji, w której chcesz utworzyć zasoby. W tym ćwiczeniu użyjemy środowiska powłoki Bash.
Uruchom następujące polecenie w usłudze Cloud Shell, aby utworzyć grupę zasobów dla zasobów. Zastąp
<resource group name>
ciąg nazwą grupy zasobów i<location>
regionem świadczenia usługi Azure, w którym chcesz wdrożyć zasoby.az group create --resource-group <resource group name> --location <location>
Uruchom następujące polecenie w usłudze Cloud Shell, aby utworzyć zmienną do przechowywania nazwy grupy zasobów:
export rgName=<resource group name>
W usłudze Azure Cloud Shell uruchom następujące polecenie, aby pobrać kod źródłowy portalu wysyłkowego:
git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
Przejdź do folderu shippingportal :
cd shippingportal
Uruchom następujący skrypt instalacyjny, aby utworzyć maszynę wirtualną, certyfikaty i bramę aplikacji:
bash setup-infra.sh
Uwaga
Ukończenie tego skryptu trwa kilka minut. Zezwól na pracę z wieloma procesami w celu rozpakowywania i konfigurowania bramy i zasobów. Powinien zostać wyświetlony komunikat, że proces zakończył się pomyślnie z zerowymi ostrzeżeniami i zerowymi błędami.
Sprawdzanie, czy serwer internetowy jest skonfigurowany poprawnie
Uruchom następujące polecenie, aby wyświetlić adres URL serwera internetowego utworzonego przez skrypt konfiguracji.
echo https://"$(az vm show \ --name webservervm1 \ --resource-group $rgName \ --show-details \ --query [publicIps] \ --output tsv)"
Skopiuj i wklej adres URL w przeglądarce internetowej i przejdź do adresu URL.
Przeglądarka najprawdopodobniej wyświetli komunikat ostrzegawczy podobny do poniższego obrazu. Dokładna zawartość komunikatu ostrzegawczego może się różnić w zależności od przeglądarki. Przykładowy obraz pochodzi z przeglądarki Microsoft Edge.
To ostrzeżenie jest wyświetlane, ponieważ serwer internetowy został skonfigurowany przy użyciu certyfikatu z podpisem własnym, który nie może zostać uwierzytelniony. Na tej stronie ostrzeżenia wyszukaj i wybierz link, aby przejść do witryny internetowej; na przykład wybierz pozycję Przejdź do strony internetowej lub wybierz pozycję Zaawansowane , a następnie kontynuuj lub równoważne. Wynik spowoduje przejście do strony głównej portalu wysyłkowego, jak pokazano na poniższej ilustracji. Jest to przykładowa aplikacja do testowania, czy serwer jest poprawnie skonfigurowany.
Konfigurowanie puli zaplecza pod kątem szyfrowania
Uruchom następujące polecenie, aby uzyskać prywatny adres IP maszyny wirtualnej, która pełni rolę serwera internetowego.
echo privateip="$(az vm list-ip-addresses \ --resource-group $rgName \ --name webservervm1 \ --query "[0].virtualMachine.network.privateIpAddresses[0]" \ --output tsv)"
Utwórz zmienną do przechowywania prywatnego adresu IP. Zastąp
<privateIP>
ciąg adresem IP z poprzedniego kroku.export privateip=<privateIP>
Skonfiguruj pulę zaplecza dla usługi Application Gateway przy użyciu prywatnego adresu IP maszyny wirtualnej.
az network application-gateway address-pool create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name ap-backend \ --servers $privateip
Przekaż certyfikat maszyny wirtualnej w puli zaplecza do usługi Application Gateway jako zaufany certyfikat główny. Skrypt instalacyjny wygenerował ten certyfikat i przechowywał go w pliku shipping-ssl.crt .
az network application-gateway root-cert create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name shipping-root-cert \ --cert-file server-config/shipping-ssl.crt
Skonfiguruj ustawienia PROTOKOŁU HTTP do używania certyfikatu:
az network application-gateway http-settings create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --port 443 \ --protocol Https \ --host-name $privateip
Uruchom następujące polecenia, aby ustawić zaufany certyfikat dla puli zaplecza na certyfikat zainstalowany na maszynie wirtualnej zaplecza:
export rgID="$(az group show --name $rgName --query id --output tsv)" az network application-gateway http-settings update \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --set trustedRootCertificates='[{"id": "'$rgID'/providers/Microsoft.Network/applicationGateways/gw-shipping/trustedRootCertificates/shipping-root-cert"}]'
Masz teraz maszynę wirtualną z witryną portalu wysyłkowego oraz bramę aplikacji. Masz też skonfigurowane szyfrowanie SSL pomiędzy usługą Application Gateway a serwerem internetowym.