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 Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi. Artikel ini menyediakan prosedur untuk mengenkripsi koneksi ke SQL Server untuk skenario yang kurang umum yang tidak tercakup dalam Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi.

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 yang didokumentasikan di Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi, gunakan salah satu opsi berikut untuk mengonfigurasi aplikasi klien Anda untuk enkripsi.

Opsi 1: Konfigurasikan aplikasi klien ke Sertifikat Server Kepercayaan. 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 mengonfigurasi sertifikat untuk penggunaan SQL Server seperti yang didokumentasikan di Langkah 1: Konfigurasikan SQL Server untuk menggunakan sertifikat di Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi, 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 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;.

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 ke Ya di 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 didokumenkan di Mengonfigurasi Mesin Database SQL Server untuk mengenkripsi koneksi.

  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 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. Koneksi ini rentan terhadap serangan man-in-the-middle. Anda tidak boleh mengandalkan SSL menggunakan sertifikat yang ditandatangani sendiri di lingkungan produksi atau di server yang terhubung ke Internet.