Micrsoft SQL Server – Cấu hình mã hoá cho kết nối SQL Server (Enable Encrypted Connection to SQL Server)

Để tăng cường tính bảo mật khi truyền dữ liệu trên đường truyền, Microsoft SQL server hỗ trợ giao thức TLS/SSL sử dụng certificate để mã hoá thông tin khi truyền nhận dữ liệu giữa Server và Client/Application để tăng cường bảo mật cho dữ liệu.

Để bật tính năng mã hóa cho kết nối SQL server, bạn có thễ sử dụng SSL Certificate bản thương mại, từ CA Server hoặc self-signed certificate. Điều  kiện về SSL Certificate có thể sử dụng cho việc mã hóa kết nối  SQL server như sau:

  • Enhanced Key Usage: là Server Authentication 1.3.6.1.5.5.7.3.1
  • Valid expiration date:  Certificate vẩn còn hạn sử dụng.
  • Subject Name: được cấp với server name của SQL server.
  • Certificate được import và chứa trong trong  certlm.msc của server cài đặt SQL Server

Mô hình thực hiện như sau:

  • Domain: hoanghiepktv.com
  • SQL Server: 2022-SRV02.hoanghiepktv.com

Để thực hiện việc enable SSL/TLS cho SQL server bạn thực hiện theo các bước sau:

Bước 1: Tạo SSL Certificate cho SQL server, trong bài này chúng ta tạo self-signed certificate với

  • -DnsName: 2022-srv02.hoanghiepktv.com.
  • -FriendlyName: SQL Server SelfSignedCertificate

Bước 2: Cấp quyền Manage Private Keys cho tài khoản đang log on service của SQL Server.

Thông thường, mặc định tài khoản log on service của SQL Server là NT Service\MSSQLSERVER. Để biết chính xác bạn SQL server của bạn đang dùng tài khoản nào, bạn có thể kiểm tra trong Sql Server Configuration Manager như sau:

Truy cập vào Certificates -Local Computer, bạn thực hiện cấp quyền cho tài khoản log on service của SQL server như sau:

Trong cửa sổ Select Users and Groups, bạn nhập vào username của tài khoản log on service của SQL server ( trong bài này sử dụng tài khoản mặc định khi cài đặt là NT Service\MSSQLSERVER) và Check Names.

  • Lưu ý: Tài khoản log on service của SQL  server có thể là tải khoản của Domian Controller, lúc này bạn phải chọn Locations là Domain nơi chứa tài khoản.

Bước 3: Bật tính năng SSL/TLS cho SQL server:

Để bật tính năng mã hóa SSL/TLS cho SQL server, bạn truy cập vào Sql Server Configuration Manager và tiến hành thực hiện theo các bước sau:

Chọn Certificate có FriendlyName là SQL Server SelfSignedCertificate như đã tạo ở bước 1:

Để bắt buộc tất cả kết nối từ client đến server phải sử dụng tính năng mã hóa, bạn chọn mục Force EncryptionYes:

Bước 4: Export self-signed certificate trên SQL server và Import self-signed certificate vào Trusted Root Certificate Authorities của server chứa application cần kết nối database của SQL server hoặc trên máy Client kết nối SQL server để truy vấn dữ liệu.

Bước 5: Kết nối SQL server từ Client trên SQL Server Management Studio (SSMS):

Sau khi bật tính năng Enforce Encryption, bạn truy cập SQL sever sẽ bị lỗi nếu không chọn Encrypt Connection:

Bạn tiến hành kết nối  SQL serer bằng SSMS như sau:

Do trong bài này chúng ta dùng Self-Signed Certificate, nên khi kết nối chúng ta phải chọn Trust server cetificate.

Hãy chia sẻ nếu thích bài viết

Bài có liên quan