Tải bản đầy đủ (.pdf) (11 trang)

Tài liệu Bảo mật Terminal Services của Windows Server 2008 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (443.62 KB, 11 trang )

Bảo mật Terminal Services của Windows Server 2008
Ngu

n:quantrimang.com
Chris Sanders
Quản trị mạng - Một số nâng cao có thể nói là tuyệt nhất cho Terminal Services
trong bổ sung Windows Server 2008 đi liền với sự bảo mật toàn diện của nó.
Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số vấn đề giúp cho môi
trường Terminal Server an toàn hơn.
Sử dụng thẩm định hai hệ số
Có một vài hình thức khác nhau của thẩm định hai hệ số, tuy nhiên phương
pháp chung nhất
được hỗ trợ bởi Terminal Services là sử dụng Smart Cards. Sử
dụng Smart Cards, người dùng không chỉ phải cung cấp các tiêu chuẩn đăng
nhập hợp lệ mà còn phải có thể kết nối vật lý với thẻ thông minh đến thiết bị mà
họ đang sử dụng như một thiết bị đầu cuối ở xa.
Để yêu cầu thẩm định thẻ thông minh, bạn phải tạo một Group Policy Object để
sử
dụng cho Terminal Server. Trong GPO, duyệt đến Computer
Configuration\Windows Settings\Security Settings\Local Policies\Security Options
và kích hoạt thiết lập Interactive Logon: Require Smart Card. Thêm vào đó bạn
cũng cần phải kích hoạt Smart Cards để có thể chuyển hướng đến Terminal
Server bằng cách tích vào hộp kiểm Smart Cards trên tab Local Resources của
Remote Desktop Connection trên các máy trạm của người dùng.

Hình 1
Thực thi thẩm định mức mạng đối với tất cả máy khách
Trong các bổ sung trước của thẩm định Terminal Services cho máy chủ được
thực hiện bởi việc kết nói đến một session trên máy chủ và việc nhập các tiêu
chuẩn đăng nhập vào màn hình đăng nhập của Windows Server. Điều này tuy có
vẻ khá bình thường nhưng từ phối cảnh bảo mật, việc hoàn tất một màn hình


đăng nhậ
p session có thể phơi bày các thông tin về mạng của bạn (tên miền và
tên máy) hoặc để lại lỗ hổng trên máy chủ, tạo điều kiện cho kẻ tấn công có thể
thực hiện hình thức tấn công DoS đến bất cứ ai có địa chỉ IP công của máy chủ.
Network Level Authentication (NLA) là một tính năng được giới thiệu trong phiên
bản 6.0 của Remote Desktop Connection Client, tính năng này cho phép người
dùng nhập vào trước các tiêu chuẩn đăng nhập của họ
để sẽ được hiển thị tại
cửa sổ đăng nhập của Windows Server. Windows Server 2008 cho phép chúng
ta sử dụng tiện ích này và yêu cầu tất cả các máy khách đang kết nối để sử
dụng nó.

Hình 2
Để sử dụng NLA, bạn phải sử dụng Windows 2008 Server, và các máy khách
đang kết nối phải hỗ trợ CredSSP (Windows XP SP3, Windows Vista, Windows
7) cũng như đang chạy emote Desktop Connection 6.0 hoặc cao hơn. Bạn có
thể cấu hình Terminal Server của mình để yêu cầu các máy khách của nó sử
dụng NLA trong một số nơi khác nhau:
• Trong suốt quá trình cài đặt Terminal Services role ban đầu, khi bạn thấy
màn hình Specify Authentication Method for Terminal Server, chọn tùy
chọn Allow connections only from computers running Remote Desktop
with Network Level Authentication.
• Truy cập Terminal Services Configuration MMC Snap-In, kích chuột phải
vào kết nối terminal server đang được sử dụng bởi các máy khách và
chọn properties, sau đó chọn tùy chọn Allow connections only from
computers running Remote Desktop with Network Level Authentication.
• Tạo một Group Policy Object, duyệt đến Computer
Configuration\Administrative Templates\Windows Components\Terminal
Services\Terminal Server\Security, kích hoạt thiết lập Require user
authentication for remote connections by using Network Level

