SQL Server dan ringkasan enkripsi klien
Artikel ini menyediakan ringkasan berbagai skenario dan prosedur terkait untuk mengaktifkan enkripsi ke SQL Server dan juga cara memverifikasi enkripsi berfungsi.
Mengenkripsi semua koneksi ke server (Enkripsi sisi server)
Jenis sertifikat | Paksa enkripsi di properti server | Mengimpor sertifikat server pada setiap klien | Pengaturan sertifikat Trust Server | Mengenkripsi properti dalam string koneksi | Komentar |
---|---|---|---|---|---|
Sertifikat yang ditandatangani sendiri - dibuat secara otomatis oleh SQL Server | Ya | Tidak dapat dilakukan | Ya | Diabaikan | SQL Server 2016 (13.x) dan versi yang lebih lama menggunakan algoritma SHA1. SQL Server 2017 (14.x) dan versi yang lebih baru menggunakan SHA256. Untuk informasi selengkapnya, lihat Perubahan algoritma hashing untuk sertifikat yang ditandatangani sendiri di SQL Server 2017. Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Sertifikat yang ditandatangani sendiri yang dibuat dengan menggunakan New-SelfSignedCertificate atau makecert - Opsi 1 | Ya | Tidak | Ya | Diabaikan | Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Sertifikat yang ditandatangani sendiri yang dibuat dengan menggunakan New-SelfSignedCertificate atau makecert - Opsi 2 | Ya | Ya | Opsional | Diabaikan | Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Server sertifikat perusahaan atau dari Otoritas Sertifikat (CA) yang tidak ada dalam Daftar Peserta - Program Akar Tepercaya Microsoft - Opsi 1 | Ya | Tidak | Ya | Diabaikan | |
Server sertifikat perusahaan atau dari Otoritas Sertifikat (CA) yang tidak ada dalam Daftar Peserta - Program Akar Tepercaya Microsoft - Opsi 2 | Ya | Ya | Opsional | Diabaikan | |
Otoritas akar tepercaya | Ya | Tidak | Opsional | Diabaikan | Kami merekomendasikan pendekatan ini. |
Mengenkripsi koneksi dari klien tertentu
Jenis sertifikat | Paksa enkripsi di properti server | Mengimpor sertifikat server pada setiap klien | Tentukan pengaturan sertifikat Trust Server pada klien | Tentukan properti enkripsi secara manual ke Ya/True di sisi klien | Komentar |
---|---|---|---|---|---|
Sertifikat yang ditandatangani sendiri - dibuat secara otomatis oleh SQL Server | Ya | Tidak dapat dilakukan | Ya | Diabaikan | SQL Server 2016 (13.x) dan versi yang lebih lama menggunakan algoritma SHA1. SQL Server 2017 (14.x) dan versi yang lebih baru menggunakan SHA256. Untuk informasi selengkapnya, lihat Perubahan algoritma hashing untuk sertifikat yang ditandatangani sendiri di SQL Server 2017. Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Sertifikat yang ditandatangani sendiri yang dibuat dengan menggunakan New-SelfSignedCertificate atau makecert - Opsi 1 | Tidak | Tidak | Ya | Ya | Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Sertifikat yang ditandatangani sendiri yang dibuat dengan menggunakan New-SelfSignedCertificate atau makecert - Opsi 2 | Tidak | Ya | Opsional | Ya | Kami tidak merekomendasikan pendekatan ini untuk penggunaan produksi. |
Server sertifikat perusahaan atau dari CA yang tidak ada dalam Daftar Peserta - Program Akar Tepercaya Microsoft - Opsi 1 | Tidak | Tidak | Ya | Ya | |
Server sertifikat perusahaan atau dari CA yang tidak ada dalam Daftar Peserta - Program Akar Tepercaya Microsoft - Opsi 2 | Tidak | Ya | Opsional | Ya | |
Otoritas akar tepercaya | Tidak | Tidak | Opsional | Ya | Kami merekomendasikan pendekatan ini. |
Bagaimana cara mengetahui apakah enkripsi berfungsi?
Anda dapat memantau komunikasi menggunakan alat seperti Microsoft Network Monitor atau pelacak jaringan dan memeriksa detail paket yang diambil di alat untuk mengonfirmasi bahwa lalu lintas dienkripsi.
Atau, Anda dapat memeriksa status enkripsi koneksi SQL Server menggunakan perintah Transact-SQL (T-SQL). Untuk melakukan ini, ikuti langkah-langkah berikut:
- Buka jendela kueri baru di SQL Server Management Studio (SSMS) dan sambungkan ke instans SQL Server.
- Jalankan perintah T-SQL berikut untuk memeriksa nilai
encrypt_option
kolom. Untuk koneksi terenkripsi, nilainya adalahTRUE
.
SELECT * FROM sys.dm_exec_connections