Kompatibilitas SQL Server dengan Standar TLS Baru

30
  • Browser utama bergerak melampaui SSL3.0 dan TLS1.0.
  • Dewan Keamanan PCI telah menyatakan tanggal akhir masa hidup untuk protokol-protokol ini dianggap enkripsi yang cukup kuat.

Kita perlu menjauh dari protokol ini, untuk menggunakan yang lebih baru dan lebih kuat. Pada server Windows, Anda dapat dengan mudah menonaktifkan protokol lama ini, dan sebagai gantinya hanya menawarkan TLS1.1 atau lebih tinggi. Namun, seperti yang disebutkan di tempat lain , Microsoft SQL Server 2008 R2 dan SQL Server 2012 (Standar, setidaknya) keduanya tidak akan mulai jika protokol yang lebih rendah dinonaktifkan. Namun, ada semakin banyak versi MS SQL Server. Ada SQL Server Standard, Business Intelligence, Enterprise, Express, Web, dan edisi Compact. Dan tentu saja ada SQL Server 2008, 2012, 2014, dan (dalam pra-rilis) 2016.

Manakah dari edisi ini yang mendukung atau akan mendukung penggunaan hanya protokol TLS1.1 atau lebih besar?

Tandai Goldfain
sumber
Sebagai catatan tambahan: persyaratan PCI di sini mencakup transmisi data secara keseluruhan, jadi membungkus comms SQL apa pun melalui jaringan publik dan / atau nirkabel dalam VPN / tunnel yang mengimplementasikan standar yang lebih baik harus memadai. Mereka juga mungkin tidak mencakup komunikasi lokal sama sekali; jadi jika tidak ada yang di luar VLAN Anda bahkan dapat menyentuh contoh SQL karena konfigurasi SQL yang sesuai dan / atau firewall & penyaringan lainnya, Anda mungkin tidak perlu khawatir dari PoV ini. Tak satu pun dari fakta-fakta ini membantu Anda jika Anda perlu mengekspos contoh SQL ke jaringan publik tentu saja, tetapi ide itu membuat saya takut!
David Spillett

Jawaban:

19

Microsoft baru-baru ini mengungkapkan (tanpa banyak kemeriahan) bahwa mereka akan berinvestasi dalam TLS 1.2 dan menghapus SSL. Itu harus relevan untuk semua edisi SQL Server.

UPDATE 2016-01-29 : Microsoft telah mengumumkan dukungan resmi untuk TLS 1.2 pada 2008, 2008 R2, 2012, & 2014 . Unduhan dan info lainnya dapat ditemukan di KB # 3135244 .

Saya membuat blog tentang beberapa masalah yang telah disebutkan, serta peringatan jika Anda menggunakan titik akhir terenkripsi pada tahun 2014:

Posting juga menunjuk ke bangunan yang benar untuk diunduh (atau tindakan lain) tergantung pada versi @@

Apakah langkah ini akan memengaruhi semua versi yang ada, hanya 2014 dan di atasnya, atau hanya 2016, masih harus dilihat. Kutipan di bawah ini tampaknya menyiratkan setidaknya 2014 akan menjadi bagian dari pekerjaan - dan saya curiga banyak dari investasi akan berada di perpustakaan klien, bukan di mesin, sehingga layak bahwa itu akan bekerja untuk versi apa pun yang rilis berikutnya driver ODBC / Native Client akan mendukung.

Saya mendapatkan ini dari dek PowerPoint oleh Kevin Farlee dari Microsoft, dan diberi izin untuk berbagi informasi, meskipun saya tidak tahu berapa banyak yang telah didistribusikan pada saat ini. Berikut adalah kutipan yang tepat dari geladak:

Enkripsi dalam penerbangan: Melindungi data antara klien dan server dari serangan pengintaian & man-in-the-middle. Memutakhirkan ke TLS 1.2 di CY 15, menghapus SSL.

Juga jika Anda melihat KB # 3052404 , tampaknya ada tambalan untuk membuatnya berfungsi dengan 2012 SP + dan 2014 (tambalan tidak diperlukan untuk 2016), tetapi tidak ada indikasi akan ada porting kembali ke SQL Server 2005, 2008 , atau 2008 R2 (dan terus terang, saya akan cukup terkejut).

Aaron Bertrand
sumber
6

Seperti dalam jawaban lain: Anda memerlukan CU terbaru untuk TLS1.2. Lihat:

PERBAIKI: Anda tidak bisa menggunakan protokol Transport Layer Security versi 1.2 untuk menyambung ke server yang menjalankan SQL Server 2014 atau SQL Server 2012 :

  • Pembaruan Kumulatif 1 untuk SQL Server 2014 SP1
  • Pembaruan Kumulatif 8 untuk SQL Server 2014
  • Pembaruan Kumulatif 1 untuk SQL Server 2012 SP3
  • Pembaruan Kumulatif 10 untuk SQL Server 2012 SP2

Setelah hanya mengaktifkan TLS 1.2 Anda mungkin akan menemukan dua kesalahan:

  1. Agen SQL Server 2014 tidak akan mulai. Solusi: instal SQL Server 2012 SNAC dari tautan unduhan di KB3135244
  2. SQL Server Management Studio tidak dapat terhubung. Solusi: Instal perbaikan terbaru .NET framework yang berlaku dari KB3135244

Selanjutnya Anda harus memperbarui driver SNAC / OBDC pada semua klien yang terhubung ke SQL Server.

