Bagikan melalui


Kasus khusus untuk mengenkripsi koneksi ke SQL Server

Komputer klien harus mempercayai sertifikat server sehingga klien dapat meminta enkripsi Keamanan Lapisan Transportasi (TLS), dan sertifikat harus sudah ada di server. Skenario paling umum untuk enkripsi SQL Server melibatkan lingkungan yang:

  • Memaksa enkripsi untuk semua koneksi klien masuk ke SQL Server.
  • Gunakan sertifikat dari otoritas sertifikasi komersial publik yang sudah dipercaya Windows. Sertifikat akar yang sesuai untuk CA diinstal di penyimpanan sertifikat Otoritas Sertifikasi Akar Tepercaya di semua komputer di jaringan Anda.

Dalam skenario ini, Anda tidak perlu melakukan langkah tambahan untuk enkripsi yang berhasil setelah mengonfigurasi SQL Server untuk enkripsi sesuai prosedur yang dijelaskan dalam Mengenkripsi koneksi ke SQL Server dengan mengimpor sertifikat. Artikel ini menyediakan prosedur untuk mengenkripsi koneksi ke SQL Server untuk skenario yang kurang umum yang tidak tercakup dalam Enkripsi koneksi ke SQL Server dengan mengimpor sertifikat.

Catatan

Untuk daftar lengkap peserta dalam Program Akar Tepercaya Microsoft, lihat Daftar Peserta - Program Akar Tepercaya Microsoft.

Gunakan sertifikat yang dikeluarkan oleh otoritas sertifikat komersial publik dan hanya beberapa klien yang memerlukan koneksi terenkripsi

  1. Konfigurasikan sertifikat di SQL Server sesuai prosedur yang didokumenkan dalam Mengonfigurasi SQL Server untuk menggunakan sertifikat.

  2. Tentukan kata kunci enkripsi dalam properti koneksi ke Ya atau Benar. Misalnya, jika Anda menggunakan Microsoft ODBC Driver untuk SQL Server, string koneksi harus menentukan Encrypt=yes;.

Menggunakan sertifikat yang dikeluarkan oleh CA internal atau dibuat dengan menggunakan New-SelfSignedCertificate atau makecert

Skenario 1: Anda ingin mengenkripsi semua koneksi ke SQL Server

Setelah menyelesaikan kedua prosedur yang didokumentasikan di Langkah 1: Konfigurasikan SQL Server untuk menggunakan sertifikat dan Langkah 2: Mengonfigurasi pengaturan enkripsi di SQL Server dalam artikel Mengenkripsi koneksi ke SQL Server dengan mengimpor sertifikat, gunakan salah satu opsi berikut untuk mengonfigurasi aplikasi klien Anda untuk enkripsi.

Opsi 1: Mengonfigurasi aplikasi klien ke Trust Server Certificate. Pengaturan ini menyebabkan klien melewati langkah yang memvalidasi sertifikat server dan melanjutkan proses enkripsi. Misalnya, jika Anda menggunakan SQL Server Management Studio (SSMS) 20 dan versi yang lebih baru, Anda dapat memilih Sertifikat Server Kepercayaan di halaman Masuk (atau pada halaman Opsi di versi sebelumnya).

Opsi 2: Pada setiap klien, tambahkan otoritas penerbit sertifikat ke penyimpanan otoritas akar tepercaya dengan melakukan langkah-langkah berikut:

  1. Ekspor sertifikat dari komputer yang menjalankan SQL Server dengan menggunakan prosedur yang didokumenkan dalam Mengekspor sertifikat server.

  2. Impor sertifikat dengan menggunakan prosedur yang didokumentasikan dalam Ekspor dan impor sertifikat.

Skenario 2: Hanya beberapa klien yang memerlukan koneksi terenkripsi

Setelah Anda mengonfigurasi sertifikat untuk penggunaan SQL Server seperti yang didokumentasikan di Langkah 1 di Mengenkripsi koneksi ke SQL Server dengan mengimpor sertifikat, gunakan salah satu opsi berikut untuk mengonfigurasi aplikasi klien Anda untuk enkripsi:

Opsi 1: Konfigurasikan aplikasi klien untuk mempercayai sertifikat server dan tentukan kata kunci enkripsi dalam properti koneksi ke Ya atau True. Misalnya, jika Anda menggunakan Microsoft ODBC Driver untuk SQL Server, string koneksi harus menentukan Encrypt=Yes;TrustServerCertificate=Yes;.

Untuk informasi selengkapnya tentang sertifikat dan enkripsi server, lihat Menggunakan TrustServerCertificate.

Opsi 2: Pada setiap klien, tambahkan otoritas penerbit sertifikat ke penyimpanan otoritas akar tepercaya dan tentukan parameter enkripsi untuk Ya dalam string koneksi:

  1. Ekspor sertifikat dari komputer yang menjalankan SQL Server dengan menggunakan prosedur yang didokumenkan dalam Mengekspor sertifikat dari komputer yang menjalankan SQL Server.

  2. Impor sertifikat.

  3. Tentukan kata kunci enkripsi dalam properti koneksi ke Ya atau Benar. Misalnya, jika Anda menggunakan Microsoft OLEDB Driver untuk SQL Server, string koneksi harus menentukan Gunakan Enkripsi untuk Data = True;

Menggunakan sertifikat yang ditandatangani sendiri secara otomatis dibuat oleh SQL Server

Skenario 1: Anda ingin mengenkripsi semua koneksi masuk ke SQL Server

  1. Aktifkan enkripsi di SQL Server menggunakan prosedur Langkah 2: Mengonfigurasi pengaturan enkripsi di SQL Server yang didokumentasikan dalam Mengenkripsi koneksi ke SQL Server dengan mengimpor sertifikat.

  2. Konfigurasikan aplikasi klien untuk mempercayai sertifikat server. Mempercayai sertifikat server menyebabkan klien melewati langkah yang memvalidasi sertifikat server dan melanjutkan proses enkripsi. Misalnya, jika Anda menggunakan SQL Server Management Studio (SSMS) 20 dan versi yang lebih baru, Anda dapat memilih Sertifikat Server Kepercayaan di halaman Masuk (atau pada halaman Opsi di versi sebelumnya).

Skenario 2: Hanya beberapa klien yang memerlukan koneksi terenkripsi

Konfigurasikan aplikasi klien untuk mempercayai sertifikat server dan menentukan kata kunci enkripsi di properti koneksi ke Ya atau Benar. Misalnya, jika Anda menggunakan Microsoft ODBC Driver untuk SQL Server, string koneksi harus menentukan Encrypt=Yes;TrustServerCertificate=Yes;.

Tidak ada konfigurasi tambahan yang diperlukan pada SQL Server untuk skenario ini.

Peringatan

Koneksi TLS/SSL yang dienkripsi menggunakan sertifikat yang ditandatangani sendiri tidak memberikan keamanan yang kuat, karena panjang kunci dalam sertifikat yang ditandatangani sendiri lebih pendek daripada kunci dalam sertifikat yang dihasilkan oleh CA. Mereka rentan terhadap serangan man-in-the-middle. Anda tidak boleh mengandalkan TLS/SSL menggunakan sertifikat yang ditandatangani sendiri di lingkungan produksi atau di server yang terhubung ke Internet.