Yeni TLS Standartları ile SQL Server uyumluluğu


30
  • Başlıca tarayıcılar SSL3.0 ve TLS1.0'ın ötesine geçiyor.
  • PCI Güvenlik Konseyi, bu protokollerin yeterince güçlü şifreleme olarak kabul edilmeleri için bir ömür sonu tarihi ilan etti.

Daha yeni ve daha güçlü olanları kullanmak için bu protokollerden uzaklaşmamız gerekiyor. Windows sunucularında bu eski protokolleri kolayca devre dışı bırakabilir ve bunun yerine yalnızca TLS1.1 veya daha fazlasını sunabilirsiniz. Bununla birlikte, başka bir yerde belirtildiği gibi , bu düşük protokoller devre dışı bırakılırsa Microsoft SQL Server 2008 R2 ve SQL Server 2012 (en azından Standart) her ikisi de başlamaz. Ancak, artan sayıda MS SQL Server sürümü vardır. SQL Server Standard, Business Intelligence, Enterprise, Express, Web ve Compact sürümleri vardır. Ve elbette, SQL Server 2008, 2012, 2014 ve (yayın öncesi) 2016'da var.

Bu basımların hangileri sadece TLS1.1 veya daha yeni protokollerin kullanılmasını destekliyor veya destekliyor?


Bir yan not olarak: Buradaki PCI gereklilikleri genel veri iletimini kapsar, bu nedenle herhangi bir SQL iletişimini genel ve / veya kablosuz ağlar üzerinden VPN / tünelde sarmak daha iyi standartlar uygulayan yeterli olmalıdır. Ayrıca, yerel iletişimleri de hiç kapsamayabilirler; Bu nedenle, VLAN'ınızın dışında hiçbir şey uygun SQL yapılandırması ve / veya güvenlik duvarları ve diğer filtreleme nedeniyle SQL örneğine bile dokunamazsa, bu PoV ile ilgilenmenize gerek olmayabilir. Bir SQL örneğini elbette kamu ağına maruz bırakmanız gerekirse, bu gerçeklerin hiçbiri size yardımcı olmaz, ancak bu fikir beni yine de korkutuyor!
David Spillett

Yanıtlar:


19

Microsoft kısa süre önce (büyük bir hayranlık duymadan) TLS 1.2'ye yatırım yapacaklarını ve SSL'yi iptal edeceklerini açıkladı. SQL Server'ın tüm sürümleriyle ilgili olmalıdır.

GÜNCELLEME 2016-01-29 : Microsoft, 2008, 2008 R2, 2012 ve 2014 tarihlerinde 1,2 TLS için resmi destek verdiğini açıkladı . İndirilenler ve diğer bilgiler KB # 3135244'te bulunabilir .

2014'te şifreli uç noktalar kullanıyorsanız, belirtilen sorunlardan birkaçının yanı sıra bir uyarı hakkında blog yazdım:

Gönderi ayrıca, @@ sürümüne bağlı olarak indirilecek (veya başka bir işlemi) doğru yapıya işaret ediyor.

Bu hamlenin mevcut tüm sürümleri etkileyip etkilemediği, sadece 2014 ve üstü ya da sadece 2016 olarak görülmeye devam ediyor. Aşağıdaki alıntı, en azından 2014'ün işin bir parçası olacağı anlamına geliyor gibi görünüyor - ve yatırımın çoğunun motorda değil müşteri kütüphanelerinde olacağından şüpheliyim, bu nedenle bir sonraki sürümün herhangi bir sürümü için çalışacak olması mümkün ODBC / Native Client sürücülerinin destekleyecektir.

Bunu Microsoft'tan Kevin Farlee'nin bir PowerPoint platformundan aldım ve bu noktada ne kadar yeniden dağıtıldığını bilmeme rağmen bilgiyi paylaşma izni verildi. Güverteden tam alıntı:

Uçuşta şifreleme: İstemci ile sunucu arasındaki verileri gözetleme ve ortadaki adam saldırılarına karşı korur. CY’de 15’lik TLS’ye yükseltme, SSL’yi iptal etme.

Ayrıca KB # 3052404'e bakarsanız, 2012 SP + ve 2014 (2016 için yamalar gerekmeyecek) çalışması için yamalar var gibi görünüyor, ancak SQL Server 2005, 2008'e herhangi bir geri dönüş olacağına dair hiçbir gösterge yok , veya 2008 R2 (ve açıkçası oldukça şaşırdım).


6

Diğer cevaplarda olduğu gibi: TLS1.2 için yeni bir CU'ya ihtiyacınız var. Görmek:

Düzeltme: SQL Server 2014 veya SQL Server 2012 çalıştıran bir sunucuya bağlanmak için Aktarım Katmanı Güvenliği protokolü sürüm 1.2'i kullanamazsınız :

  • SQL Server 2014 SP1 için Toplu Güncelleştirme 1
  • SQL Server 2014 için Toplu Güncelleştirme 8
  • SQL Server 2012 SP3 için Toplu Güncelleştirme 1
  • SQL Server 2012 SP2 için Toplu Güncelleştirme 10

Yalnızca TLS 1.2'yi etkinleştirdikten sonra muhtemelen iki hatayla karşılaşırsınız:

  1. SQL Server 2014 Agent başlatılmayacak. Çözüm: SQL Server 2012 SNAC’i KB3135244’teki indirme bağlantısından yükleyin
  2. SQL Server Management Studio ile bağlantı kurulamıyor. Çözüm: Uygulanabilir .NET framework düzeltmesini KB3135244’ten yükleyin

Ayrıca, SNAC / OBDC sürücüsünü, SQL Server'a bağlanan tüm istemcilerde güncellemeniz gerekir.

