Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan persyaratan sertifikat untuk SQL Server dan cara memeriksa apakah sertifikat memenuhi persyaratan ini.
Persyaratan sertifikat untuk enkripsi SQL Server
Untuk menggunakan Keamanan Lapisan Transportasi (TLS) untuk enkripsi SQL Server, Anda perlu menyediakan sertifikat (salah satu dari tiga jenis digital) yang memenuhi kondisi berikut:
Sertifikat harus berada di penyimpanan sertifikat komputer lokal atau penyimpanan sertifikat akun layanan SQL Server. Kami merekomendasikan penyimpanan sertifikat komputer lokal karena menghindari konfigurasi ulang sertifikat dengan perubahan akun startup SQL Server.
Akun layanan SQL Server harus memiliki izin yang diperlukan untuk mengakses sertifikat TLS. Untuk informasi selengkapnya, lihat Mengenkripsi koneksi ke SQL Server dengan mengimpor sertifikat.
Waktu sistem saat ini harus setelah nilai properti Valid dari dan sebelum nilai properti Valid ke sertifikat. Untuk informasi selengkapnya, lihat Sertifikat Kedaluwarsa.
Nota
Sertifikat harus dimaksudkan untuk autentikasi server. Ini memerlukan properti Penggunaan Kunci yang Ditingkatkan dari sertifikat untuk menentukan Autentikasi Server (1.3.6.1.5.5.7.3.1).
Sertifikat harus dibuat menggunakan opsi
KeySpecdariAT_KEYEXCHANGE. Ini memerlukan sertifikat yang menggunakan Penyedia Penyimpanan Kriptografi warisan untuk menyimpan kunci privat. Biasanya, properti penggunaan kunci sertifikat (KEY_USAGE) juga menyertakan tanda tangan digital dan pengacakan kunci (CERT_KEY_ENCIPHERMENT_KEY_USAGE).Nama Alternatif Subjek harus menyertakan semua nama yang mungkin digunakan klien Anda untuk menyambungkan ke instans SQL Server.
Klien harus dapat memverifikasi kepemilikan sertifikat yang digunakan oleh server. Jika klien memiliki sertifikat kunci publik dari otoritas sertifikasi yang menandatangani sertifikat server, tidak ada konfigurasi lebih lanjut yang diperlukan. Microsoft Windows menyertakan sertifikat kunci publik dari banyak otoritas sertifikasi. Jika sertifikat server ditandatangani oleh otoritas sertifikasi publik atau privat yang kliennya tidak memiliki sertifikat kunci publik, Anda harus menginstal sertifikat kunci publik otoritas sertifikasi yang menandatangani sertifikat server pada setiap klien yang akan terhubung ke SQL Server.
Penting
SQL Server tidak akan dimulai jika sertifikat ada di penyimpanan komputer, tetapi hanya memenuhi beberapa persyaratan dalam daftar di atas dan jika dikonfigurasi secara manual untuk digunakan oleh SQL Server Configuration Manager atau melalui entri registri. Pilih sertifikat lain yang memenuhi semua persyaratan atau hapus sertifikat agar tidak digunakan oleh SQL Server hingga Anda dapat menyediakan sertifikat yang memenuhi persyaratan atau menggunakan sertifikat yang dibuat sendiri seperti yang dibahas di SQL Server yang dihasilkan sertifikat yang ditandatangani sendiri.
Grup ketersediaan AlwaysOn
Jika instans SQL Server Anda adalah bagian dari grup ketersediaan AlwaysOn, Anda dapat menggunakan salah satu metode berikut untuk membuat sertifikat Anda:
Metode 1: Gunakan satu sertifikat pada semua replika grup ketersediaan. Nama umum bersifat arbitrer sehingga bisa menjadi nilai tempat penampung apa pun. Nama host dan FQDN dari semua replika SQL Server dalam grup ketersediaan, dan nama pendengar grup ketersediaan, harus disertakan dalam Nama Alternatif Subjek sertifikat. Jika replika tambahan ditambahkan ke grup ketersediaan setelah sertifikat asli dibuat, maka sertifikat harus diregenerasi dengan nama semua replika dan dilaporkan kembali ke setiap replika. Sertifikat juga harus diimpor ke penyimpanan sertifikat pada semua klien yang terhubung ke replika grup ketersediaan atau pendengar grup ketersediaan, kecuali sertifikat ditandatangani oleh Otoritas Sertifikat (CA) publik atau resmi. Jika Anda tidak menyertakan replika grup ketersediaan dan nama pendengar dalam sertifikat, maka Anda perlu menyertakan salah satu nilai Nama Alternatif Subjek di
HostNameInCertificateatau jalur ke sertifikat dalamServerCertificatenilai string koneksi saat menyambungkan ke grup ketersediaan. Menentukan nama dalam sertifikat adalah pendekatan yang direkomendasikan.Berikut ini adalah contoh properti yang menentukan sertifikat yang dikonfigurasi dengan benar untuk grup ketersediaan dengan dua server bernama
test1.<your company>.comdantest2.<your company>.com, dan listener grup ketersediaan bernamaaglistener.<your company>.com:CN = <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name = aglistener.<your company>.com DNS Name = test1.<your company>.com DNS Name = test2.<your company>.com DNS Name = aglistener DNS Name = test1 DNS Name = test2Metode 2: Gunakan sertifikat terpisah untuk setiap replika grup ketersediaan. Menambahkan replika ke grup ketersediaan setelah sertifikat dibuat lebih mudah saat menggunakan sertifikat terpisah karena Anda hanya perlu membuat sertifikat untuk replika baru, alih-alih memodifikasi semua sertifikat pada semua replika yang ada. Nama umum bersifat arbitrer sehingga bisa menjadi nilai tempat penampung apa pun. Nama host dan FQDN instans SQL Server masing-masing dan nama pendengar grup ketersediaan harus disertakan dalam Nama Alternatif Subjek sertifikat untuk setiap replika masing-masing. Impor setiap sertifikat ke replika masing-masing, dan, kecuali sertifikat ditandatangani oleh Otoritas Sertifikat (CA) publik atau resmi, lalu imporsemua sertifikat ke semua penyimpanan sertifikat pada semua klien yang terhubung ke replika, atau pendengar grup ketersediaan.
Berikut ini adalah contoh properti yang menentukan sertifikat yang dikonfigurasi dengan benar untuk grup ketersediaan dengan dua instans bernama
test1.<your company>.comdantest2.<your company>.com, dan pendengar grup ketersediaan bernamaaglistener.<your company>.com:Sertifikat pada pengujian1:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test1.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test1Sertifikat pada pengujian2:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test2.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test2
Instans kluster failover
Jika SQL Server dikonfigurasi sebagai instans kluster failover, Anda harus menginstal sertifikat server dengan nama host, atau nama DNS (FQDN) server virtual yang sepenuhnya memenuhi syarat pada semua simpul di kluster failover. dan sertifikat harus disediakan pada semua simpul kluster failover. Misalnya, jika Anda memiliki dua kluster node, dengan node bernama test1.<your company>.com dan test2.<your company>.com, dan Anda memiliki server virtual bernama virtsql, Anda perlu menginstal sertifikat untuk virtsql.<your company>.com pada kedua simpul.
Impor sertifikat ke kluster failover dalam urutan yang didokumentasikan dalam Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi.
Berikut ini adalah contoh properti yang menentukan sertifikat yang dikonfigurasi dengan benar untuk instans kluster failover:
CN = virtsql.<your company>.com
DNS Name = virtsql.<your company>.com
DNS Name = virtsql
Untuk informasi selengkapnya tentang kluster SQL, silakan lihat Sebelum Menginstal Failover Clustering.
Periksa apakah sertifikat memenuhi persyaratan
Di SQL Server 2019 (15.x) dan versi yang lebih baru, SQL Server Configuration Manager secara otomatis memvalidasi semua persyaratan sertifikat selama fase konfigurasi itu sendiri. Jika SQL Server berhasil dimulai setelah Anda mengonfigurasi sertifikat, ini adalah indikasi yang baik bahwa SQL Server dapat menggunakan sertifikat tersebut. Tetapi beberapa aplikasi klien mungkin masih memiliki persyaratan lain untuk sertifikat yang dapat digunakan untuk enkripsi, dan Anda mungkin mengalami kesalahan yang berbeda tergantung pada aplikasi yang digunakan. Dalam skenario itu, Anda perlu memeriksa dokumentasi dukungan aplikasi klien untuk informasi lebih lanjut tentang subjek.
Anda dapat menggunakan salah satu metode berikut untuk memeriksa validitas sertifikat untuk digunakan dengan SQL Server:
alat sqlcheck:
sqlcheckadalah alat baris perintah yang memeriksa pengaturan komputer dan akun layanan saat ini dan menghasilkan laporan teks ke jendela Konsol yang berguna untuk memecahkan masalah berbagai kesalahan koneksi. Output memiliki informasi berikut mengenai sertifikat:Details for SQL Server Instance: This Certificate row in this section provides more details regarding the certificate being used by SQL Server (Self-generated, hard-coded thumbprint value, etc.). Certificates in the Local Computer MY Store: This section shows detailed information regarding all the certificates found in the computer certificate store.Untuk informasi selengkapnya tentang kemampuan alat dan untuk petunjuk pengunduhan, lihat Selamat Datang di wiki CSS_SQL_Networking_Tools.
alat certutil:
certutil.exeadalah program antarmuka baris perintah yang diinstal sebagai bagian dari Layanan Sertifikat. Anda dapat menggunakan certutil.exe untuk membuang dan menampilkan informasi sertifikat.-vGunakan opsi untuk mendapatkan informasi terperinci. Untuk informasi selengkapnya, lihat certutil.Snap-in Sertifikat: Anda juga dapat menggunakan jendela snap-in Sertifikat untuk melihat informasi selengkapnya tentang sertifikat di berbagai penyimpanan sertifikat di komputer. Tetapi alat ini tidak menampilkan informasi
KeySpec. Untuk informasi selengkapnya tentang cara melihat sertifikat dengan snap-in MMC, lihat Cara: Melihat sertifikat dengan snap-in MMC.
Mengimpor sertifikat dengan nama yang berbeda ke nama host
Saat ini, Anda hanya dapat mengimpor sertifikat menggunakan SQL Server Configuration Manager jika nama subjek sertifikat cocok dengan nama host komputer.
Jika Anda ingin menggunakan sertifikat dengan nama subjek yang berbeda, ikuti langkah-langkah berikut:
Impor sertifikat ke penyimpanan sertifikat komputer lokal menggunakan snap-in Sertifikat.
Di Pengelola Konfigurasi SQL Server, perluas Konfigurasi Jaringan SQL Server klik kanan instans SQL Server, lalu pilih Properti untuk membuka kotak dialog Protokol untuk <Properti instance_name>.
Pada tab Sertifikat , pilih sertifikat yang Anda impor ke penyimpanan sertifikat dari daftar dropdown Sertifikat :
Mengimpor sertifikat dengan nama yang berbeda ke nama host menghasilkan pesan kesalahan berikut:
The selected certificate name does not match FQDN of this hostname. This property is required by SQL Server
Certificate name: random-name
Computer name: sqlserver.domain.com
Sertifikat kedaluwarsa
SQL Server hanya memeriksa validitas sertifikat pada saat konfigurasi. Misalnya, Anda tidak dapat menggunakan SQL Server Configuration Manager di SQL Server 2019 (15.x) dan versi yang lebih baru, untuk menyediakan sertifikat yang kedaluwarsa. SQL Server terus berjalan tanpa masalah jika sertifikat kedaluwarsa setelah diprovisikan. Tapi, beberapa aplikasi klien seperti Power BI memeriksa validitas sertifikat pada setiap koneksi dan menimbulkan kesalahan jika instans SQL Server dikonfigurasi untuk menggunakan sertifikat yang kedaluwarsa untuk enkripsi. Kami menyarankan agar Anda tidak menggunakan sertifikat yang kedaluwarsa untuk enkripsi SQL Server.
Langkah selanjutnya
- Konfigurasikan Mesin Database SQL Server untuk mengenkripsi koneksi dengan mengimpor sertifikat.