Persyaratan sertifikat untuk SQL Server
Artikel ini menjelaskan persyaratan sertifikat untuk SQL Server dan cara memeriksa apakah sertifikat memenuhi persyaratan ini.
Persyaratan sertifikat untuk enkripsi SQL Server
Untuk menggunakan enkripsi TLS untuk 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 Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi.
Waktu sistem saat ini harus setelah nilai properti Valid dari dan sebelum nilai properti Valid ke sertifikat. Untuk informasi selengkapnya, lihat Sertifikat Kedaluwarsa.
Catatan
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
KeySpec
opsi .AT_KEYEXCHANGE
Ini memerlukan sertifikat yang menggunakan Penyedia Penyimpanan Kriptografi warisan untuk menyimpan kunci privat. Biasanya, properti penggunaan kunci sertifikat (KEY_USAGE) juga menyertakan encipherment kunci (CERT_KEY_ENCIPHERMENT_KEY_USAGE
) dan tanda tangan digital (CERT_DIGITAL_SIGNATURE_KEY_USAGE
).Properti Subjek sertifikat harus menunjukkan bahwa nama umum (CN) sama dengan nama host atau nama domain yang sepenuhnya memenuhi syarat (FQDN) komputer server. Saat Anda menggunakan nama host, akhiran DNS harus ditentukan dalam sertifikat. Jika SQL Server berjalan pada kluster failover, nama umum harus cocok dengan nama host atau FQDN server virtual, dan sertifikat harus disediakan pada semua simpul di kluster failover. Misalnya, jika Anda memiliki kluster dua node, dengan node bernama
test1.*<your company>*.com
dantest2.*<your company>*.com
, dan Anda memiliki server virtual bernama virtsql, Anda perlu menginstal sertifikat untukvirtsql.*<your company>*.com
pada kedua simpul. Untuk informasi selengkapnya tentang kluster SQL, lihat Sebelum Menginstal Pengklusteran Failover.Saat Anda terhubung ke pendengar grup ketersediaan, sertifikat yang disediakan untuk setiap simpul server yang berpartisipasi di kluster failover juga harus memiliki daftar semua pendengar grup ketersediaan yang diatur dalam Nama Alternatif Subjek sertifikat. Untuk informasi selengkapnya, lihat Pendengar dan sertifikat TLS/SSL. Untuk informasi selengkapnya tentang SQL Always On, lihat Koneksi ke listener grup ketersediaan AlwaysOn.
Nama Alternatif Subjek harus menyertakan semua nama yang mungkin digunakan klien Anda untuk menyambungkan ke instans SQL Server. Jika menggunakan Grup Ketersediaan, Nama Alternatif Subjek harus menyertakan NetBIOS dan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) dari localhost dan listener yang dibuat.
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 Pengelola Konfigurasi SQL Server 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.
Periksa apakah sertifikat memenuhi persyaratan
Di SQL Server 2019 (15.x) dan versi yang lebih baru, Pengelola Konfigurasi SQL Server 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:
sqlcheck
adalah 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.exe
adalah program baris perintah, diinstal sebagai bagian dari Layanan Sertifikat. Anda dapat menggunakan certutil.exe untuk mencadangkan dan menampilkan informasi sertifikat.-v
Gunakan 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
KeySpec
informasi. Untuk informasi selengkapnya tentang cara melihat sertifikat dengan snap-in MMC, lihat Cara: Melihat sertifikat dengan snap-in MMC.
Informasi selengkapnya
Sertifikat kedaluwarsa
SQL Server hanya memeriksa validitas sertifikat pada saat konfigurasi. Misalnya, Anda tidak dapat menggunakan 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 sudah disediakan. 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.