Làm cách nào khách hàng có thể truy xuất chứng chỉ SSL công khai của SQL Server?


8

Người dùng có thể truy xuất chứng chỉ kết nối cho phiên bản SQL Server (tương tự như cách ai đó có thể truy xuất chứng chỉ HTTP) không? Nếu vậy thì thế nào?

Bối cảnh

Nếu máy khách SQL Server yêu cầu mã hóa, chứng chỉ máy chủ phải được xác thực trước khi cho phép kết nối được mã hóa. Các máy chủ phát triển thường được cấu hình với các chứng chỉ tự ký, sẽ không xác nhận theo thiết lập máy khách mặc định.

Để sử dụng chứng chỉ tự ký để mã hóa kết nối, một trong hai:

  • Giấy chứng nhận phải được thêm vào cửa hàng địa phương
  • khách hàng phải đặt "TrustServerCertificate=true"
  • máy khách không được yêu cầu mã hóa và máy chủ phải được đặt "ForceEncryption"thành "yes".

Hai tùy chọn sau được mở cho các cuộc tấn công MitM mỗi khi kết nối được thực hiện. Đối với lần thứ 2, một số khách hàng không lưu cài đặt kết nối, do đó, nó phải được đặt lại cho mỗi kết nối mới. Do đó, giải pháp mong muốn nhất là thêm chứng chỉ vào cửa hàng địa phương (ban đầu phải mất thêm một chút công việc, nhưng sau đó là lựa chọn dễ dàng & an toàn nhất). Đối với người dùng trong một miền, chứng chỉ đủ dễ phân phối, nhưng nếu không thì chứng chỉ sẽ cần được cài đặt thủ công trên mỗi máy tính. Quản trị viên có thể cung cấp chứng chỉ cho mỗi người dùng, bằng cách gửi trực tiếp hoặc cung cấp dưới dạng tài nguyên mạng, nhưng đôi khi quản trị viên có thể quá bận hoặc không phản hồi vì các lý do khác để cung cấp chứng chỉ.

Trong trường hợp như vậy, sẽ hữu ích nếu người dùng có thể lấy chứng chỉ từ máy chủ SQL trực tiếp, giống như chứng chỉ có thể được truy xuất từ ​​máy chủ HTTP bằng trình duyệt hoặc openssl s_client. Điều này vẫn dễ bị tấn công MitM khi lấy chứng chỉ, nhưng cung cấp một cửa sổ hẹp hơn nhiều so với việc tin tưởng chứng chỉ mỗi khi có kết nối mới.


hi outis và @Abacus bạn đã từng giải quyết vấn đề này hay có thêm thông tin chi tiết về cách lấy / kiểm tra chứng chỉ SQL từ máy khách?
TiloBunt

Câu trả lời:


1

Về mặt kỹ thuật có thể, cả TDSTLS / SSL đều được ghi lại. Nhưng bạn đang đặt câu hỏi sai.

Không có điểm nào trong willy-nilly tự cài đặt chứng chỉ tự ký ở mọi nơi, nó không mua gì cho bạn. Bạn sẽ chỉ cài đặt chứng chỉ của MitM ở mọi nơi ...

Tập trung vào việc triển khai cơ sở hạ tầng PKI được cấu hình đúng. Sử dụng chứng chỉ tin cậy (ví dụ: Verisign et all) hoặc cài đặt ủy thác PKI trong mạng của bạn và sử dụng chứng chỉ đã ký kết cơ sở hạ tầng.

Xem loạt bài này: Thiết kế và triển khai PKI


8
Tôi không đồng ý - có một mục đích rất tốt là tự mình lấy chứng chỉ của máy chủ SQL, đó là xem xét nó. Trong trường hợp của tôi, tôi muốn xem nó chứa tên miền nào và không có cách nào dễ dàng (mà tôi biết) chỉ cần lấy chứng chỉ từ máy chủ. Tất cả các trình duyệt chính cung cấp cho bạn công cụ dễ dàng và hữu ích này; nếu nó không hữu ích, các trình duyệt cũng sẽ không có nó.
Bàn tính
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.