Quản trị mạng – Trong bài này chúng tôi sẽ giới thiệu cho các bạn cách duy trì một môi trường Active Directory an toàn. Giới thiệu một số mẹo bảo mật Active Directory nhằm tránh các lỗ hổng và kịp thời vá các lỗ hổng, thêm vào đó là một số thông tin về các thiết lập Kerberos và Group Policy.
Tránh lỗ hổng bảo mật Active Directory
Tầm quan trọng của việc bảo vệ Active Directory đã được đề cập đến rất nhiều, mặc dù vậy điều đó là chưa đủ khi nói đến việc duy trì một môi trường bảo mật.
Trước đây chúng ta đã biết đến bảo mật chia lớp (layered security), đây là một thuật ngữ được sử dụng bởi các chuyên gia bảo mật CNTT và các hãng phần mềm bảo mật dùng để mô tả cách thức bảo mật để bảo các tài nguyên thông tin và dữ liệu. Layered security là cách thức xếp đặt các tài nguyên có giá trị của bạn tại một điểm trung tâm trong môi trường của bạn và xây dựng hoặc triển khai nhiều vòng bảo vệ xung quanh các tài nguyên đó. Vì vậy những tấn công phải vượt qua được một loạt những hàng rào bảo vệ này trước khi tác động và gây ảnh hưởng tới tài nguyên.
Tuy Microsoft đã có được mức độ bảo mật mặc định đáng kể bên trong Active Directory (đặc biệt nếu bạn cài đặt Windows Server 2003 Active Directory hoặc phiên bản cao hơn), tuy nhiên bạn vẫn cần phải xem xét đến các thiết lập bảo mật sau khi cài đặt nó.
Bảo mật domain controller
Một trong những bước đầu tiên mà bạn cần thực hiện có liên quan đến việc phát triển một chính sách bảo mật domain controller vững chắc. Việc bảo vệ các domain controller là cốt lõi trong vấn đề bảo vệ môi trường Active Directory. Không có các domain controller, bạn sẽ không có cơ sở hạ tầng mạng Active Directory. Nếu các domain controller miền không được bảo vệ an toàn thì bạn có thể gặp nhiều rủi ro vì lúc này kẻ tấn công có thể biết các thư mục chia sẻ, tên người dùng và ăn cắp những thông tin có giá trị để sử dụng cho mục đích tấn công mạng ở cấp độ nguy hiểm hơn.
Chính vì vậy việc bảo vệ domain controller cho môi trường Active Directory để duy trì khả năng hoạt động và sự ổn định của nó là một việc làm quan trọng. Để bảo vệ domain controller bạn cần phải xem xét đến các khía cạnh bảo mật sau: physical access (bảo vệ các DC ở một địa điểm an toàn và chỉ các nhân viên CNTT mới có quyền truy cập) và network access (bảo vệ các DC tránh những người có thể tấn công mạng của bạn).
Với trách nhiệm của một quản trị viên, bạn cần quan tâm đến việc bảo đảm cho người dùng bên trong có quyền truy cập đúng và những kẻ xâm nhập với mưu đồ xấu không thể truy cập trong qua cố gắng thỏa hiệp DC của chúng. Nguy hiểm hơn là một người nào đó ở trong phòng và nhảy vào được DC (vật lý) khi không có quyền làm việc đó. Vì vậy nếu một người nào đó có truy cập vật lý, ví dụ như anh ta sẽ sở hữu máy tính của bạn, và truy cập vật lý đó cho phép họ điều khiển máy tính của bạn như bạn. Chính vì vậy việc giữ DC ở một địa điểm an toàn là cách đơn giản để bảo vệ sự an toàn cho Active Directory, tuy nhiên vấn đề này lại thường bị bỏ sót.
Khi vấn đề truy cập mạng được quan tâm thì việc không cung cấp các đặc quyền quản trị cho những người không có đủ kỹ năng quản lý hoặc với những người mà bạn không tin cậy thực sự là một vấn đề quan trọng. Bất cứ ai có khả năng cài đặt hoặc thay đổi các file hệ thống, như các dịch vụ/driver (ví dụ các hoạt động máy chủ, backup hoặc in ấn) đều có thể chiếm dụng máy tính của bạn. Có nhiều cách để điều này có thể xảy ra. Thông thường, tài khoản bảo mật có thể bị thỏa hiệp, cho phép kẻ xâm nhập có được quyền để thực hiện điều đó, tuy nhiên một người có các quyền này một cách hợp lệ vẫn có thể gây hại một cách không chủ tâm bởi việc cài đặt một ứng dụng nào đó mà không test nó từ trước.
Vấn đề đó đặt ra cần phải nắm chắc các nâng cấp mới được phát hành và những bản vá khẩn cấp của Microsoft, đây cũng là một chìa khóa để bảo mật cho DC của bạn. Luôn phải triển khai cùng các bản vá cho tất cả các DC. Các DC cần phải được giữ các bản sao hay copy của nhau không quá cũ nếu có thể, ít nhất cũng là về cấu hình hệ điều hành. Điều này sẽ giúp loại trừ được sự không tương thích, mất hoặc lỗi dữ liệu và lỗi bản sao.
Mọi bản vá cần được test trong môi trường để kiểm tra khả năng thích đáng và sự ổn định. Nếu không cần đến bản vá thì cũng không nhất thiết cần cài đặt nó. Các bản vá có thể làm hỏng môi trường của bạn nếu cài đặt gặp lỗi. Rõ ràng không ai muốn thay thế các DC của mình chỉ vì sự rủi ro mà có thế tránh được nó.
Bảo mật Kerberos với Microsoft
Với sự khởi đầu của Windows 2000, Microsoft đã ghi nhận Kerberos là một giao thức thẩm định. Không chỉ an toàn và hiệu quả hơn NTLM (được sử dụng trước kia), giao thức thẩm định này còn có thể tương thích với các hệ điều hành khác như Unix.
Để tìm hiểu về cách làm việc của Kerberos trong thế giới Windows, trước hết bạn cần hiểu sơ qua về sự thẩm định và cấp phép Kerberos.
Sự thẩm định (Authentication) là quá trình trình diện các điều kiện cần thiết (username/password) đối với một dịch vụ để hợp lệ hóa bạn. Khi một người dùng nào đó nhập vào username/password của anh ta trong môi trường Kerberos, các thông tin đó sẽ được gửi đến máy chủ đang chạy dịch vụ thẩm định Authentication Service. Authentication Service sẽ đưa các thông tin này đến một cơ sở dữ liệu mang tên Key Distribution Center (KDC). Nếu username/password hợp lệ, Authentication Service sẽ gửi một thẻ Ticket Granting Ticket (TGT) đến máy khách, cho phép máy khách hoàn tất quá trình đăng nhập. TGT gồm có một tem thời gian, khóa công và một chứng chỉ.
Sự cấp phép (Authorization) là quá trình cho phép truy cập đối với một tài nguyên nào đó trên máy chủ nằm trong mạng. Tiếp tục từ quá trình thẩm định, khi máy khách nhận thẻ TGT, nó có thể yêu cầu sự truy cập đến tài nguyên. TGT phải trình diện đối với Ticket Granting Service và yêu cầu một thẻ session để truy cập vào tài nguyên trên máy chủ (chẳng hạn Server 1). Nếu Server 1 nằm trong miền, Ticket Granting Service sẽ biết rằng có một TGT hợp lệ, vì vậy các chứng chỉ được cho qua và thẻ session được phép đối với Server 1. Máy khách sau đó sẽ trình diện session ticket với Server 1 để truy cập vào tài nguyên (ví dụ như máy in, các tài liệu và file chia sẻ). Server 1 sau đó sẽ kiểm tra quyền truy cập trên tài nguyên đó để xem người dùng này có thể thực hiện những gì (đọc, ghi,..)
Trong một miền Windows, tất cả các dịch vụ có liên quan đến Kerberos đã mô tả được nắm giữ bởi mỗi DC. Khi người dùng trình diện mật khẩu và tên truy cập để thẩm định trong một miền Windows, quá trình thẩm định Kerberos tương tự như trên sẽ được sử dụng – với một ngoại lệ. Để tìm ra một DC cũng là KDC, máy khách phải sử dụng quá trình DC Locator, nó yêu cầu một máy chủ DNS để tìm kiếm DC thích hợp và gửi các thông tin này trở lại máy khách. Sau đó máy khách sẽ chuyển tên và mật khẩu đến DC cho phép TGT và sau đó là một session ticket nếu máy chủ được truy cập nằm trong miền của DC. Quyền truy cập được kiểm tra bởi máy chủ và được cho phép đến máy khách.
Các thiết lập bảo mật Group Policy
Một trong những bước quan trọng nhất trong việc bảo mật Active Directory đó là các thiết lập bảo mật Group Policy. Với cần 1.800 thiết lập chính sách trong một GPO (Group Policy Object), người dùng được trao rất nhiều tính năng về: quyền điều khiển, bảo mật, quản lý trên mỗi một Active Directory enterprise.
Có hai GPO mặc định trong mỗi miền Active Directory. Các GPO mặc định này nằm ở đây với các lý do khác nhau và nên được nghiên cứu kỹ lưỡng để bảo đảm chúng được cấu hình đúng cách. Nếu chúng được cấu hình đúng cách, bạn sẽ cung cấp cho tổ chức mình một lớp bảo vệ tốt nhất. GPO mặc định đầu tiên là Default Domain Policy. GPO này chịu trách nhiệm thiết lập và duy trì các chính sách tài khoản cho tài khoản người dùng trong miền, đây là một vấn đề rất cần thiết cho việc bảo vệ mật khẩu tài khoản người dùng trong miền.
GPO mặc định thứ hai là Default Domain Controller Policy. GPO này có trách nhiệm thiết lập sự bảo mật cơ bản cho tất cả các domain controller trong miền. Các thiết lập bảo mật chính được thiết lập trong GPO là các quyền người dùng. Người dùng có thể có các quyền như:
- Cho phép người dùng đăng nhập bằng bàn phím kết nối trực tiếp với máy tính (nội bộ)
- Thay đổi thời gian hệ thống
- Backup các file và thư mục
- Truy cập máy tính và tài nguyên của nó qua mạng.
Mặc dù các mạng sử dụng Active Directory nên cần có thêm nhiều GPO ngoài hai GPO mặc định này. Lý do cho điều này là rằng Group Policy có thể cung cấp một phương pháp tập trung và tự động cho việc cấu hình và triển khai các thiết lập bảo mật đến tất cả máy tính và người dùng bên trong miền. Một số thiết lập và vùng cấu hình có liên quan đến vấn đề bảo mật nói chung trong đó có khả năng hạn chế ứng dụng nào có thể được chạy trên các máy tính, sử dụng bảo mật IP để mã hóa dữ liệu giữa các máy, hạn chế các kết nối nặc danh đến các máy và thẩm định các thiết lập chính sách trên máy tính.
Các bạn cũng cần phải biết rằng có một số tấn công bảo mật mạng có thể được tránh một cách dễ dàng bằng Group Policy có thể thông qua các bước cấu hình đơn giản. Tuy nhiên chúng tôi sẽ giới thiệu cho các bạn những kiến thức đó trong một bài viết khác.