İndirme bağlantıları ve gerekli olabilecek diğer yapılandırma değişikliklerinin yanı sıra SQL Server ve Client Driver sürümlerinin tam listesi aşağıdaki Microsoft Destek Bilgi Bankası makalesinde bulunmaktadır:

Microsoft SQL Server için TLS 1.2 desteği


Neden hala yüklü SQL Server 2012 SP3 için Toplu Güncelleştirme 1 ile bile SQL Server 2012'yi başlatamıyorum?
NickG

4

29 Ocak 2016 itibariyle, Microsoft SQL Server aşağıdakiler için TLS 1.2'yi desteklemektedir:

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

... ve aşağıdaki gibi büyük istemci sürücüleri:

  • Sunucu Yerel İstemcisi
  • SQL Server için Microsoft ODBC Sürücüsü
  • SQL Server için Microsoft JDBC Sürücüsü
  • ADO.NET (SqlClient).

SQL Server Mühendislik Ekibinin bu sürümle ilgili blog yazısı:

SQL Server 2008, 2008 R2, 2012 ve 2014 için TLS 1.2 Desteği

İstemci ve sunucu bileşeni indirme konumlarıyla birlikte TLS 1.2'yi destekleyen yapıların listesi (KB3135244):

Microsoft SQL Server için TLS 1.2 desteği (DB Mail için .NET düzeltmeleri içerir)

Not: İlk güncellemeden bu yana, ilk güncellemedeki bir SQL Server 2008 veya SQL Server 2008 R2 örneğine bağlanırken kesintili hizmet sonlandırmasına neden olan bir hatayı giderecek şekilde güncellenmiştir . Bu, KB 3146034'te açıklanmaktadır:

KB3135244’ten herhangi bir SQL Server 2008 veya SQL Server 2008 R2 sürümlerini yükledikten sonra aralıklı servis sonlamaları


2

CU6'dan SQL 2012 için TLS 1.2 desteğine sahip olan SQL 2012 SP2 CU7 olarak, sunucu düzeyinde TLS 1.0'ı devre dışı bırakamayacağınızı ve örneğin şifrelenmemiş bir yönetim stüdyosu bağlantısını kullanarak SQL sunucusuna bağlanabileceğinizi onaylayabilirim. Bu, istemci şifrelemesini zorlamaz.

Bu, TDE veya diğer sertifikaları kullanmayan bir örnektedir.

Sunucu için güvenilir bir sertifika oluşturduktan ve şifreli bağlantıları etkinleştirdikten sonra yarın deneyeceğim, ancak şu anda TLS 1.0'ı desteklemesine rağmen SQL 2012'de TLS 1.0 devre dışı bırakılamıyor.

Düzenle:

Veri tabanı sunucusu için iç Sertifika Otoritemizden bir sertifika oluşturdum ve artık bağlanamadığım TLS 1.0 protokolü devre dışı bırakılana kadar SQL sunucusuna şifreli bir yönetim stüdyosu bağlantısı kurabildim. Oturum açma oturumunu şifrelemek için, bir sertifikaya sahip olma ve kendinden imzalı bir sertifikaya sahip olmayla aynı davranış kullanılır.


2

SQL 2014 SP1 CU1 ile bile IIS ve SQL için ayrı kutular kullanmak zorunda kaldım. Yol boyunca görünüşte ilgili birkaç sorunla karşılaştım ve bu yazıdaki adımları ayrıntılıca anlattım .

Anahtar noktalar:

  • IIS ve SQL'i ayrı kutulara yerleştirin
  • Gelen TLS1.0'ı devre dışı bırakın ve IIS kutusunda giden TLS1.0'ı etkinleştirin
  • SQL kutusunda her iki şekilde de TLS1.0'ı etkinleştirin.

1

Hem ön hem de arka sunucularda yaptığım şey

  1. gpedit.msc. Yerel Grup İlkesi Düzenleyicisi'nde, "Bilgisayar Yapılandırması" düğümü altındaki "Windows Ayarları" nı çift tıklatın ve ardından "Güvenlik Ayarları" nı çift tıklatın.

  2. "Güvenlik Ayarları" düğümü altında, "Yerel İlkeler" i çift tıklayın ve ardından "Güvenlik Seçenekleri" ni tıklayın.

  3. Ayrıntılar bölmesinde, "Sistem şifreleme: Şifreleme, karma ve imzalama için FIPS uyumlu algoritmalar kullanın" seçeneğini çift tıklayın.

  4. "Sistem şifrelemesi: Şifreleme, karma ve imzalama için FIPS uyumlu algoritmaları kullanın" iletişim kutusunu işaretleyin, "Etkin" seçeneğini ve ardından iletişim kutusunu kapatmak için "Tamam" düğmesini tıklayın. Yerel Grup İlkesi Düzenleyicisi'ni kapatın.


Bunun, SQL Server'ın hangi sürümlerinin , belki de bir SQL arka ucuna sahip bir web sunucusunda, TLS 1.0'ın ötesinde bir şeyi desteklediğini asıl sorunun tersine, TLS 1.2'nin nasıl ayarlanacağını ele almak olduğunu farz ediyorum. Mümkünse, lütfen cevabın kendisinde bunu açıklığa kavuşturun.
RDFozz

Teşekkürler, ama ... Asıl soruda, onu biraz daha genel hale getirmeye çalıştım, ancak 2015 yılının ortalarında, asıl gerekliliği ve bir dizi teknolojiyi eşleştirerek yapmak zorunda kaldım. Şimdi o kadar tarihlendi ki kapalı olması gerektiğini düşünüyorum. Yukarıdaki gibi bir cevap, muhtemelen bugünün sorunlarına daha iyi uygulanan sorunun daha yeni bir versiyonuna yönelik olmalıdır. Şu anda böyle bir sorum yok, kendim.
Mark Goldfain
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.