Khả năng tương thích của SQL Server với các tiêu chuẩn TLS mới


30
  • Các trình duyệt chính đang di chuyển ngoài SSL3.0 và TLS1.0.
  • Hội đồng Bảo mật PCI đã tuyên bố ngày hết hạn cho các giao thức này được coi là mã hóa đủ mạnh.

Chúng ta cần tránh xa các giao thức này, để sử dụng các giao thức mới hơn và mạnh hơn. Trên các máy chủ Windows, bạn có thể dễ dàng vô hiệu hóa các giao thức cũ này và thay vào đó chỉ cung cấp TLS1.1 trở lên. Tuy nhiên, như đã lưu ý ở nơi khác , cả Microsoft SQL Server 2008 R2 và SQL Server 2012 (Tiêu chuẩn, ít nhất) sẽ không bắt đầu nếu các giao thức thấp hơn bị vô hiệu hóa. Tuy nhiên, ngày càng có nhiều phiên bản MS SQL Server. Có các phiên bản SQL Server Standard, Business Intelligence, Enterprise, Express, Web và Compact. Và tất nhiên, có SQL Server 2008, 2012, 2014 và (trước khi phát hành) 2016.

Phiên bản nào trong số các phiên bản này hỗ trợ hoặc sẽ hỗ trợ chỉ sử dụng các giao thức TLS1.1 trở lên?


Một lưu ý phụ: các yêu cầu PCI ở đây bao gồm việc truyền dữ liệu tổng thể, do đó, việc bao bọc mọi SQL đi qua các mạng công cộng và / hoặc mạng không dây trong VPN / đường hầm thực hiện các tiêu chuẩn tốt hơn là đủ. Họ cũng có thể không bao gồm tất cả các thông tin liên lạc địa phương; do đó, nếu không có gì bên ngoài Vlan của bạn thậm chí có thể chạm vào cá thể SQL do cấu hình SQL phù hợp và / hoặc tường lửa & bộ lọc khác, bạn có thể không cần phải quan tâm đến PoV này. Tất cả những sự thật này đều không giúp ích gì cho bạn nếu bạn cần phơi bày một cá thể SQL ra mạng công cộng, nhưng ý tưởng đó vẫn làm tôi sợ!
David Spillett

Câu trả lời:


19

Microsoft gần đây đã tiết lộ (không có nhiều sự phô trương) rằng họ sẽ đầu tư vào TLS 1.2 và loại bỏ SSL. Nó phải phù hợp với tất cả các phiên bản của SQL Server.

CẬP NHẬT 2016-01-29 : Microsoft đã công bố hỗ trợ chính thức cho TLS 1.2 vào năm 2008, 2008 R2, 2012 và 2014 . Tải xuống và thông tin khác có thể được tìm thấy trong KB # 3135244 .

Tôi đã viết blog về một số vấn đề đã được đề cập, cũng như cảnh báo nếu bạn đang sử dụng các điểm cuối được mã hóa vào năm 2014:

Bài đăng cũng trỏ đến bản dựng chính xác để tải xuống (hoặc hành động khác) tùy thuộc vào phiên bản @@.

Cho dù động thái này sẽ ảnh hưởng đến tất cả các phiên bản hiện tại, chỉ từ 2014 trở lên, hoặc chỉ năm 2016, vẫn sẽ được nhìn thấy. Trích dẫn dưới đây dường như ngụ ý ít nhất 2014 sẽ là một phần của công việc - và tôi nghi ngờ phần lớn khoản đầu tư sẽ vào các thư viện khách, không phải trong công cụ, vì vậy có thể khả thi rằng nó sẽ hoạt động cho bất kỳ phiên bản nào phát hành tiếp theo trình điều khiển ODBC / Native Client sẽ hỗ trợ.

Tôi đã nhận được điều này từ một bộ bài PowerPoint của Kevin Farlee của Microsoft và được cho phép chia sẻ thông tin, mặc dù tôi không biết bao nhiêu trong số đó đã được phân phối lại vào thời điểm này. Dưới đây là trích dẫn chính xác từ bộ bài:

