Điều khiển Service Security bằng Windows Server 2008 - Phần 1
Derek Melber
Quản trị mạng - Dựa trên những thông tin phản hồi từ phần một, chúng tôi đã mở rộng bài biết gốc (giờ đây được gọi là phần 1). Trong phần một đó, chúng tôi đã giới thiệu cho các bạn về cách bảo vệ các dịch vụ bằng cách sử dụng cả thiết lập Group Policy của các dịch vụ trước kia và chính sách của các dịch vụ mới được cải thiện trong Group Policy Preferences. Cả hai thiết lập Group Policy này đều cho phép kiểm soát bảo mật dịch vụ theo các cách khác nhau. Trong phần hai này, chúng tôi sẽ giới thiệu cho các bạn về các thiết lập bảo mật này, thêm vào đó là sự kiểm soát các tài khoản dịch vụ để điều khiển mỗi dịch vụ, cũng như nâng cấp “thời gian thực” của các dịch vụ và các tài khoản của họ. Thấu hiểu tầm quan trọng của các ứng dụng mạng với khả năng sẵn có cao và nhu cầu của việc bảo mật của các quản trị viên mạng cũng như những người làm công tác bảo mật. Tìm sự cân bằng giữa khả năng có sẵn và sự bảo mật cần phải bỏ nhiều đầu tư công sức. Phần hai này sẽ mang đến cho các bạn những trang bị cần thiết đối với những nhu cầu có liên quan đến các dịch vụ và tài khoản dịch vụ này.
Bảo vệ tài khoản dịch vụ
Các tài khoản dịch vụ được sử dụng bởi các dịch vụ nhằm thực hiện các hành động đối với máy tính nơi dịch vụ được cài đặt hoặc để kết nối đến các tài nguyên mạng khác để thực hiện một nhiệm vụ nào đó. Khi các tài khoản dịch vụ được tạo và được cấu hình, mức đặc quyền sẽ thay đổi. Trong hầu hết các trường hợp, các tài khoản dịch vụ được cấp một số mức đặc quyền quản trị viên. Với đa số các dịch vụ hướng đến phục vụ một mạng người dùng, thì các tài khoản dịch vụ thường được cấp phép cho các thành viên trong nhóm Domain Admins bên trong Active Directory. Trong một số trường hợp, các tài khoản dịch vụ có thể được cấp phép thành viên trong nhóm Enterprise Admins, đây là điều mà trong hầu hết các trường hợp quá xa so với sức mạnh cho một dịch vụ và tài khoản của nó. Mặc dù vậy, phụ thuộc vào việc lập trình dịch vụ, thì đây có thể là một cấu hình mang tính bắt buộc.
Do các tài khoản dịch vụ được cấp phép để có được sức mạnh như vậy trong suốt quá trình cài đặt và cấu hình, nên các tài khoản cần phải được bảo vệ đúng cách. Để bảo đảm an toàn cho các tài khoản này, các quản trị viên cần phải đưa ra các hành động với mỗi và các tài khoản dịch vụ. Nhiệm vụ không phức tạp nhưng cần phải cần cù để bảo đảm rằng các tài khoản được bảo vệ, được quản lý và được kiểm tra để phát hiện kịp thời các hành động xấu. Các nhiệm vụ cần phải được hoàn tất để bảo vệ các tài khoản dịch vụ gồm:
- Cấu hình người dùng tài khoản dịch vụ để hạn chế các khả năng đăng nhập vào máy trạm.
- Mật khẩu cần phải được thiết lập thời gian hết hạn và thiết lập lại thường xuyên.
Những hạn chế máy trạm
Một tài khoản người dùng được tạo và được lưu trong Active Directory đều bị hạn chế với các máy tính mà họ có thể đăng nhập. Hiếm khi bạn hạn chế một tài khoản người dùng chuẩn để chỉ có một vài máy trạm họ có thể đăng nhập, nhưng trong một số trường hợp hiếm hoi thì điều đó là hoàn toàn có thể. Khi nói đến các tài khoản dịch vụ, thì vấn đề này mang tầm toàn cầu. Lý do ở đây là, các tài khoản dịch vụ có một số lượng máy tính hạn chế mà nó cần đăng nhập. Nếu một tài khoản dịch vụ nào đó đang được sử dụng bởi một người dùng chuẩn hoặc đang đăng nhập vào các máy tính ngoài máy tính đang chạy dịch vụ, khi đó sẽ gây ra một vấn đề bảo mật đáng kể. Vì vậy, việc cấu hình tài khoản dịch vụ để chỉ có thể đăng nhập vào các máy tính nơi dịch vụ cư trú là một cấu hình bảo mật tốt.
Thiết lập cho việc hạn chế máy trạm (gồm có cả máy trạm và máy chủ) được đặt bên dưới các thuộc tính người dùng trong Active Directory Users and Computers. Bằng cách kích chuột phải vào tài khoản người dùng, bạn sẽ chọn Properties. Sau đó bên trong hộp thoại thuộc tính, chọn tab Account. Trên tab này, bạn sẽ thấy nút Log On To như thể hiện trong hình 1.
Hình 1: Hộp thoại các thuộc tính của người dùng có thể hạn chế các máy trạm mà các tài khoản người dùng đăng nhập
Khi chọn nút Workstations, bạn sẽ thấy một hộp thoại để nhập vào danh sách tên máy trạm. Ở đây, bạn chỉ đánh tên của máy chủ vào nơi dịch vụ được cấu hình để hỗ trợ dịch vụ đang chạy trên máy chủ đó. Hình 2 thể hiện một ví dụ về những gì có thể thực hiện cho tài khoản dịch vụ để hỗ trợ ứng dụng HR, nơi dịch vụ chạy trên ba máy chủ HR khác nhau.
Hình 2: Hộp thoại các máy trạm cho phép bạn nhập vào tên của máy chủ
Với cấu hình này, tài khoản dịch vụ sẽ chỉ được phép đăng nhập vào ba máy chủ đã được liệt kê. Điều đó có nghĩa rằng tài khoản, thậm chí nếu bị thỏa hiệp, sẽ không được phép đăng nhập từ bất kỳ máy tính khác trên mạng.
Hết hạn và thiết lập lại mật khẩu
Có rất nhiều tranh luận trong lĩnh vực IT liên quan đến việc có hay không một mật khẩu tài khoản dịch vụ cần phải có chính sách hết hạn. Cũng có một số tranh luận về các tài khoản người dùng chuẩn, chẳng hạn như các nhân viên IT, nhân viên HR, nhà quản trị,… Mặc dù vậy, hầu hết các quản trị viên IT đều cho rằng, nếu mật khẩu tài khoản dịch vụ được thiết lập trong một thời hạn nào đó thì dịch vụ sẽ thất bại nếu mật khẩu đó bị thay đổi. Vâng, điều đó hoàn toàn đúng. Nếu bạn nhìn vào tình huống này, quản trị viên CNTT có một điểm, trong đó mật khẩu cần được thay đổi bên trong ADUC và MỌI máy chủ nơi tài khoản dịch vụ đang được sử dụng. Với một công ty có số lượng lớn các máy chủ và các máy chủ này nằm phân bố trên toàn thế giới thì điều này hơi khó để thực hiện.
Mặc dù vậy, với công nghệ sẵn có ngày nay, các mật khẩu tài khoản dịch vụ có thể được thiết lập theo thời hạn và quá trình thiết lập lại mật khẩu có thể được thực hiện một cách nhanh chóng. Có bốn bước để thực hiện quá trình này, tất cả đều rất dễ cấu hình và duy trì.
Bước đầu tiên là cấu hình tài khoản dịch vụ để có tính năng hết hạn mật khẩu. Bạn có thể thấy trong hình 1, trong đó có một tùy chọn để Password không bao giờ hết hạn hướng đến nút của hộp thoại. Bạn sẽ cần phải bảo đảm rằng hộp thoại đó không được kiểm. Điều này cần có một tài khoản dịch vụ tham gia vào chính sách mật khẩu cho toàn bộ miền liên quan đến tần suất mật khẩu hết hạn như thế nào. Mặc định trong miền Windows Server 2003/2008, tần suất này là 42 ngày. Điều đó có nghĩa rằng xấp xỉ khoảng một tháng bạn cần phải thiết lập lại mật khẩu tài khoản dịch vụ.
Bước 2 là thiết lập lại mật khẩu cho tài khoản dịch vụ của bạn. Bên trong ADUC, bạn chọn đối tượng tài khoản dịch vụ, sau đó kích phải vào nó và chọn Reset Password. Ở đây bạn sẽ đánh vào mật khẩu mới và thẩm định lại mật khẩu.
Lưu ý: Cần phải bảo đảm không tích vào hộp kiểm có nhãn “User must change password at next logon”. Điều đó sẽ gây ra một vấn đề bảo mật đáng kể đó là tài khoản dịch vụ không có cơ hội cập nhật mật khẩu, vì nó chỉ được cấu hình thông qua dịch vụ. Hình 3 minh chứng những gì về hộp thoại này.
Hình 3: Hộp thiết lập lại mật khẩu cho tài khoản dịch vụ của bạn
Bước 3 là sử dụng thiết lập Group Policy Preferences cho các các dịch vụ. Đây là một thiết lập mới hiện có khi bạn đang soạn thảo một GPO từ máy tính Windows Server 2008 hoặc Windows Vista SP1 (RSAT đã được cài đặt). Thiết lập mới hiện hữu trong Computer Configuration\Preferences\Control Panel Settings\Services. Bên trong giao diện đối với dịch vụ của bạn này, như thể hiện trong hình 4, bạn sẽ có thể nhập vào tên tài khoản dịch vụ đúng và mật khẩu mới. Nhập vào mật khẩu mà bạn nhập vào trong ADUC cho tài khoản người dùng và khi đó tất cả các máy tính được nhắm đến GPO sẽ nhận mật khẩu tài khoản dịch vụ mới.
Hình 4: Các thiết lập Group Policy Preferences Services có thể thiết lập lại mật khẩu cho dịch vụ đang chạy trên máy tính mục tiêu
Bước thứ tư (cuối cùng) là sử dụng công cụ có thể nâng cấp việc xử lý GPO ngay lập tức có thể. Bạn có thể vào mỗi một máy chủ và chạy GPUPDATE, tuy nhiên thao tác này cần một chút thời gian và máy chủ có thể không sẵn sàng. Một giải pháp khác là sử dụng một công cụ miễn phí mang tên GPUPDATE từ Special Operations Software. Cũng có tên tương tự, nhưng đây là một giải pháp hoàn toàn khác. Nó là một biến đổi snap-in cho ADUC để cho phép quản trị viên bắt buộc refresh ngầm Group Policy từ bộ điều khiển miền. Tiện ích GPUPDATE có thể nâng cấp tất cả các máy tính trong miền, bên trong OU, hoặc chỉ một máy tính riêng lẻ. Bạn có thể download công cụ miễn phí này ở đây.
Kết luận
Các tài khoản dịch vụ có thể được nâng đặc quyền nhưng lại hiếm khi được kiểm tra, hiếm khi thiết lập lại mật khẩu sẽ để lại nhiều kẽ hở trong bảo mật. Chính vì vậy chúng ta cần phải sử dụng các biện pháp phòng ngừa từ trước để bảo vệ các tài khoản này. Trong bài, chúng tôi đã giới thiệu cho các bạn cách hạn chế phạm vi về nơi các tài khoản có thể đăng nhập, điều đó đã làm giảm bề mặt tấn công nếu một kẻ tấn công nào đó chiếm được một tài khoản. Không có lý do cho một tài khoản dịch vụ phải có khả năng đăng nhập vào bất cứ máy tính nào trong miền. Tiếp đến, mật khẩu dịch vụ cho các tài khoản dịch vụ cần phải được thiết lập lại thường xuyên. Chúng tôi đã giới thiệu cho các bạn bốn bước để thực hiện điều đó. Bằng cách thực hiện theo bốn bước này, bạn sẽ bảo vệ được các máy chủ, mạng và toàn bộ môi trường máy tính của mình.