Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Single Sign-On (SSO) là công nghệ cho phép người dùng đã xác thực (đăng nhập) truy cập các dịch vụ miền khác mà không cần xác thực lại. Áp dụng cho Remote Desktop Service, SSO cho phép người dùng đã đăng nhập vào máy tính miền không phải nhập lại thông tin tài khoản (tên người dùng và mật khẩu) khi kết nối đến máy chủ RDS hoặc khởi chạy RemoteApps đã phát hành.

Trong bài viết này, chúng tôi sẽ mô tả các đặc điểm của cấu hình xác thực SSO (Single Sign-On) minh bạch trên máy chủ RDS chạy Windows Server 2016 và 2012 R2.

Yêu cầu hệ thống:

  • Máy chủ Connection Broker và tất cả máy chủ RDS phải chạy Windows Server 2012 hoặc mới hơn;
  • SSO chỉ hoạt động trong môi trường miền: tài khoản người dùng Active Directory phải được sử dụng, máy chủ RDS và trạm làm việc của người dùng phải tham gia miền AD;
  • Phiên bản RDP 8.0 hoặc mới hơn phải được dùng trên client RDP (sẽ không thể cài đặt phiên bản RDP client này trên Windows XP);
  • Các phiên bản OS sau được hỗ trợ phía client RDP: Windows 10, 8.1 hoặc 7;
  • SSO chỉ hoạt động với xác thực mật khẩu (smart card không được hỗ trợ);
  • Lớp bảo mật RDP trong cài đặt kết nối phải được đặt thành Negotiate hoặc SSL (TLS 1.0), và chế độ mã hóa thành High hoặc FIPS Compliant.

Quy trình cấu hình Single Sign-On bao gồm các bước sau:

  • Bạn cần cấp phát và gán chứng chỉ SSL trên máy chủ RD Gateway, RD Web và RD Connection Broker;
  • Web SSO phải được bật trên máy chủ RDWeb;
  • Chính sách nhóm cho ủy quyền thông tin xác thực phải được cấu hình;
  • Dấu vân tay chứng chỉ phải được thêm vào danh sách nhà xuất bản .rdp tin cậy bằng GPO.

Trước hết, bạn cần cấp phát và gán chứng chỉ SSL. Trong thuộc tính EKU (Enhanced Key Usage) của chứng chỉ, định danh Server Authentication phải có mặt. Chúng tôi sẽ không mô tả quy trình lấy chứng chỉ SSL vì nó vượt ra khỏi phạm vi bài viết này (bạn có thể tự tạo chứng chỉ SSL self-signed, nhưng bạn phải triển khai nó đến trusted cert trên tất cả client bằng group policy).

Chứng chỉ được gán trong phần Certificates của thuộc tính RDS Deployment.

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Sau đó bạn phải bật “Windows Authentication” trên tất cả máy chủ có vai trò Web Access cho thư mục IIS RDWeb và tắt “Anonymous Authentication”.

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Sau khi lưu thay đổi, khởi động lại IIS:

iisreset /noforce
Nếu bạn sử dụng RD Gateway, hãy đảm bảo nó không được dùng để kết nối client nội bộ (tùy chọn Bypass RD Gateway server for local address phải được tích).

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Bước tiếp theo là cấu hình chính sách ủy quyền thông tin xác thực. Tạo một GPO miền mới và liên kết nó với OU chứa người dùng (máy tính) cần cho phép truy cập SSO đến máy chủ RDS. Nếu bạn muốn cho phép SSO cho tất cả người dùng miền, chấp nhận được chỉnh sửa Default Domain Policy.

Chính sách này nằm trong phần GPO sau: Computer Configuration -> Policies -> Administrative Templates -> System -> Credential Delegation -> Allow delegation defaults credential. Chính sách cho phép các máy chủ nhất định truy cập thông tin xác thực của người dùng Windows:

  • Chính sách phải được bật (Enabled);
  • Bạn phải thêm tên máy chủ RDS vào danh sách máy chủ mà client có thể tự động gửi thông tin xác thực người dùng để thực hiện xác thực SSO. Định dạng thêm máy chủ như sau: TERMSRV/rd.contoso.com (lưu ý rằng tất cả ký tự TERMSRV phải viết hoa). Nếu bạn phải cấp quyền này cho tất cả terminal server trong miền (kém an toàn hơn), bạn có thể dùng cấu trúc này: TERMSRV/*.contoso.com. Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Sau đó, để ngăn cửa sổ cảnh báo về nhà xuất bản ứng dụng từ xa không tin cậy xuất hiện, hãy thêm địa chỉ máy chủ có vai trò Connection Broker vào zone tin cậy trên máy tính client bằng chính sách “Site to Zone Assignment List” (tương tự bài How to disable Open File security warning on Windows 10): User/Computer Configuration -> Administrative Tools -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security Page.

Chỉ định FQDN tên máy chủ RDCB và Zone 2 (Trusted sites).

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Sau đó bật chính sách Logon options trong User/Computer Configuration -> Administrative Tools -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security -> Trusted Sites Zone và trong danh sách thả xuống chọn “Automatic logon with current username and password”.

Sau khi cập nhật group policy trên client, nếu bạn thử khởi động RemoteApp, cửa sổ nhập mật khẩu sẽ không xuất hiện, nhưng cửa sổ cảnh báo sẽ hiện ra:

Do you trust the publisher of this RemoteApp program?

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Để ngăn thông báo này hiển thị mỗi lần đăng nhập, bạn cần lấy dấu vân tay chứng chỉ SSL trên RD Connection Broker và thêm nó vào danh sách nhà xuất bản rdp tin cậy. Để làm điều này, chạy lệnh PowerShell trên máy chủ RDS Connection Broker:

Get-Childitem CERT:\LocalMachine\My

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Sao chép giá trị dấu vân tay chứng chỉ và thêm nó vào danh sách dấu vân tay trong chính sách Specify SHA1 thumbprints of certificates representing RDP publishers (Computer Configuration -> Administrative Templates -> Windows Desktop Services -> Remote Desktop Connection Client).

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Bây giờ cấu hình SSO đã xong, và sau khi các chính sách được áp dụng, người dùng có thể kết nối đến trang trại Windows Server RDS bằng RDP mà không cần nhập lại mật khẩu.

Bây giờ, khi bạn khởi động mstsc.exe (Remote Desktop Connection client) và chỉ định tên máy chủ RDS, trường UserName sẽ tự động hiển thị tên người dùng theo định dạng (user@domain.com) với chú thích:

Your Windows logon credentials will be used to connect.

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Để sử dụng RD Gateway với SSO, bạn cần bật chính sách “Set RD Gateway Authentication Method” (User Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> RD Gateway) và đặt giá trị của nó thành “Use Locally Logged-On Credentials”.

Cấu hình xác thực SSO (Single Sign-On) trên Windows Server RDS

Để sử dụng Web SSO trên RD Web Access, lưu ý rằng khuyến khích sử dụng Internet Explorer với thành phần Active X tên Microsoft Remote Desktop Services Web Access Control (MsRdpClientShell) được bật.