Giới thiệu chung: Trong bài này chúng tôi sẽ cùng các bạn nghiên cứu một số cơ chế bảo mật có trong RDS cùng với đó là cách sử dụng Group Policy và các thiết lập cấu hình.
Nội dung:
Remote Desktop Services (RDS) trong Windows Server 2008 R2 có nhiều tính năng mới so với dịch vụ Terminal Services cũ trước đây. Với các tính năng mới (một trong số chúng đã có ngay trong Windows Server 2008) chẳng hạn như RemoteApp, RD Gateway và RD Virtualization Host, Windows Server role này hiện cho phép bạn có thể linh động trong việc triển khai các ứng dụng riêng lẻ hoặc các máy trạm hoàn chỉnh qua giải pháp RDS hoặc VDI – trong nhiều trường hợp mà không cho các hệ thống Citrix hoặc các add-on của các hãng thứ ba khác.
Tuy nhiên về mặt bảo mật, những phức tạp bổ sung này biến thành những thức thức bảo mật mới. Chính vì vậy trong bài này, chúng tôi sẽ giới thiệu cho các bạn các cơ chế bảo mật bên trong RDS, sẽ giới thiệu cách sử dụng các thiết lập cấu hình và Group Policy để bảo mật tốt hơn, bên cạnh đó là cách thực hiện bảo mật tốt nhất cho một triển khai RDS.
Điểm mới trong R2
Nếu đến với RDS từ Windows Server 2008 Terminal Services, bạn sẽ không thấy nhiều thay đổi rõ dệt như khi nâng cấp lên từ Windows Server 2003. WS 2008 đã bổ sung thêm nhiều cải thiện lớn đối với Terminal Services, gồm có TS Web Access cho việc kết nối trình duyệt web, TS Gateway cho người dùng kết nối qua Internet, RemoteApp cho việc phân phối các ứng dụng đơn lẻ đến người dùng qua Remote Desktop Protocol (RDP) và Session Broker có trong tính năng cân bằng tải.
WS 2008 R2 đã bổ sung thêm nhiều điểm thú vị:
Ngoài ra còn có nhiều cải thiện về audio/video cũng như sự hỗ trợ cho Windows Aero trong RD session (mặc dù vậy cần lưu ý rằng Desktop Composition, cho phép Aero, không được hỗ trợ trong một session đa màn hình).
Các cơ chế và sự ảnh hưởng bảo mật
Rõ ràng, các vấn đề bảo mật tiềm tàng phụ thuộc vào cách bạn triển khai RDS. Nếu bạn có một thiết lập phức tạp hơn, với những người dùng kết nối qua Internet hay thông qua một trình duyệt web, bạn sẽ có nhiều vấn đề bảo mật hơn so với trường hợp chỉ có một triển khai đơn giản, nơi người dùng chỉ có kết nối thông qua máy khách RDC qua LAN.
RDC gồm có một số cơ chế bảo mật có thể trợ giúp bạn tạo các kết nối RD an toàn hơn.
Nhận thực mức mạng (NLA)
Để bảo mật tốt nhất, bạn nên yêu cầu Network Level Authentication (NLA) cho tất cả kết nối. NLA yêu cầu người dùng cần được nhận thực đối với RD Session Host server trước khi tạo session. Điều này giúp bảo vệ máy tính từ xa tránh được người dùng nguy hiểm và mã độc. Để sử dụng NLA, máy khách phải sử dụng một hệ điều hành hỗ trợ các giao thức Credential Security Support Provider (CredSSP), có nghĩa Windows XP SP3 hoặc phiên bản hệ điều hành cao hơn, và đang chạy máy khách RDC 6.0 hoặc cao hơn.
NLA được cấu hình trên RD Session Host server thông qua Administrative Tools | Remote Desktop Services | Desktop Session Host Configuration. Để cấu hình một kết nối để sử dụng NLA, bạn thực hiện theo các bước sau:

Hình 1
Transport Layer Security (TLS)
Một RDS session có thể sử dụng một trong ba lớp bảo mật để bảo vệ sự truyền thông giữa máy khách và RDS Session Host server:
Để thực hiện bảo mật tốt nhất, bạn có thể yêu cầu mã hóa SSL/TLS. Để có được điều đó, bạn cần có một chứng chỉ số, đây là chứng chỉ có thể được phát hành bởi một CA nào đó hoặc tự ký.
Ngoài việc lựu chọn lớp bảo mật, bạn có thể chọn lớp mã hóa cho kết nối. Các tùy chọn bạn có thể lựa chọn ở đây là:
Cần lưu ý rằng nếu bạn chọn mức High hoặc FIPS Compliant, các máy khách nào không hỗ trợ các mức này sẽ không thể kết nối.
Đây là cách cấu hình các thiết lập nhận thực máy chủ và mã hóa:

