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.
Berlaku untuk:SQL Server
Database Azure
SQLInstans
Terkelola Azure SQLAzure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
SQL Server selalu mengenkripsi paket jaringan yang terkait dengan masuk. Jika tidak ada sertifikat yang disediakan di server saat dimulai, SQL Server menghasilkan sertifikat yang ditandatangani sendiri, yang digunakan untuk mengenkripsi paket masuk.
Sertifikat yang ditandatangani sendiri tidak menjamin keamanan. Jabat tangan terenkripsi didasarkan pada NT LAN Manager (NTLM). Sangat disarankan agar Anda menyediakan sertifikat yang dapat diverifikasi di SQL Server untuk konektivitas yang aman. Lapisan Keamanan Transportasi (TLS) hanya dapat dibuat aman dengan validasi sertifikat.
Aplikasi juga dapat meminta enkripsi semua lalu lintas jaringan dengan menggunakan kata kunci string koneksi atau properti koneksi. Kata kunci adalah "Enkripsi" untuk OLE DB saat menggunakan string penyedia dengan IDbInitialize::Initialize, atau "Gunakan Enkripsi untuk Data" untuk ADO dan OLE DB saat menggunakan string inisialisasi dengan IDataInitialize. Enkripsi juga dapat dikonfigurasi pada komputer klien di registri menggunakan opsi Enkripsi Protokol Paksa. Untuk informasi selengkapnya, lihat Pengaturan registri. Secara default, enkripsi semua lalu lintas jaringan untuk koneksi memerlukan sertifikat yang disediakan di server. Dengan mengatur klien Anda untuk mempercayai sertifikat di server, Anda mungkin rentan terhadap serangan man-in-the-middle. Jika Anda menyebarkan sertifikat yang dapat diverifikasi di server, pastikan Anda mengubah pengaturan klien tentang mempercayai sertifikat menjadi FALSE.
Untuk informasi tentang kata kunci string koneksi, lihat Menggunakan kata kunci string koneksi dengan driver OLE DB untuk SQL Server.
Untuk mengaktifkan enkripsi yang akan digunakan saat sertifikat tidak disediakan di server, Force Protocol EncryptionTrust Server Certificate klien dan klien harus diatur. Dalam hal ini, enkripsi menggunakan sertifikat server yang ditandatangani sendiri tanpa validasi jika tidak ada sertifikat yang dapat diverifikasi yang disediakan di server.
Perilaku validasi enkripsi dan sertifikat
Pengaturan aplikasi tidak pernah mengurangi tingkat keamanan yang ditetapkan dalam registri, tetapi dapat memperkuatnya. Untuk informasi selengkapnya, lihat Pengaturan registri. Misalnya, jika Force Protocol Encryption tidak diatur untuk klien, aplikasi dapat meminta enkripsi itu sendiri. Untuk menjamin enkripsi bahkan ketika sertifikat server tidak disediakan, aplikasi dapat meminta enkripsi dan mengaktifkan TrustServerCertificate. Namun, jika TrustServerCertificate tidak diaktifkan dalam konfigurasi registri klien, sertifikat server yang disediakan masih diperlukan.
Driver OLE DB versi 19 untuk SQL Server memperkenalkan perubahan yang melanggar dalam API terkait enkripsi. Untuk informasi selengkapnya, lihat Perubahan properti enkripsi.
Versi utama 19
Tabel berikut ini menjelaskan evaluasi pengaturan enkripsi:
| Pengaturan registri klien Enkripsi Protokol Paksa | String koneksi/atribut koneksi Enkripsi/Gunakan Enkripsi untuk Data | Enkripsi yang dihasilkan |
|---|---|---|
| 0 (default) | Tidak/Opsional | Opsional |
| 0 (default) | Ya/Wajib (default) | Wajib |
| 0 (default) | Ketat | Ketat |
| 1 | Tidak/Opsional | Wajib |
| 1 | Ya/Wajib (default) | Wajib |
| 1 | Ketat | Ketat |
| 2 | Diabaikan | Ketat |
Tabel berikut ini menjelaskan enkripsi dan validasi yang dihasilkan:
| Enkripsi | Pengaturan registri klien Sertifikat Server Kepercayaan | String koneksi/atribut koneksi Sertifikat Server Kepercayaan | Hasil |
|---|---|---|---|
| Opsional | T/A | T/A | Enkripsi hanya terjadi untuk paket LOGIN. |
| Wajib | 0 | Diabaikan | Enkripsi hanya terjadi jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| Wajib | 1 (default) | Tidak (default) | Enkripsi hanya terjadi jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| Wajib | 1 (default) | Ya | Enkripsi selalu terjadi, tetapi dapat menggunakan sertifikat server yang ditandatangani sendiri. |
| Ketat | T/A | T/A | Enkripsi hanya terjadi jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
Catatan
Dalam versi 19.0 hingga 19.3, selama penginstalan, pengaturan registri klien Sertifikat Server Kepercayaan default dibaca dari pengaturan registri versi 18, jika ada.
Perhatian
Tabel sebelumnya hanya menyediakan panduan tentang perilaku sistem di bawah konfigurasi yang berbeda. Untuk konektivitas yang aman, pastikan bahwa klien dan server memerlukan enkripsi (untuk konfigurasi sisi server, lihat Mengonfigurasi pengaturan enkripsi di SQL Server). Pastikan juga bahwa server memiliki sertifikat yang dapat diverifikasi, dan bahwa TrustServerCertificate pengaturan pada klien diatur ke FALSE.
Catatan
Mulai dari driver OLE DB versi 19.2, koneksi TDS 8.0 dapat dikonfigurasi untuk menggunakan TLS 1.3. Untuk informasi selengkapnya, lihat dukungan TLS 1.3.
Versi utama 18 dengan metode autentikasi baru
Untuk versi 18.x.x, untuk meningkatkan keamanan, ketika Autentikasi atau Token Penimpaan terjadi pada waktu inisialisasi objek sumber data. Jika enkripsi diatur sebelum inisialisasi melalui cara apa pun, nilai dihormati dan tidak ditimpa.
Catatan
Dalam aplikasi ADO dan dalam aplikasi yang mendapatkan IDBInitialize antarmuka melalui IDataInitialize::GetDataSource, Komponen Inti yang mengimplementasikan antarmuka secara eksplisit mengatur enkripsi ke nilai defaultnya.no Akibatnya, properti/kata kunci autentikasi baru menghormati pengaturan ini dan nilai enkripsi tidak ditimpa. Oleh karena itu, disarankan agar aplikasi ini secara eksplisit diatur Use Encryption for Data=true untuk mengganti nilai default.
Untuk meningkatkan keamanan, metode autentikasi baru menghormati TrustServerCertificate pengaturan (dan kata kunci/properti string koneksi yang sesuai) secara independen dari pengaturan enkripsi klien. Akibatnya, sertifikat server divalidasi secara default. Driver menentukan apakah akan memvalidasi sertifikat server sebagai berikut:
| Pengaturan klien Sertifikat Server Kepercayaan | String koneksi/atribut koneksi Sertifikat Server Kepercayaan | Validasi sertifikat |
|---|---|---|
| 0 | Tidak (default) | Ya |
| 0 | Ya | Ya |
| 1 | Tidak (default) | Ya |
| 1 | Ya | Tidak |
Tabel berikut ini menjelaskan evaluasi pengaturan enkripsi:
| Pengaturan klien Enkripsi Protokol Paksa | String koneksi/atribut koneksi Enkripsi/Gunakan Enkripsi untuk Data | Enkripsi yang dihasilkan |
|---|---|---|
| 0 | Tidak (default) | Tidak |
| 0 | Ya | Ya |
| 1 | Tidak (default) | Ya |
| 1 | Ya | Ya |
Tabel berikut ini menjelaskan enkripsi dan validasi yang dihasilkan:
| Enkripsi yang dihasilkan | Validasi sertifikat | Hasil |
|---|---|---|
| Tidak | Tidak | Enkripsi hanya terjadi untuk paket LOGIN. |
| Tidak | Ya | Enkripsi terjadi untuk paket LOGIN hanya jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| Ya | Tidak | Enkripsi semua lalu lintas jaringan selalu terjadi, tetapi dapat menggunakan sertifikat server yang ditandatangani sendiri. |
| Ya | Ya | Enkripsi semua lalu lintas jaringan terjadi hanya jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
Versi utama 18 dengan metode autentikasi warisan
Tabel berikut ini menjelaskan hasil enkripsi dan validasi untuk metode autentikasi warisan:
| Pengaturan klien Enkripsi Protokol Paksa | Pengaturan klien Sertifikat Server Kepercayaan | String koneksi/atribut koneksi Enkripsi/Gunakan Enkripsi untuk Data | String koneksi/atribut koneksi Sertifikat Server Kepercayaan | Hasil |
|---|---|---|---|---|
| 0 | T/A | Tidak (default) | T/A | Enkripsi hanya terjadi untuk paket LOGIN. |
| 0 | T/A | Ya | Tidak (default) | Enkripsi semua lalu lintas jaringan terjadi hanya jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| 0 | T/A | Ya | Ya | Enkripsi semua lalu lintas jaringan selalu terjadi, tetapi dapat menggunakan sertifikat server yang ditandatangani sendiri. |
| 1 | 0 | Diabaikan | Diabaikan | Enkripsi semua lalu lintas jaringan terjadi hanya jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| 1 | 1 | Tidak (default) | T/A | Enkripsi semua lalu lintas jaringan selalu terjadi, tetapi dapat menggunakan sertifikat server yang ditandatangani sendiri. |
| 1 | 1 | Ya | Tidak (default) | Enkripsi semua lalu lintas jaringan terjadi hanya jika ada sertifikat server yang dapat diverifikasi, jika tidak, upaya koneksi gagal. |
| 1 | 1 | Ya | Ya | Enkripsi semua lalu lintas jaringan selalu terjadi, tetapi dapat menggunakan sertifikat server yang ditandatangani sendiri. |
Lihat juga
Driver OLE DB untuk Fitur SQL Server
Properti inisialisasi dan otorisasi
Kata kunci string koneksi
Perbedaan versi utama
Pengaturan registri