Authentication setting và sử dụng nó cho một OU gồm có terminal server.
Thay đổi cổng RDP mặc định
Mặc định, Terminal Server thường sử dụng cổng 3389 cho lưu lượng RDP. Và
một số hacker thành thạo trên thế giới đều biết được điều đó. Chính vì vậy một
trong những thay đổi nhanh nhất mà bạn có thể thực hiện đố
i với môi trường
Terminal Server của mình để tránh những kẻ xâm nhập và thay đổi thỏa thuận
cổng mặc định.
Để thay đổi cổng RDP mặc định cho Terminal Server, bạn hãy mở regedit và
duyệt đến
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp. Tìm key PortNumber và thay thế giá trị hex
00000D3D (tương đương với 3389) thành một giá trị khác mà bạn muốn sử
dụng.
Cách khác, bạn có thể thay đổi số cổng được sử dụng bởi Terminal Server của
mình trên một k
ết nối cơ bản. Vẫn sử dụng regedit, duyệt đến
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal
Server\WinStations\connection name. Tiếp đó, tìm đến key PortNumber và thay
thế giá trị hex bởi một giá trị khác mà bạn muốn.
Cần phải lưu ý rằng khi thay đổi thiết lập trên máy chủ này, tất cả các máy khách
kết nối cần phải được bảo đảm rằng chúng đang kết nối đến Terminal Server với
cổng mới đã được gắ
n thẻ trên địa chỉ IP của các máy chủ. Cho ví dụ, việc kết
nối đến Terminal Server với một địa chỉ IP trong là 192.168.0.1 có nghĩa hiện
đang sử dụng cổng non-standard 8888 sẽ yêu cầu người dùng nhập
192.168.0.1:8888 vào Remote Desktop Connection.

Hình 3
In ấn dễ dàng và hạn chế máy in được chuyển hướng

Việc in ấn từ các thiết bị được kết nối nội bộ với các máy trạm client luôn là một
yếu điểm của Terminal Services trước Windows Server 2008. Để thực hiện điều
đó, bạn phải bảo đảm giống chính xác phiên bản của driver máy in đã được cài
đặt trên cả máy chủ và máy khách, mặc dù vậy đôi khi sau đó vẫ
n không có sự
làm việc. Từ quan điểm bảo mật, chúng ta không bao giờ muốn cài đặt thêm
nhiều driver vào hệ thống của mình ngoài những gì bắt buộc. Mỗi một driver
được cài đặt vào máy chủ đều có tiền ẩn khả năng mở rộng bề mặt tấn công của
nó.
Windows Server 2008 đã giới thiệu một tính năng có tên Easy Print, tính năng
này sẽ thay đổi triệt để cách kết nối nội bộ các máy in đượ
c quản lý. Về bản
chất, TS Easy Print là một driver phục vụ như một proxy để tất cả dữ liệu máy in
được chuyển hướng qua. Khi một máy khách in đến một thiết bị bằng driver
Easy Print, các thiết lập dữ liệu và máy in sẽ được chuyển đổi thành định dạng
phổ biến rồi gửi đến Terminal Server xử lý. Thực hiện điều này, sau khi kích in,
hộp thoại máy in sẽ được khởi ch
ạy từ máy khách, không trong terminal session.
Điều này có nghĩa rằng không driver nào đã được cài đặt cho Terminal Server
để xử lý các công việc in từ các thiết bị in kết nối nội bộ.
Để cấu hình Easy Print, bạn cần phải bảo đảm tất cả các thiết bị in được gắn nội
bộ phải có các máy in logic được cấu hình trên các máy khách đã thiết lập để sử
dụng driver của Easy Print. Tính năng Easy Print được hỗ trợ bởi t
ất cả các máy
khách Windows XP SP3, Windows Vista và Windows 7 đang chạy Remote
Desktop Connection 6.1 hoặc mới hơn và .NET Framework 3 SP1.

