Latihan - Mengonfigurasi kumpulan ujung belakang untuk enkripsi

Selesai

Anda ingin menerapkan enkripsi end-to-end untuk aplikasi shipping-portal. Mengenkripsi semua data antara pengguna dan server membantu memastikan bahwa tidak ada pengguna yang tidak sah yang dapat mencegat dan membaca data.

Di unit ini, Anda akan menyiapkan aplikasi web dan gateway aplikasi. Berikutnya, Anda akan membuat beberapa sertifikat SSL yang ditandatangani sendiri dan mengaktifkan enkripsi di kumpulan ujung belakang Anda untuk membantu mengamankan lalu lintas dari gateway aplikasi ke server Anda.

Gambar berikut menyoroti elemen yang Anda konfigurasi dalam latihan ini. Anda sedang menyiapkan gateway aplikasi dengan menggunakan Azure Application Gateway v2.

Diagram that highlights the elements (backend pool, SSL certificate, and HTTP settings) created in this exercise.

Sebarkan komputer virtual dan gateway aplikasi

  1. Buka Azure Cloud Shell di browser Anda dan masuk ke direktori dengan akses ke langganan tempat Anda ingin membuat sumber daya. Kita akan menggunakan lingkungan shell Bash untuk latihan ini.

  2. Menjalankan perintah berikut di Cloud Shell untuk membuat grup sumber daya untuk sumber daya Anda. Ganti <resource group name> dengan nama untuk grup sumber daya Anda, dan <location> dengan wilayah Azure tempat Anda ingin menerapkan sumber daya Anda.

    az group create --resource-group <resource group name> --location <location>
    
  3. Jalankan perintah berikut di Cloud Shell untuk membuat variabel untuk menyimpan nama grup sumber daya Anda:

    export rgName=<resource group name>
    
    
  4. Di Azure Cloud Shell, jalankan perintah berikut untuk mengunduh kode sumber untuk portal pengiriman:

    git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
    
  5. Pindah ke folder shippingportal :

    cd shippingportal
    
  6. Jalankan skrip penyiapan berikut untuk membuat komputer virtual, sertifikat, dan gateway aplikasi:

    bash setup-infra.sh
    

    Catatan

    Skrip ini akan membutuhkan beberapa menit untuk diselesaikan. Biarkan skrip bekerja melalui beberapa proses untuk mengeluarkan dan mengonfigurasi gateway dan sumber daya. Anda harus melihat bahwa proses tersebut berhasil tanpa peringatan dan kesalahan.

Pastikan bahwa server web dikonfigurasi dengan benar

  1. Jalankan perintah berikut untuk menampilkan URL server web yang dibuat skrip penyiapan.

    echo https://"$(az vm show \
      --name webservervm1 \
      --resource-group $rgName \
      --show-details \
      --query [publicIps] \
      --output tsv)"
    
  2. Salin dan tempel URL ke browser web Anda dan buka URL.

    Browser Anda kemungkinan besar akan menampilkan pesan peringatan yang mirip dengan gambar berikut. Konten tepatnya pada pesan peringatan dapat bervariasi, tergantung browser Anda. Contoh citra berasal dari Microsoft Edge.

    Screenshot of a warning about an unauthenticated server in Microsoft Edge.

    Peringatan ini terjadi karena server web dikonfigurasi melalui sertifikat yang ditandatangani sendiri yang tidak dapat diautentikasi. Pada halaman peringatan ini, cari dan pilih tautan untuk melanjutkan ke situs web; misalnya, pilih Buka halaman web atau pilih Tingkat Lanjut lalu Lanjutkan, atau yang setara. Hasilnya membawa Anda ke halaman beranda portal pengiriman, seperti yang ditunjukkan pada gambar berikut. Ini adalah contoh aplikasi untuk menguji bahwa server dikonfigurasi dengan benar.

    Screenshot of the shipping portal home page Microsoft Edge.

Konfigurasikan kumpulan ujung belakang untuk enkripsi

  1. Jalankan perintah berikut untuk mendapatkan alamat IP privat komputer virtual yang bertindak sebagai server web.

    echo privateip="$(az vm list-ip-addresses \
      --resource-group $rgName \
      --name webservervm1 \
      --query "[0].virtualMachine.network.privateIpAddresses[0]" \
      --output tsv)"
    
  2. Buat variabel untuk menyimpan alamat IP privat Anda. Ganti <privateIP> dengan alamat IP dari langkah sebelumnya.

    export privateip=<privateIP>
    
    
  3. Siapkan kumpulan backend untuk Application Gateway dengan menggunakan alamat IP privat komputer virtual.

    az network application-gateway address-pool create \
      --resource-group $rgName \
      --gateway-name gw-shipping \
      --name ap-backend \
      --servers $privateip
    
  4. Unggah sertifikat VM di kumpulan backend ke Application Gateway sebagai sertifikat akar tepercaya. Skrip penyiapan menghasilkan sertifikat ini dan menyimpannya dalam file 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
    
  5. Konfigurasikan pengaturan HTTP untuk menggunakan sertifikat:

    az network application-gateway http-settings create \
      --resource-group $rgName \
      --gateway-name gw-shipping \
      --name https-settings \
      --port 443 \
      --protocol Https \
      --host-name $privateip
    
  6. Jalankan perintah berikut untuk mengatur sertifikat tepercaya untuk kumpulan backend ke sertifikat yang diinstal pada VM backend:

    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"}]'
    

Anda sekarang memiliki komputer virtual yang menjalankan situs portal pengiriman, dan gateway aplikasi. Anda telah mengonfigurasi enkripsi SSL antara Azure Application Gateway dan server aplikasi Anda.