Mengonfigurasi TLS untuk aplikasi di Azure

Penting

Cloud Services (klasik) sekarang tidak lagi digunakan untuk pelanggan baru dan akan dihentikan untuk semua pelanggan pada 31 Agustus 2024. Penyebaran baru sebaiknya menggunakan Azure Resource Manager yang baru berdasarkan model penyebaran Azure Cloud Services (dukungan tambahan) .

Transport Layer Security (TLS), sebelumnya dikenal sebagai enkripsi Secure Socket Layer (SSL), adalah metode yang paling umum digunakan untuk mengamankan data yang dikirim melalui internet. Tugas umum ini membahas cara menentukan titik akhir HTTPS untuk peran web dan cara mengunggah sertifikat TLS/SSL untuk mengamankan aplikasi Anda.

Catatan

Prosedur dalam tugas ini berlaku untuk Azure Cloud Services; untuk App Services, lihat ini.

Tugas ini menggunakan penyebaran produksi. Informasi tentang penggunaan penyebaran pementasan disediakan di akhir topik ini.

Baca ini terlebih dahulu jika Anda belum membuat layanan awan.

Langkah 1: Dapatkan sertifikat TLS/SSL

Untuk mengonfigurasi TLS untuk aplikasi, Pertama-tama Anda harus mendapatkan sertifikat TLS/SSL yang telah ditandatangani oleh Otoritas Sertifikat (CA), pihak ketiga tepercaya yang mengeluarkan sertifikat untuk tujuan ini. Jika Anda belum memilikinya, Anda perlu mendapatkannya dari perusahaan yang menjual sertifikat TLS/SSL.

Sertifikat harus memenuhi persyaratan berikut untuk sertifikat TLS /SSL di Azure:

  • Sertifikat harus memuat kunci privat.
  • Sertifikat harus dibuat untuk pertukaran kunci, dapat diekspor ke file Pertukaran Informasi Pribadi (.pfx).
  • Bagaimanapun, nama subjek sertifikat harus cocok dengan domain yang Anda gunakan untuk mengakses layanan awan. Anda tidak dapat memperoleh sertifikat TLS/SSL dari otoritas sertifikat (CA) untuk domain cloudapp.net. Anda harus memperoleh nama domain kustom untuk digunakan saat mengakses layanan Anda. Saat Anda meminta sertifikat dari CA, nama subjek sertifikat harus cocok dengan nama domain kustom yang Anda gunakan untuk klaster Anda. Misalnya, jika nama domain kustomnya contoso.com, Anda akan meminta sertifikat dari CA untuk *.contoso.com atau www.contoso.com.
  • Sertifikat harus menggunakan minimal enkripsi 2048-bit.

Untuk tujuan pengujian, Anda dapat membuat dan menggunakan sertifikat yang ditandatangani sendiri. Sertifikat yang ditandatangani sendiri tidak diautentikasi melalui CA dan dapat menggunakan domain cloudapp.net sebagai URL situs web. Misalnya, tugas berikut menggunakan sertifikat yang ditandatangani sendiri di mana nama umum (CN) yang digunakan dalam sertifikat sslexample.cloudapp.net.

Selanjutnya, Anda harus menyertakan informasi tentang sertifikat dalam definisi layanan dan file konfigurasi layanan Anda.

Langkah 2: Memodifikasi definisi layanan dan file konfigurasi