Hình 4
Khi đã cấu hình các thiết bị gắn nội bộ ở mức máy trạm, bạn cần bảo đảm rằng
máy in duy nhất được chuyển hướng đến Terminal Server là máy in đang sử

dụng TS Easy Print, thành phần được thiết lập như một máy in mặc định. Bạn có
thể thực hiện điều này bằng cách tạo một Group Policy Object và duyệt đến
Computer Configuration\ Administrative Templates\Windows
Components\Terminal Services\Terminal Server\Printer Redirection, sau đó kích
hoạt tùy chọ
n Redirect only the default client printer.
Hạn chế các tài khoản người dùng
Nếu bạn thuê một ai đó cày trên cánh đồng của mình thì tất cả những gì thuộc
về cơ bản nhất mà bạn cần thực hiện là cho anh ta bộ chìa khóa của chiếc máy
cày … mà không phải là những chiếc chìa khóa đa năng, nhà kho và xe con.
Điều này không phải vì bạn không cần sự kết hợp để thực hiện một nhiệm vụ
nào đó cho thuận ti
ện mà vì bạn thực sự không muốn thấy một chiếc John Deere
mới toanh của bạn bị mất tích hay phải tìm mệt mỏi. Vấn đề cũng tương tự như
vậy trong công nghệ, chúng ta cần phải biết rằng, khi một người dùng nào đó
đang kết nối hay đang làm việc trực tiếp từ một máy chủ vốn đã có sự truy cập
đến một vài thứ mà họ không cần đến, và để tạo một môi trường an toàn hơn,
chúng ta cần phải hạn chế điều đó. Đây không chỉ là biện pháp để bảo vệ các
tiêu chuẩn của người dùng đang được thỏa hiệp mà còn bảo vệ người dùng
chính đáng với những ý định không chính đáng. Một số thứ mà chúng ta có thể
thực hiện ở đây là:
Sử d
ụng các tài khoản cụ thể cho người dùng
Người dùng có thể làm việc nội bộ với các ứng dụng nào đó, sau đó truy cập vào
Terminal Server để truy cập đến các ứng dụng khác. Việc sử dụng cùng một tài
khoản cho truy cập nội bộ và truy cập từ xa sẽ đơn giản hơn trong vấn đề quản
lý, tuy nhiên nó cũng dễ bị thỏa hiệp hơn bởi các kẻ tấn công có thể th
ỏa hiệp
một loạt các tiêu chuẩn để truy cập vào các ứng dụng. Việc tạo một tài khoảng
người dùng riêng biệt cho sự truy cập Terminal Server và hạn chế quyền của nó

cho những ứng dụng cần thiết sẽ giảm nhẹ được sự ảnh hưởng của kiểu thỏa
hiệp này.
Sử dụng các chính sách hạn chế phần mềm
Các chính sách hạn chế phần mềm có th
ể được cấu hình để cho phép hoặc từ
chối sự sử dụng đối với một số ứng dụng nào đó và vẫn được sử dụng trong các
máy tính công, mặc dù vậy chúng cũng rất tuyệt trong các môi trường Terminal
Server.
Kiểm tra sự truy cập người dùng vào máy chủ Terminal bằng Group
Mặc định, chỉ có các thành viên của nhóm Terminal Servers Remote Desktop
Users (và Domain/Local Administrators) mới có thể đăng nhập vào Terminal
Server đó. Tuy nhiên bạn cần minh chứng và thẩ
m định các thành viên nhóm
một cách thường xuyên. Nếu người dùng không cần đăng nhập vào một
Terminal Server, hãy remove họ khỏi nhóm người dùng ở xa.
Cấu hình bảo mật bổ sung bằng Group Policy
Nhiều cải tiến bảo mật cho các môi trường Terminal Server được cung cấp
thông qua Group Policy. Đây là một số ví dụ điển hình mà chúng tôi muốn giới
thiệu cho các bạn.
1. Hạn chế người dùng Terminal Services vào một Session từ xa
Trong hầu hết các trường hợ
p, một người dùng không cần khởi tạo nhiều
session trên một Terminal Server. Việc cho phép người dùng khởi tạo nhiều
session sẽ làm cho môi trường của bạn có nhiều lỗ hổng cho tấn công từ chối
dịch vụ (DoS), do các tiêu chuẩn của người dùng bị thỏa hiệp. Bạn có thể cấu
hình thiết lập này bằng cách duyệt đến Computer Configuration\Administrative
Templates\Windows Components\Terminal Services\Terminal
Server\Connections bên trong GPO của bạn.
2. Không cho phép sự chuyển hướng drive
Trừ khi bạn có một nhu cầu nào đó thật cần thiết, khi đó mới cho phép người