Mã hóa trong chuyến bay: Bảo vệ dữ liệu giữa máy khách và máy chủ chống lại các cuộc tấn công rình mò và tấn công trung gian. Nâng cấp lên TLS 1.2 trong CY 15, loại bỏ SSL.

Ngoài ra, nếu bạn nhìn vào KB # 3052404 , có vẻ như có các bản vá để làm cho nó hoạt động với 2012 SP + và 2014 (các bản vá sẽ không được yêu cầu cho năm 2016), nhưng không có dấu hiệu nào cho thấy SQL Server 2005, 2008 hoặc 2008 R2 (và thẳng thắn, tôi sẽ khá ngạc nhiên).


6

Như trong các câu trả lời khác: bạn cần một CU gần đây cho TLS1.2. Xem:

CỐ ĐỊNH: Bạn không thể sử dụng giao thức Bảo mật lớp vận chuyển phiên bản 1.2 để kết nối với máy chủ đang chạy SQL Server 2014 hoặc SQL Server 2012 :

  • Cập nhật tích lũy 1 cho SQL Server 2014 SP1
  • Cập nhật tích lũy 8 cho SQL Server 2014
  • Cập nhật tích lũy 1 cho SQL Server 2012 SP3
  • Cập nhật tích lũy 10 cho SQL Server 2012 SP2

Sau khi chỉ bật TLS 1.2, bạn có thể gặp hai lỗi:

  1. Đại lý SQL Server 2014 sẽ không bắt đầu. Giải pháp: cài đặt SQL Server 2012 SNAC từ liên kết tải xuống trong KB3135244
  2. Studio quản lý máy chủ SQL không thể kết nối. Giải pháp: Cài đặt hotfix .NET framework có thể áp dụng từ KB3135244

Hơn nữa, bạn phải cập nhật trình điều khiển SNAC / OBDC trên tất cả các máy khách kết nối với Máy chủ SQL.

Danh sách đầy đủ các bản dựng SQL Server và Trình điều khiển máy khách, cùng với các liên kết tải xuống và các thay đổi cấu hình khác có thể cần có trong bài viết Cơ sở tri thức hỗ trợ của Microsoft sau đây:

Hỗ trợ TLS 1.2 cho Microsoft SQL Server


Tại sao tôi vẫn không thể khởi động SQL Server 2012 ngay cả khi đã tích lũy Cập nhật 1 cho SQL Server 2012 SP3?
NickG

4

Kể từ ngày 29 tháng 1 năm 2016, Microsoft SQL Server hỗ trợ TLS 1.2 cho:

  • Máy chủ SQL 2008
  • Máy chủ SQL 2008 R2
  • Máy chủ SQL 2012; và
  • Máy chủ SQL 2014

... và các trình điều khiển máy khách chính như:

  • Máy chủ bản địa
  • Trình điều khiển Microsoft ODBC cho SQL Server
  • Trình điều khiển Microsoft JDBC cho SQL Server
  • ADO.NET (SqlClient).

Bài đăng trên blog của Nhóm Kỹ thuật Máy chủ SQL về việc phát hành:

Hỗ trợ TLS 1.2 cho SQL Server 2008, 2008 R2, 2012 và 2014

Danh sách các bản dựng hỗ trợ TLS 1.2 cùng với các vị trí tải xuống thành phần máy khách và máy chủ (KB3135244):

Hỗ trợ TLS 1.2 cho Microsoft SQL Server (bao gồm các bản sửa lỗi .NET cho DB Mail)

Lưu ý: Phần trên đã được cập nhật kể từ bản phát hành ban đầu để giải quyết một khiếm khuyết trong bản cập nhật ban đầu gây ra sự chấm dứt dịch vụ không liên tục khi kết nối với một phiên bản của SQL Server 2008 hoặc SQL Server 2008 R2 . Điều này được mô tả trong KB 3146034:

Chấm dứt dịch vụ không liên tục xảy ra sau khi bạn cài đặt bất kỳ phiên bản SQL Server 2008 hoặc SQL Server 2008 R2 nào từ KB3135244


2