Daftar lengkap membangun SQL Server dan Driver Klien, bersama dengan tautan unduhan, dan perubahan konfigurasi lainnya yang mungkin diperlukan terkandung dalam artikel Pangkalan Pengetahuan Dukungan Microsoft berikut:

Dukungan TLS 1.2 untuk Microsoft SQL Server

Jens W.
sumber
Mengapa saya masih tidak dapat memulai SQL Server 2012 bahkan dengan Pembaruan Kumulatif 1 untuk SQL Server 2012 SP3 diinstal?
NickG
4

Pada 29 Januari 2016, Microsoft SQL Server mendukung TLS 1.2 untuk:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012; dan
  • SQL Server 2014

... dan driver klien utama seperti:

  • Server Native Client
  • Microsoft ODBC Driver untuk SQL Server
  • Microsoft JDBC Driver untuk SQL Server
  • ADO.NET (SqlClient).

Posting blog oleh Tim Teknik SQL Server tentang rilis:

TLS 1.2 Dukungan untuk SQL Server 2008, 2008 R2, 2012 dan 2014

Daftar bangunan yang mendukung TLS 1.2 bersama dengan lokasi pengunduhan komponen klien dan server (KB3135244):

Dukungan TLS 1.2 untuk Microsoft SQL Server (termasuk perbaikan .NET untuk DB Mail)

Catatan: Di atas telah diperbarui sejak rilis awal untuk mengatasi cacat pada pembaruan asli yang menyebabkan penghentian layanan terputus-putus saat menyambungkan ke contoh SQL Server 2008 atau SQL Server 2008 R2 . Ini dijelaskan dalam KB 3146034:

Pengakhiran layanan intermiten terjadi setelah Anda menginstal versi SQL Server 2008 atau SQL Server 2008 R2 dari KB3135244

Amit Banerjee
sumber
2

Saya dapat mengkonfirmasi bahwa sebagai SQL 2012 SP2 CU7, yang memiliki dukungan TLS 1.2 untuk SQL 2012 dari CU6, Anda tidak bisa menonaktifkan TLS 1.0 di tingkat server dan dapat terhubung ke server SQL menggunakan koneksi studio manajemen yang tidak dienkripsi pada instance yang tidak memaksa enkripsi klien.

Ini adalah contoh yang tidak menggunakan TDE atau sertifikat lainnya.

Saya akan mencoba besok setelah membuat sertifikat tepercaya untuk server dan mengaktifkan koneksi terenkripsi, tetapi saat ini TLS 1.0 tidak dapat dinonaktifkan pada SQL 2012, meskipun mendukung TLS 1.2.

Edit:

Saya menghasilkan sertifikat untuk server basis data dari Otoritas Sertifikat internal kami dan dapat membuat koneksi studio manajemen terenkripsi ke server SQL, sampai protokol TLS 1.0 dinonaktifkan pada titik mana saya tidak lagi dapat terhubung. Perilaku yang sama seperti ketika tidak memiliki sertifikat dan sertifikat yang ditandatangani sendiri digunakan untuk mengenkripsi sesi login.

Cooper Van Valkenburgh
sumber
2

Saya menemukan, bahkan dengan SQL 2014 SP1 CU1, saya harus menggunakan kotak terpisah untuk IIS dan SQL. Saya mengalami beberapa masalah yang tampaknya terkait di sepanjang jalan, dan merinci langkah-langkah dalam posting ini .

Poin kuncinya adalah:

  • Letakkan IIS dan SQL di kotak terpisah
  • Nonaktifkan TLS1.0 masuk dan aktifkan TLS1.0 keluar pada kotak IIS
  • Aktifkan TLS1.0 kedua cara pada kotak SQL.
Tagihan Luar Biasa
sumber
1

Inilah yang saya lakukan pada server depan dan belakang

  1. Terbuka gpedit.msc. Di Editor Kebijakan Grup Lokal, klik dua kali "Pengaturan Windows" di bawah simpul "Konfigurasi Komputer", dan kemudian klik dua kali "Pengaturan Keamanan".

  2. Di bawah simpul "Pengaturan Keamanan", klik dua kali "Kebijakan Lokal", dan kemudian klik "Opsi Keamanan".

  3. Di panel rincian, klik dua kali "Sistem kriptografi: Gunakan algoritma yang sesuai FIPS untuk enkripsi, hashing, dan penandatanganan".

  4. Dalam "Sistem kriptografi: Gunakan algoritma yang sesuai FIPS untuk enkripsi, hashing, dan menandatangani" kotak dialog, klik "Diaktifkan", dan kemudian klik "OK" untuk menutup kotak dialog. Tutup Editor Kebijakan Grup Lokal.

Michael Zeydelis
sumber
Saya menganggap ini adalah ke alamat cara mengatur TLS 1.2, yang bertentangan dengan pertanyaan awal yang sebenarnya, yang versi SQL Server melakukan dukungan sesuatu di luar TLS 1.0, mungkin pada webserver dengan backend SQL? Jika memungkinkan, harap klarifikasi dalam jawaban itu sendiri.
RDFozz
Terima kasih, tapi ... Dalam pertanyaan awal, saya mencoba membuatnya agak umum, tapi itu benar-benar ada hubungannya dengan mencocokkan persyaratan minimum dan satu set teknologi kembali pada pertengahan 2015 ketika diajukan. Sudah menjadi sangat tanggal sekarang sehingga saya pikir itu harus ditutup. Setiap jawaban seperti ini di atas mungkin harus ditargetkan ke beberapa versi yang lebih baru dari pertanyaan yang berlaku lebih baik untuk masalah saat ini. Saat ini saya tidak punya pertanyaan seperti itu.
Mark Goldfain