dùng truy cập vào các ổ đĩa nội bộ từ một Terminal Server session vì hành động
này có thể tạo một kênh truyền thông không an toàn. Vớ
i khả năng này, người
dùng không chỉ copy dữ liệu vào một Terminal Server mà dữ liệu có thể chứa mã
độc và có thể được thực thi trên máy chủ.
Bạn có thể cấu hình thiết lập này bằng cách duyệt đến Computer
Configuration\Administrative Templates\Windows Components\Terminal
Services\Terminal Server\Device and Resource Redirection bên trong GPO.
3. Thiết lập hạn chế thời gian cho các Session bị hủy kết nối
Nhìn chung, chúng ta nên cho phép người dùng thoát khoải một session mà
không cần đăng xuất hoàn toàn. Vì khi ai đó có thể tăng điề
u khiển trên session
này thì họ có thể sẽ truy cập vào phần dữ liệu nhạy cảm hoặc biết được răng họ
đã được xác thực cho ứng dụng mạng khác. Cách tốt nhất để khắc phục tình
trạng này là thiết lập sự hạn chế về thời gian ở mức thấp để hủy kết nối các
session. Khi đến giới hạn thời gian, session sẽ bị đóng lạ
i.
Bạn có thể cấu hình thiết lập này bằng cách duyệt đến Computer
Configuration\Administrative Templates\Windows Components\Terminal
Services\Terminal Server\Session Time Limits bên trong GPO.
4. Vô hiệu hóa bộ cài Windows
Chỉ các quản trị viên mới có quyền cài đặt các ứng dụng vào Terminal Server.
Trong hầu hết các trường hợp, không cho người dùng được phép cài đặt các
ứng dụng nếu họ không đăng nhập với quyền quản trị viên. Mặc dù vậy, nếu một
số người dùng nào đó được cho là cần phả
i có hành động nâng đặc quyền thì
bạn có thể hạn chế khả năng cài đặt một số chương trình bằng cách vô hiệu hóa
Microsoft Windows Installer.
Có thể cấu hình thiết lập này bằng cách duyệt đến Computer
Configuration\Administrative Templates\Windows Components\Windows Installer