Hình 2
Bạn cũng có thể sử dụng Group Policy để điều khiển các thiết lập nhận thực và mã hóa này, cùng với các khía cạnh khác của RDS.
Group Policy
Có một số thiết lập Group Policy cho RDS trong Windows Server 2008 R2. Các thiết lập này được đặt bên dưới Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsRemote Desktop Services trong Group Policy Management Console cho miền của bạn, như thể hiện trong hình 3.

Hình 3
Như những gì bạn có thể thấy, có nhiều chính sách để đăng ký, máy khách RDS và RD Session Host. Các chính sách có liên quan đến bảo mật cho RD Session Host gồm có:
Lưu ý:
Ở đây cách bạn có thể tìm ra liệu một máy khách có hỗ trợ Network Level Authentication hay không: Mở RDC client và kích vào biểu tượng ở góc trên bên trái, sau đó chọn “about”. Nếu NLA được hỗ trợ, bạn sẽ thấy “Network Level Authentication Supported”.
Các thiết lập Group Policy khác đáng kiểm tra đều nằm bên dưới nút RD Connection Client. Chúng gồm có:
Bạn cũng có thể sử dụng Group Policy để cấu hình đồng thuận FIPS, tuy nhiên bạn sẽ không tìm thấy chính sách đó ở đây với các chính sách bảo mật RDS khác. Mà thay vào đó, nó nằm trong Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options. Trong panel phải, hãy cuộn xuống đến phần: “System Cryptography: use FIPS compliant algorithms for encryption, hashing and signing.” Khi bạn kích hoạt chính sách này, nó sẽ chỉ hỗ trợ thuật toán mã hóa Triple DES (3DES) để truyền thông RDS.
RD Web Access
Với các máy khách chưa cài đặt phần mềm RDC client, người dùng có thể truy cập các ứng dụng đã được publish với họ bằng trình duyệt web. Người dùng gõ Url vào trình duyệt để truy cập đến các tài nguyên RDS đã được publish với họ. RD Web Access Server là một máy chủ biệt lập với RD Session Host. Bạn định nghĩa các RD Web Access server nào có thể kết nối với RD Session Host server nào.
Giao diện web được cấu hình với SSL và người dùng phải được nhận thực với các chứng chỉ của họ. Người dùng đã qua nhận thực sẽ chỉ có khả năng xem các chương trình RemoteApp từ xa mà tài khoản của họ có quyền sử dụng vì các chương trình được publish sẽ bị cắt, bằng cách sử dụng danh sách điều khiển truy cập (ACL).
Web Access Server sử dụng chứng chỉ X.509 để cung cấp mã hóa. Mặc định, một chứng chỉ tự ký sẽ được sử dụng. Để bảo mật tốt hơn, bạn nên có một chứng chỉ từ một CA nào đó hoặc PKI của công ty bạn.
RD Gateway
RD Gateway (RDG) được sử dụng để cung cấp sự truy cập vào các tài nguyên RD đối với người dùng qua Internet. Máy chủ Gateway được đặt tại biên và nó sẽ lọc các yêu cầu RDS gửi đến theo Network Policy Server (NPS). NPS sử dụng hai chính sách: Chính sách nhận thực kết nối Connection Authorization Policy (CAP) dùng để liệt kê người dùng nào có thể truy cập RDG và chính sách nhận thực tài nguyên Resource Authorization Policy (RAP) dùng để chỉ định thiết bị nào mà người dùng CAP có thể kết nối với thông qua RDG.
Kết luận
Remote Desktop Services trong Windows Server 2008 R2 quả thực đã mở rộng thêm rất nhiều chức năng so với kẻ tiền nhiệm của nó, Terminal Services – tuy nhiên nó cũng có một số vấn đề bảo mật mới cần được đề cập đến. Các thực thi bảo mật tốt nhất trong cấu hình các thành phần trong triển khai RDS như RD Session Host, RD Web Access Server, RD Gateway và máy khách – và bằng cách sử dụng Group Policy để điều khiển cấu hình sẽ giúp bạn duy trì được một môi trường an toàn, trong khi đó vẫn cho bạn thu được nhiều lợi ích khác.
Bài viết liên quan: