Mengonfigurasi TLS untuk aplikasi di Azure
Penting
Cloud Services (klasik) sekarang tidak digunakan lagi untuk semua pelanggan per 1 September 2024. Setiap penyebaran yang sedang berjalan akan dihentikan dan dimatikan oleh Microsoft dan data akan hilang secara permanan mulai Oktober 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 menggunakan penyebaran penahapan disediakan di akhir artikel ini.
Baca Cara membuat dan menyebarkan Azure Cloud Service (klasik) terlebih dahulu jika Anda belum membuat layanan cloud.
Langkah 1: Dapatkan sertifikat TLS/SSL
Untuk mengonfigurasi TLS untuk aplikasi, Anda harus terlebih dahulu mendapatkan sertifikat TLS/SSL yang ditandatangani oleh Otoritas Sertifikat (CA), mitra 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.
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 mendefinisikan 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. 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>
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 file definisi layanan selesai, tetapi Anda masih perlu menambahkan informasi sertifikat ke file konfigurasi layanan.
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 Anda memperbarui definisi layanan dan file konfigurasi layanan, kemas penyebaran Anda untuk diunggah ke Azure. Jika Anda menggunakan cspack, jangan gunakan bendera /generateConfigurationFile , karena itu menimpa informasi sertifikat yang Anda sisipkan.
Langkah 3: Mengunggah sertifikat
Sambungkan ke Portal Microsoft Azure dan...
Di bagian Semua sumber daya Portal, pilih layanan awan Anda.
Pilih Sertifikat.
Pilih Unggah di bagian atas area sertifikat.
Berikan File, Kata Sandi, lalu pilih 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.
Pilih URL Situs untuk membuka browser web.
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.)
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
- Konfigurasi umum layanan cloud Anda.
- Mempelajari cara menerapkan layanan cloud.
- Mengonfigurasi nama domain kustom.
- Mengelola layanan cloud.