Aplikasi Anda harus dikonfigurasi untuk menggunakan sertifikat, dan titik akhir HTTPS harus ditambahkan. Akibatnya, definisi layanan dan file konfigurasi layanan perlu diperbarui.

  1. Di lingkungan pengembangan Anda, buka file definisi layanan (CSDEF), tambahkan bagianSertifikat di dalam bagian WebRole, dan sertakan informasi berikut tentang sertifikat (dan sertifikat menengah):

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Certificates>
            <Certificate name="SampleCertificate"
                        storeLocation="LocalMachine"
                        storeName="My"
                        permissionLevel="limitedOrElevated" />
            <!-- IMPORTANT! Unless your certificate is either
            self-signed or signed directly by the CA root, you
            must include all the intermediate certificates
            here. You must list them here, even if they are
            not bound to any endpoints. Failing to list any of
            the intermediate certificates may cause hard-to-reproduce
            interoperability problems on some clients.-->
            <Certificate name="CAForSampleCertificate"
                        storeLocation="LocalMachine"
                        storeName="CA"
                        permissionLevel="limitedOrElevated" />
        </Certificates>
    ...
    </WebRole>
    

    Bagian Sertifikat menentukan nama sertifikat kami, lokasinya, dan nama toko tempat sertifikat berada.

    Izin (atribut permissionLevel) dapat diatur ke salah satu nilai berikut:

    Nilai Izin Deskripsi
    limitedOrElevated (Default) Semua proses peran dapat mengakses kunci pribadi.
    ditinggikan Hanya proses yang ditinggikan yang dapat mengakses kunci pribadi.
  2. Dalam file definisi layanan Anda, tambahkan elemen InputEndpoint di dalam bagian Endpoints untuk mengaktifkan HTTPS:

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Endpoints>
            <InputEndpoint name="HttpsIn" protocol="https" port="443"
                certificate="SampleCertificate" />
        </Endpoints>
    ...
    </WebRole>
    
  3. Dalam file definisi layanan Anda, tambahkan elemen Pengikatan di dalam bagian Situs. Elemen ini menambahkan pengikatan HTTPS untuk memetakan titik akhir ke situs Anda:

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Sites>
            <Site name="Web">
                <Bindings>
                    <Binding name="HttpsIn" endpointName="HttpsIn" />
                </Bindings>
            </Site>
        </Sites>
    ...
    </WebRole>
    

    Semua perubahan yang diperlukan pada berkas definisi layanan telah selesai; tetapi, Anda masih perlu menambahkan informasi sertifikat ke file konfigurasi layanan.

  4. Dalam file konfigurasi layanan (CSCFG), ServiceConfiguration.Cloud.cscfg, tambahkan nilai Sertifikat dengan sertifikat Anda. Contoh kode berikut ini menyediakan detail bagian Sertifikat, kecuali untuk nilai cap jempol.

    <Role name="Deployment">
    ...
        <Certificates>
            <Certificate name="SampleCertificate"
                thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff"
                thumbprintAlgorithm="sha1" />
            <Certificate name="CAForSampleCertificate"
                thumbprint="79d4c38de50e6316ff9427befa18ec6865a9ebdc"
                thumbprintAlgorithm="sha1" />
        </Certificates>
    ...
    </Role>
    

(Contoh ini menggunakan sha1 untuk algoritma thumbprint. Tentukan nilai yang sesuai untuk algoritma thumbprint sertifikat Anda.)

Sekarang setelah definisi layanan dan file konfigurasi layanan telah diperbarui, ke paket penyebaran Anda untuk diunggah ke Azure. Jika Anda menggunakan cspack, jangan gunakan bendera /generateConfigurationFile, karena itu akan menimpa informasi sertifikat yang baru saja Anda sisipkan.

Langkah 3: Mengunggah sertifikat

Sambungkan ke Portal Microsoft Azure dan...

  1. Di bagian Semua sumber daya Portal, pilih layanan awan Anda.

    Terbitkan layanan awan Anda

  2. Klik Sertifikat.

    Klik ikon sertifikat

  3. Klik Unggah di bagian atas area sertifikat.

    Klik item menu Unggah

  4. Berikan File, Kata Sandi, lalu klik Unggah di bagian bawah area entri data.

Langkah 4: Menyambungkan ke instans peran dengan menggunakan HTTPS

Sekarang setelah penyebaran Anda aktif dan berjalan di Azure, Anda dapat menyambungkannya menggunakan HTTPS.

  1. Klik URL Situs untuk membuka browser web.

    Klik URL Situs

  2. Di browser web Anda, ubah tautan untuk menggunakan https alih-alih http, lalu kunjungi halaman.

    Catatan

    Jika Anda menggunakan sertifikat yang ditandatangani sendiri, saat Anda menelusuri ke titik akhir HTTPS yang terkait dengan sertifikat yang ditandatangani sendiri, Anda mungkin melihat kesalahan sertifikat di browser. Menggunakan sertifikat yang ditandatangani oleh otoritas sertifikasi tepercaya menghilangkan masalah ini; sementara itu, Anda dapat mengabaikan kesalahan. (Opsi lain adalah menambahkan sertifikat yang ditandatangani sendiri ke penyimpanan sertifikat otoritas sertifikat tepercaya pengguna.)

    Pratinjau situs

    Tip

    Jika Anda ingin menggunakan TLS untuk penyebaran pementasan, bukan penyebaran produksi, Anda harus terlebih dahulu menentukan URL yang digunakan untuk penyebaran pementasan. Setelah layanan awan Anda diterapkan, URL ke lingkungan pementasan ditentukan oleh GUID ID Penyebaran dalam format ini: https://deployment-id.cloudapp.net/

    Membuat sertifikat dengan nama umum (CN) sama dengan URL berbasis GUID (misalnya, 328187776e774ceda8fc57609d404462.cloudapp.net). Gunakan portal untuk menambahkan sertifikat ke layanan awan tahapan Anda. Kemudian, tambahkan informasi sertifikat ke file CSDEF dan CSCFG Anda, kemas ulang aplikasi Anda, dan perbarui penyebaran yang dipentaskan untuk menggunakan paket baru.

Langkah berikutnya