Active Directory là một sản phẩm của Microsoft bao gồm một số dịch vụ chạy trên Windows Server nhằm mục đích quản lý quyền và truy cập vào các tài nguyên mạng...
Active Directory là một sản phẩm của Microsoft bao gồm một số dịch vụ chạy trên Windows Server nhằm mục đích quản lý quyền và truy cập vào các tài nguyên mạng. Active Directory lưu trữ dữ liệu dưới dạng Object (đối tượng), mỗi Object là một thành phần đơn lẻ, như User, Group, ứng dụng hoặc thiết bị. Active Directory phân loại Object theo tên và thuộc tính cùng với các thông tin liên quan đến User đó như Password và Secure Shell Key. Dịch vụ chính trong Active Directory là Domain Service, lưu trữ các thông tin thư mục và xử lý tương tác giữa User và Domain. Domain Service sẽ xác thực truy cập khi một User đăng nhập vào thiết bị hoặc tìm cách kết nối với máy chủ (Server) thông qua một mạng khác, Domain Service sẽ kiểm soát User nào được phép truy cập vào tài nguyên nào.
1. Khái niệm về Active Directory
Active Directory là một dịch vụ thư mục (Directory Service) được đăng ký bản quyền bởi Microsoft, nó là một phần không thể thiếu trong kiến trúc Windows. Giống như các dịch vụ thư mục khác, chẳng hạn như Novell Directory Services (NDS), Active Directory là một hệ thống tập trung, dùng để tự động hóa việc quản lý mạng dữ liệu người dùng, bảo mật và các nguồn tài nguyên được phân phối, cho phép tương tác với các thư mục khác. Thêm vào đó, Active Directory được thiết kế đặc biệt cho các môi trường kết nối mạng được phân bổ theo một kiểu cụ thể gồm có User, Groups, Computer, Printer, Policy và Permission.
Active Directory là một dạng cơ sở dữ liệu với mục đích rõ ràng và riêng biệt, tuy nhiên, nó hoàn toàn không phải là một sự thay thế cho cơ sở dữ liệu phân cấp để lưu trữ thông số (Registry) của Windows. Một mạng lưới khách hàng (Client) rộng lớn có hàng trăm, hàng ngàn nhân viên và mỗi nhân viên có tên (họ và tên) khác nhau, công việc khác nhau, phòng, ban khác nhau... và mỗi Server quản lý các Client đó phải có Active Directory để phân loại và xử lý công việc một cách tối ưu nhất. Các phần dữ liệu trong Active Directory đều có tính kế thừa, nhân rộng, cấp bậc... rõ ràng và linh hoạt.
2. Nhiệm vụ của Active Directory
Active Directory được xem như là một bước tiến triển đáng kể so với Windows NT Server 4.0 Domain hay thậm chí các mạng máy chủ Standalone. Active Directory có một cơ chế quản trị tập trung trên toàn bộ mạng. Nó cũng cung cấp khả năng dự phòng và tự động chuyển đổi dự phòng khi hai hoặc nhiều Domain Controller (DC) được triển khai trong một Domain.
Active Directory sẽ tự động quản lý sự truyền thông giữa các Domain Controller để bảo đảm mạng được duy trì. Người dùng có thể truy cập vào tất cả tài nguyên trên mạng thông qua cơ chế đăng nhập một lần. Tất cả các tài nguyên trong mạng được bảo vệ bởi một cơ chế bảo mật khá mạnh, cơ chế bảo mật này có thể kiểm tra nhận dạng người dùng và quyền hạn của mỗi truy cập đối với tài nguyên.
Active Directory cho phép tăng cấp, hạ cấp các DC và các máy chủ thành viên một cách dễ dàng. Các hệ thống có thể được quản lý và được bảo vệ thông qua các chính sách nhóm Group Policies. Đây là một mô hình tổ chức có thứ bậc linh hoạt, cho phép quản lý dễ dàng và ủy nhiệm trách nhiệm quản trị. Mặc dù vậy, quan trọng nhất vẫn là Active Directory có khả năng quản lý hàng triệu đối tượng bên trong một Domain.
3. Cấu trúc cơ bản của Active Directory
Các mạng Active Directory được tổ chức bằng cách sử dụng 4 kiểu đơn vị hay cấu trúc mục. Bốn đơn vị này được chia thành Forest, Domain, Organizational unit và Site:
Forests: Nhóm các đối tượng, các thuộc tính và cú pháp thuộc tính trong Active Directory.
Domain: Nhóm các máy tính chia sẻ một tập chính sách chung, tên và một cơ sở dữ liệu của các thành viên của chúng.
Organizational unit (OU): Nhóm các mục trong Domain nào đó. Chúng tạo nên một kiến trúc thứ bậc cho Domain và tạo cấu trúc công ty của Active Directory theo các điều kiện tổ chức và địa lý.
Site: Nhóm vật lý những thành phần độc lập của Domain và cấu trúc OU. Các Site phân biệt giữa các vị trí được kết nối bởi các kết nối tốc độ cao và các kết nối tốc độ thấp và được định nghĩa bởi một hoặc nhiều địa chỉ mạng con (IP subnet).
Các Forest không bị hạn chế theo địa lý hoặc cấu trúc mạng. Một Forest có thể gồm nhiều Domain, mỗi Domain lại chia sẻ một lược đồ chung. Các thành viên Domain của cùng một Forest thậm chí không cần có kết nối LAN hoặc WAN giữa chúng. Mỗi một mạng riêng cũng có thể là một gia đình của nhiều Forest độc lập. Nói chung, một Forest nên được sử dụng cho mỗi một thực thể. Mặc dù vậy, vẫn cần đến các Forest bổ sung cho việc thực hiện kiểm tra và nghiên cứu các mục đích bên ngoài Forest tham gia sản xuất.
Các Domain phục vụ như các mục trong chính sách bảo mật và các nhiệm vụ quản trị. Tất cả các đối tượng bên trong một Domain đều là chủ đề cho nhóm chính sách Domain diện rộng. Tương tự như vậy, bất cứ quản trị viên Domain nào cũng có thể quản lý tất cả các đối tượng bên trong một Domain. Thêm vào đó, mỗi Domain cũng đều có cơ sở dữ liệu các tài khoản duy nhất của nó. Chính vì vậy, tính xác thực là một trong những vấn đề cơ bản của Domain. Khi một tài khoản người dùng hoàn toàn xác thực đối với một Domain nào đó thì tài khoản người dùng này có thể truy cập vào các tài nguyên bên trong Domain.
Active Directory yêu cầu một hoặc nhiều Domain để hoạt động. Như đề cập từ trước, một Domain Active Directory là một bộ các máy tính chia sẻ chung một tập các chính sách, tên và cơ sở dữ liệu các thành viên của chúng. Một Domain có một hoặc nhiều máy Domain Controller (DC) và lưu cơ sở dữ liệu, duy trì các chính sách và cung cấp sự thẩm định cho các đăng nhập vào Domain.
Trước kia trong Windows NT, bộ điều khiển Domain chính - Primary domain controller (PDC) và bộ điều khiển Domain backup (Backup domain controller - BDC) là các role có thể được gán cho một máy chủ trong một mạng các máy tính sử dụng hệ điều hành Windows. Windows đã sử dụng ý tưởng Domain để quản lý sự truy cập đối với các tài nguyên mạng (ứng dụng, máy in...) cho một nhóm người dùng. Người dùng chỉ cần đăng nhập vào Domain là có thể truy cập vào các tài nguyên, những tài nguyên này có thể nằm trên một số các máy chủ khác nhau trong mạng.
Máy chủ được biết đến như PDC, quản lý cơ sở dữ liệu người dùng Master cho Domain. Một hoặc một số máy chủ khác được thiết kế như BDC. PDC gửi định kỳ các bản copy cơ sở dữ liệu đến các BDC. Một BDC có thể đóng vai trò như một PDC nếu máy chủ PDC bị lỗi và cũng có thể trợ giúp cân bằng luồng công việc nếu quá bận.
Với Windows 2000 Server, khi Domain Controller vẫn được duy trì, các nhiệm vụ của máy chủ PDC và BDC cơ bản được thay thế bởi Active Directory. Người dùng cũng không tạo các Domain phân biệt để phân chia các đặc quyền quản trị. Bên trong Active Directory, người dùng hoàn toàn có thể ủy nhiệm các đặc quyền quản trị dựa trên các OU. Các Domain không bị hạn chế bởi một số lượng 40.000 người dùng. Các Domain Active Directory có thể quản lý hàng triệu các đối tượng. Vì không còn tồn tại PDC và BDC nên Active Directory sử dụng bản sao multimaster replication và tất cả các Domain Controller đều ngang hàng nhau.
OU linh hoạt hơn và cho phép quản lý dễ dàng hơn so với các Domain. OU cho phép người sử dụng có được khả năng linh hoạt gần như vô hạn, người sử dụng có thể chuyển, xóa và tạo các OU mới nếu cần. Mặc dù các Domain cũng có tính chất mềm dẻo. Chúng có thể bị xóa hoặc tạo mới, tuy nhiên, quá trình này dễ dẫn đến phá vỡ môi trường so với các OU và cũng nên tránh nếu có thể.
Infrastructure Master và Global Catalog
Một thành phần chính khác bên trong Active Directory là Infrastructure Master (IM). IM hoạt động rất linh hoạt và thông minh, nó có vai trò trả lời tự động trong quá trình hoạt động, đồng thời tự động sửa lỗi (Phantom) bên trong cơ sở dữ liệu Active Directory.
Phantom được tạo ra trên các DC, nó yêu cầu một sự tham chiếu chéo cơ sở dữ liệu giữa một đối tượng bên trong cơ sở dữ liệu riêng và một đối tượng từ Domain bên trong Forest. Ví dụ có thể bắt gặp khi bổ sung thêm một người dùng nào đó từ một Domain vào một nhóm bên trong Domain khác có cùng Forest. Phantom sẽ bị mất hiệu lực khi chúng không chứa dữ liệu mới cập nhật, điều này xuất hiện vì những thay đổi được thực hiện cho đối tượng bên ngoài mà Phantom thể hiện, ví dụ như khi đối tượng mục tiêu được đặt lại tên, chuyển đi đâu đó giữa các Domain, hay bị xóa. IM có khả năng định vị và khắc phục một số phantom. Bất cứ thay đổi nào xảy ra do quá trình sửa lỗi đều được tạo bản sao đến tất cả các DC còn lại bên trong Domain.
IM đôi khi bị lẫn lộn với Global Catalog (GC), đây là thành phần duy trì một sao chép chỉ cho phép đọc đối với các Domain nằm trong một Forest, được sử dụng cho lưu trữ nhóm phổ dụng và quá trình đăng nhập,... Do GC lưu bản copy không hoàn chỉnh của tất cả các đối tượng bên trong Forest nên chúng có thể tạo các tham chiếu chéo giữa Domain không có nhu cầu sửa lỗi.
Active Directory và LDAP
LDAP (Lightweight Directory Access Protocol) là một phần của Active Directory, nó là một giao thức phần mềm cho phép định vị các tổ chức, cá nhân hoặc các tài nguyên khác như file và thiết bị trong mạng, dù là mạng Internet công cộng hay mạng nội bộ trong công ty.
Trong một mạng, một thư mục sẽ cho bạn biết được nơi cất trữ dữ liệu gì đó. Trong các mạng TCP/IP (gồm có cả Internet), Domain Ame System (DNS) là một hệ thống thư mục được sử dụng gắn liền tên Domain với một địa chỉ mạng cụ thể (vị trí duy nhất trong mạng). Mặc dù vậy, người dùng có thể không biết tên Domain nhưng LDAP cho phép tìm kiếm những gì cụ thể mà không cần biết chúng được định vị ở đâu.
Thư mục LDAP được tổ chức theo một kiến trúc cây đơn giản gồm có các mức dưới đây:
- Thư mục gốc có các nhánh con.
- Country, mỗi Country lại có các nhánh con.
- Organizations, mỗi Organization lại có các nhánh con.
- Organizational units (các đơn vị, phòng ban,...), OU có các nhánh.
- Individuals (cá thể, gồm có người, file và tài nguyên chia sẻ, chẳng hạn như Printer).
Một thư mục LDAP có thể được phân phối giữa nhiều máy chủ. Mỗi máy chủ có thể có một phiên bản sao của thư mục tổng thể và được đồng bộ theo chu kỳ.
Các quản trị viên cần phải hiểu LDAP khi tìm kiếm các thông tin trong Active Directory, cần tạo các truy vấn LDAP hữu dụng khi tìm kiếm các thông tin được lưu trong cơ sở dữ liệu Active Directory.
Active Directory và Workgroup là một chương trình Microsoft khác kết nối các máy tính Windows với nhau qua mạng ngang hàng (peer-to-peer). Workgroup cho phép các máy này chia sẻ tệp, truy cập Internet, máy in và các tài nguyên khác qua mạng. Mạng ngang hàng loại bỏ nhu cầu xác thực máy chủ.
Quản lý Group Policy và Active Directory
Nói đến Active Directory, chúng ta phải đề cập đến Group Policy (nhóm chính sách áp dụng cho tài khoản người dùng và máy tính). Các quản trị viên có thể sử dụng Group Policy trong Active Directory để định nghĩa các thiết lập người dùng và máy tính trong toàn mạng. Thiết lập này được cấu hình và được lưu trong Group Policy Objects (GPO), các thành phần này sau đó sẽ được kết hợp với các đối tượng Active Directory, gồm có các Domain và Site. Đây chính là cơ chế chủ yếu cho việc áp dụng các thay đổi cho máy tính và người dùng trong môi trường Windows.
Thông qua quản lý Group Policy, các quản trị viên có thể cấu hình toàn cục các thiết lập Desktop trên các máy tính người dùng, hạn chế hoặc cho phép truy cập đối với các file hoặc thư mục nào đó bên trong mạng.
GPO được áp dụng theo thứ tự sau: Các chính sách máy nội bộ được sử dụng trước, sau đó là các chính sách Site, chính sách Domain, chính sách được sử dụng cho các OU riêng. Ở một thời điểm nào đó, một đối tượng người dùng hoặc máy tính chỉ có thể thuộc về một Site hoặc một Domain, vì vậy chúng sẽ chỉ nhận các GPO liên kết với Site hoặc Domain đó.
Các GPO được phân chia thành hai phần riêng biệt: Group Policy Template (GPT) và Group Policy Container (GPC). Group Policy Template có trách nhiệm lưu các thiết lập được tạo bên trong GPO. Nó lưu các thiết lập trong một cấu trúc thư mục và các file lớn. Để áp dụng các thiết lập này thành công đối với tất cả các đối tượng người dùng và máy tính, GPT phải được tạo bản sao cho tất cả các DC bên trong Domain.
Group Policy Container là một phần của GPO và được lưu trong Active Directory trên các DC trong Domain. GPC có trách nhiệm giữ tham chiếu cho Client Side Extensions (CSEs), đường dẫn đến GPT, đường dẫn đến các gói cài đặt và những khía cạnh tham chiếu khác của GPO. GPC không chứa nhiều thông tin có liên quan đến GPO tương ứng với nó, tuy nhiên nó là một thành phần cần thiết của Group Policy. Khi các chính sách cài đặt phần mềm được cấu hình, GPC sẽ giúp giữ các liên kết bên trong GPO. Bên cạnh đó, nó cũng giữ các liên kết quan hệ khác và các đường dẫn được lưu trong các thuộc tính đối tượng. Biết được cấu trúc của GPC và cách truy cập các thông tin ẩn được lưu trong các thuộc tính sẽ rất cần thiết khi người dùng cần kiểm tra một vấn đề nào đó có liên quan đến Group Policy.
Nguyễn Minh Dũng
Cục Công nghệ thông tin, NHNN