Tôi có thể xác nhận rằng với tư cách là SQL 2012 SP2 CU7, có hỗ trợ TLS 1.2 cho SQL 2012 từ CU6, bạn không thể vô hiệu hóa TLS 1.0 ở cấp máy chủ và có thể kết nối với máy chủ SQL bằng kết nối phòng thu quản lý không được mã hóa trên một ví dụ mà không buộc mã hóa máy khách.

Đây là một trường hợp không sử dụng TDE hoặc các chứng chỉ khác.

Tôi sẽ thử vào ngày mai sau khi tạo chứng chỉ tin cậy cho máy chủ và kích hoạt các kết nối được mã hóa, nhưng tại thời điểm này, TLS 1.0 không thể bị vô hiệu hóa trên SQL 2012, ngay cả khi nó hỗ trợ TLS 1.2.

Chỉnh sửa:

Tôi đã tạo chứng chỉ cho máy chủ cơ sở dữ liệu từ Cơ quan cấp chứng chỉ nội bộ của chúng tôi và có thể thiết lập kết nối phòng quản lý được mã hóa với máy chủ SQL, cho đến khi giao thức TLS 1.0 bị vô hiệu hóa tại thời điểm tôi không còn khả năng kết nối. Hành vi tương tự như khi không có chứng chỉ và chứng chỉ tự ký được sử dụng để mã hóa phiên đăng nhập.


2

Tôi đã tìm thấy, ngay cả với SQL 2014 SP1 CU1, tôi đã phải sử dụng các hộp riêng cho IIS và SQL. Tôi đã gặp một vài vấn đề liên quan rõ ràng trên đường đi và chi tiết các bước trong bài viết này .

Những điểm chính là:

  • Đặt IIS và SQL vào các hộp riêng biệt
  • Vô hiệu hóa TLS1.0 đến và kích hoạt TLS1.0 đi trên hộp IIS
  • Kích hoạt TLS1.0 cả hai cách trên hộp SQL.

1

Đây là những gì tôi đã làm trên cả máy chủ trước và sau

  1. Mở gpedit.msc. Trong Trình chỉnh sửa chính sách nhóm cục bộ, bấm đúp vào "Cài đặt Windows" trong nút "Cấu hình máy tính", sau đó bấm đúp vào "Cài đặt bảo mật".

  2. Trong nút "Cài đặt bảo mật", bấm đúp vào "Chính sách cục bộ", sau đó bấm "Tùy chọn bảo mật".

  3. Trong ngăn chi tiết, bấm đúp vào "Mật mã hệ thống: Sử dụng thuật toán tuân thủ mật khẩu để mã hóa, băm và ký".

  4. Trong hộp thoại "Mật mã hệ thống: Sử dụng các thuật toán tương thích mật khẩu để mã hóa, băm và ký", bấm vào "Đã bật", rồi bấm "OK" để đóng hộp thoại. Đóng Trình chỉnh sửa chính sách nhóm cục bộ.


Tôi giả sử điều này là để giải quyết cách thiết lập TLS 1.2, trái ngược với câu hỏi ban đầu thực tế, phiên bản SQL Server nào hỗ trợ một cái gì đó ngoài TLS 1.0, có lẽ trên máy chủ web có phụ trợ SQL? Nếu có thể, xin vui lòng làm rõ điều này trong câu trả lời chính nó.
RDFozz

Cảm ơn, nhưng ... Trong câu hỏi ban đầu, tôi đã cố gắng làm cho nó hơi chung chung, nhưng nó thực sự phải làm với việc đáp ứng yêu cầu tối thiểu và một bộ công nghệ trở lại vào giữa năm 2015 khi nó được đặt ra. Nó đã trở nên quá cũ đến nỗi tôi nghĩ nó nên được đóng lại. Bất kỳ câu trả lời nào như câu hỏi trên có lẽ nên được nhắm mục tiêu đến một số phiên bản mới hơn của câu hỏi áp dụng tốt hơn cho các vấn đề ngày nay. Hiện tại tôi không có câu hỏi như vậy.
Đánh dấu Goldfain
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.