bên trong GPO. Cần lưu ý rằng bạn phải cấu hình thiết lập này là Enabled thay
cho Always. Như vậy sẽ bảo đảm rằng bạn vẫn có thể publish các ứng dụng cho
Terminal Server thông qua Group Policy. Còn sử dụng tùy chọn Always sẽ
không cho phép bạn thực hiện điều đó.
5. Hạn chế thư mục
Mặc dù chúng ta (các quản trị viên) có cung cấp nhiều location riêng và công cho
việc lưu trữ bảo mật dữ liệu nhưng một số người dùng của chúng ta vẫn tùy tiện
lưu dữ liệu trên desktop của họ. Tuy nhiên có một cách để tạo một bức tường
bảo vệ d
ữ liệu cho họ đó là chúng ta có thể chuyển hướng (redirect) desktop của
họ đến một location lưu trữ thích hợp trên một file server.
Bạn có thể cấu hình thiết lập này bằng cách duyệt đến User
Configuration\Windows Settings\Folder Redirection bên trong GPO. Desktop của
người dùng là thư mục mà chúng ta có thể chuyển hướng.
6. Chặn truy cập vào Control Panel
Cũng như với Microsoft Installer, người thông thường không nên truy cập vào
Control Panel nói chung. Mặc dù vậy, nếu những người nào đó cần ph
ải có các
đặc quyền quản trị viên để thực hiện một số thao tác thì bạn cũng có thể hạn chế
sự truy cập của họ vào control panel bằng cách cấu hình thiết lập này.
Bạn có thể cấu hình thiết lập này bằng cách duyệt đến User
Configuration\Administrative Templates\Control Panel bên trong GPO.
Kích hoạt sự thẩm định
Có một câu chuyện mà chúng tôi muốn kể với các bạn ở đây đối với một nhóm
các sinh viên, họ được trợ cấp một chiếc tủ lạnh để sử dụng chung. Hầu hết mọi
người khu trọ sử dụng quy tắc vàng đó là không ăn thức ăn không phải của
mình, nhưng có một lần đã có xảy ra một vụ mất trộm thức ăn. Điều này diễn ra
và thực sự không ai trong số họ có thể thực hiện gì để ngăn chặ
n điều này mà
vẫn phải sử dụng nó. Khi đó, một vài người trong số các sinh viên này đã quyết

định sử dụng một phương pháp để giải để tìm ra thủ phạm bằng cách đặt một ổ
bánh vào tủ lạnh. Và cuối cùng họ đã tìm ra thủ phạm bằng cách để ý người nào
dùng phần lớn thời gian của ngày tiếp theo trong phòng tắm. Phương pháp sử
dụng công thức bánh nhuận tràng này đã phát huy tác d
ụng.
Quan điểm của câu chuyện là trong nhiều tình huống, chúng ta không thể ngăn
chặn một lỗi bảo mật nào đó nhưng với một chiến lược thẩm định thích hợp,
chúng ta hoàn toàn có thể tìm ra được nơi xuất hiện lỗ hổng, cách nó xuất hiện
như thế nào và đôi khi phát hiện được cả ai đã thực hiện hành động đó. Tuy
nhiên chúng ta cần chọn các thuật ngữ để th
ẩm định trên Terminal Server sao
cho thích hợp để nhận được các thông tin cần thiết mà không bị quá tải do quá
nhiều thông tin. Microsoft khuyên chúng ta nên sử dụng các thiết lập thẩm định
dưới đây:
• Audit Account Logon Events - No Auditing
• Audit Account Management - Audit Success and Failure
• Audit Directory Services Access - No Auditing
• Audit Logon Events - Audit Success and Failure
• Audit Object Access - Audit Failure
• Audit Policy Change - Audit Success and Failure
• Audit Privilege Use - Audit Failure
• Audit Process Tracking - Audit Failure
• Audit System Events - Audit Success and Failure
Cùng với các thiết lập đó, bạn cũng có thể sử dụng thẩm định kết nối Connection
Auditing bên trong Terminal Services. Cách thức này sẽ cho phép bạn thẩm định
một vài mục cụ thể của Terminal Server. Để xem và cấu hình các thiết lập này,
bạn hãy mở Terminal Services Configuration snap-in, kích chuột phải vào kết nối
mà bạn muốn kích hoạt thẩm định, sau đó kích Properties. Vào tab Security, kích
Advanced, đánh tên người dùng của tài khoản muốn kích hoạt thẩm đị
nh. Ở đây

bạn có thể chọn một trong các tùy chọn được liệt kê sẵn.

Hình 5
Kết luận
Bài viết này là hướng dẫn khá đầy đủ mà bạn cần biết về bảo mật Terminal
Server, tuy nhiên nó chỉ nhấn mạnh một vài vấn đề lớn lớn thực sự cần thiết.
Terminal Services có một quãng đường đi rất dài từ khi khởi đầu và đó cũng là
quãng đường đi mà bảo mật cần phải thực hiện kèm, tuy nhiên chắc chắn không
lâu nữa chúng ta sẽ có
được những thay đổi thích hợp về cấu hình.

×