Active Directory là gì?
Active Directory (AD) là một kiến trúc độc quyền của Microsoft. Theo đó nó là 1 kiến trúc không thể nào thiếu trên Windows Server và có thể được hiểu là 1 dịch vụ thư mục. Active Directory là một hệ thống được chuẩn hóa với khả năng quản trị tập trung hoàn hảo về người dùng cũng như các nguồn tài nguyên trong một hệ thống mạng. Active Directory được sử dụng trong mô hình mạng “Server – Client”.
Khi Windows 2000 được phát hành, Microsoft tích hợp một thành phần là Active Directory. Khi máy chủ Windows sử dụng Windows 2000 Server, Windows Server 2003 hay Longhorn Server, công việc của domain controller (bộ điều khiển miền) là chạy dịch vụ Active Directory. Active Directory chính là trái tim của Windows Server 2003 , hầu như tất cả mọi hoạt động diễn ra trên hệ thống đều chịu sự chi phối và điều khiển của Active Directory. Từ phiên bản Windows NT4.0 trở về sau, Microsoft đã phát triển hệ thống Active Directory dùng để lưu trữ dữ liệu của domain như các đối tượng user, computer, group cung cấp những dịch vụ (directory services) tìm kiếm, kiểm soát truy cập, ủy quyền, và đặc biệt là dịch vụ chứng thực được xây dựng dựa trên giao thức Keberos hỗ trợ cơ chế single sign-on, cho phép các user chỉ cần chứng thực một lần duy nhất khi đăng nhập vào domain và có thể truy cập tất cả những tài nguyên và dịch vụ chia sẻ của hệ thống với những quyền hạn hợp lệ.
Với những dịch vụ và tiện ích của mình, Active Directory đã làm giảm nhẹ công việc quản lý và nâng cao hiệu quả hoạt động, những công việc mà hầu như không thể thực hiện được trên một hệ thống mạng ngang hàng, phân tán thì giờ đây chúng ta có thể tiến hành một cách dễ dàng thông qua mô hình quản lý tập trung như đưa ra các chính sách chung cho toàn bộ hệ thống nhưng đồng thời có thể ủy quyền quản trị để phân chia khả năng quản lý trong một môi trường rộng lớn.
Ví dụ: Để hiểu rõ hơn Active Directory là gì hãy cùng điểm qua ví dụ cụ thể sau đây:
Khi người dùng đăng nhập trực tiếp vào trong máy tính là phần miền của Windows thì Active Directory sẽ sẽ tiến hành kiểm tra những mật khẩu đã gửi cũng như xác định coi người dung là người dùng bình thường hay quản trị viên của hệ thống.
Bên cạnh đó nó còn cho phép lưu trữ thông tin, quản lý, cung cấp những cơ chế bị xác thực cũng như uỷ quyền, thiết lập 1 khung nhằm triển khai những dịch vụ khác có liên quan như: Rights Management Services, Lightweight Directory Services, Active Directory Federation Services và Certificate Services.
Những tính năng của Active Directory
Centralized Data Store – Lưu trữ dữ liệu tập trung: Toàn bộ dữ liệu, thông tin trong hệ thống được lưu trữ một cách tập trung, cho phép người dùng có thể truy cập dữ liệu từ bất cứ nơi đâu, bất cứ lúc nào đồng thời nâng cao hiệu năng quản trị của hệ thống, giảm thiếu độ rủi ro cho tài nguyên.
Scalability – Khả năng linh hoạt với nhu cầu: Active Directory cung ứng một cách linh hoạt các giải pháp quản trị khác nhau cho từng nhu cầu cụ thế trên nền tảng hạ tầng xác định của các doanh nghiệp.
Extensibility – Cơ sở dữ liệu của Active Directory cho phép nhà quản trị có thể customize và phát triển, ngoài ra ta còn có thể phát triển các ứng dụng sử dụng cơ sở dữ liệu này, giúp tận dụng hết khả năng, hiệu năng của Active Directory.
Manageability – Khả năng quản trị linh hoạt dễ dàng: Active Directory được tổ chức theo cơ chế của Directory Service dưới mô hình tổ chức Directory giúp các nhà quản trị có cái nhìn tổng quan nhất đối với cả hệ thống, đồng thời giúp user có thể dễ dàng truy xuất và sử dụng tài nguyên hệ thống.
Integration with Domain Name System (DNS): DNS là một partner rất cần thiết đối với Active Directory, trong một hệ thống mạng, các dịch vụ của Active Directory chỉ hoạt động được khi dịch vụ DNS được cài đặt. DNS có trách nhiệm dẫn đường, phân giải các Active Directory Domain Controller trong hệ thống mạng, và càng quan trọng hơn trong môi trường Multi Domain. DNS được dễ dàng tích hợp vào Active Directory để nâng cao độ bảo mật và khả năng đồng bộ hóa giữa các Domain Controller với nhau trong môi trường nhiều Domain.
Client Configuration Management: Active Directory cung cấp cho chúng ta một khả năng quản trị các cấu hình phía client, giúp quản trị hệ thống dễ dàng hơn và nâng cao khả năng di động của user.
Policy – based administration: Trong Active Directory, việc quản trị hệ thống mạng được đảm bảo một cách chắn chắc thông qua các chính sách quản trị tài nguyên, các quyền truy xuất trên các site, domain và các organization unit. Đây là một trong những tính năng quan trọng nhất được tích hợp vào Active Directory.
Replication of information: Active Directory cung cấp khả năng đồng bộ dữ liệu thông tin giữa các domain, trên nền tảng, môi trường nhiều domain nhằm mục đích giảm thiếu đến mức tối đa rủi ro và nâng cao khả năng họat động của hệ thống mạng.
Flexible, secure authentication and authorization: Active Directory cung cấp nhiều cơ chế authentication như Kerberos, Secure Socket Layer và Transport Layer Security giúp cho việc bảo mật thông tin của user khi xác thực thông tin truy xuất tài nguyên.
Security integration: Active Directory được tích hợp mặc định trong các phiên bản Windows Server, do đó Active Directory làm việc rất dễ dàng và linh hoạt, truy xuất điều khiển trên hệ thống được định nghĩa trên từng đối tượng, từng thuộc tính của đối tượng. Không những thế, các chính sách bảo mật được áp dụng không phải đơn thuần trên local mà còn được áp dụng trên các site, domain hay OU xác định.
Directory – enable applications and infrastructure: Active Directory là một môi trường tuyệt hảo cho các nhà quản trị thiết lập các cấu hình và quản trị các ứng dụng trên hệ thống. Đồng thời Active Directory cung cấp một hướng mở cho các nhà phát triển ứng dụng (developer) xây dựng các ứng dụng trên nền tảng Active Directory thông qua Active Directory Service Interfaces.
Interoperability with other directory services: Active Directory được xây dựng trên giao thức directory service chuẩn gồm 2 giao thức là Lightweight Directory Access Protocol (LDAP) và Name Service Provider Interface (NSPI), do đó Active Directory có khả năng tương thích với các dịch vụ khác được xây dựng trên nền tảng directory service thông qua các giao thức này. Vì LDAP là một giao thức directoy chuẩn, do đó ta có thể phát triển, tích hợp các sản phẩm ứng dụng trao đổi, chia sẻ thông tin với Active Directory thông qua giao thức LDAP. Còn giao thức NSPI được hỗ trợ bởi Active Directory nằm mục đích đảm bảo và nâng cao khả năng tương thích với directoy của Exchange.
Signed and encrypted LDAP traffic: Mặc định là công cụ Active Directoy trong windows server sẽ tự động xác thực và mã hóa thông tin, dữ liệu truyền tải trên giao thức LDAP. Việc xác thực giao thức nhằm đảm bảo thông tin được gửi đến từ 1 nguồn chính thức và không bị giả mạo.
Cấu trúc của Active Directory
Đối tượng Active Directory
Dữ liệu trong Active Directory như là thông tin users, máy in, server, database, groups, computers và security policies được tổ chức như các objects (đối tượng).
Mỗi object có những thuộc tính riêng đặc trưng cho object đó, như object user có các thuộc tính liên quan như First Name, Last Name, Logon Name, … và Computer Object có các thuộc tính như computer name cùng description.
Một số object đặc biệt bao gồm nhiều object khác bên trong được gọi là các “container”, ví dụ như domain là một container bao gồm nhiều user và computer account
Lược đồ Active Directory
Database lưu trữ trong Active Directory, chính là AD Schema. Theo đó Schema sẽ định nghĩa những đối tượng lưu trữ trong Active Directory. Tuy nhiên Schema sẽ lưu trữ những đối tượng như thế nào?
Schema thực chất là 1 danh sách những định nghĩa xác định những loại đối tượng cũng như những loại thông tin liên quan tới đối tượng lưu trữ thuộc Active Directory. Schema về bản chất cũng được lưu trữ tương tự như một object.
Định nghĩa Schema gồm có hai loại đối tượng đó chính là Schema Attribute objects và Schema Class objects. Theo đó:
Schema Class objects: có chức năng tương tự như 1 template tạo mới những đối tượng trong AD. Mỗi một Schema Class là 1 tập hợp những thuộc tính của đối tượng. Nếu như tạo 1 đối tượng thuộc về 1 loại Schema Class thì khi đó Schema Attribute sẽ tiến hành lưu trữ những thuộc tính trong đối tượng đó tương ứng loại Schema Class trong đối tượng.
Schema Attribute: Là định nghĩa những Schema Class tương ứng cùng với nó. Mỗi một thuộc tính theo đó chỉ được định nghĩa 1 lần trong Active Directory và đồng thời có thể thuộc nhiều những Schema Class với quan hệ 1 nhiều (1-m). Một tập hợp những Schema Attribute và Schema Class mặc định được đóng gói sẵn chung cùng Active Directory. Nhưng Schema trong Active Directory đã mở ra 1 khả năng về phát triển mở rộng những Schema Class trên những Attribute có sẵn hoặc tạo mới những Attribute Schema. Nhưng để có thể mở rộng cũng như phát triển cùng với schema, thì khi đó phải chuẩn bị kỹ thông qua những bản thiết kế rõ ràng cũng như xem xét có cần thiết không. Do rủi ro với những hệ thống hoạt động ổn định là khá cao.
Thành phần Active Directory
Trong một mô hình mạng doanh nghiệp hiện nay, những components của Active Directory đang được sử dụng cũng như áp dụng nhằm xây dựng nên những mô hình phù hợp cho nhu cầu của những doanh nghiệp. Và chúng được chia làm 2 loại: Logical Structure và Physical Structure
Logical Structure bao gồm:
Object: là các đối tượng được tạo ra trong Active Directory, ví dụ: user account, computer account, group account.
Organizational Unit (OU): là đơn vị nhỏ nhất trong hệ thống Active Directory, nó được xem là một vật chứa các đối tượng (Object) được dùng để sắp xếp các đối tượng khác nhau phục vụ cho mục đích quản trị. Việc sử dụng OU có hai công dụng chính sau:
Trao quyền kiếm soát một tập hợp các tài khoản người dùng, máy tính hay các thiết bị mạng cho một nhóm người hay một phụ tá quản trị viên nào đó (sub-administrator), từ đó giảm bớt công tác quản trị cho người quản trị toàn bộ hệ thống.
Kiểm soát và khóa bớt một số chức năng trên các máy trạm của người dùng trong OU thông qua việc sử dụng các đối tượng chính sách nhóm (GPO).
Domain: là thành phần chính trong cấu trúc luận lý của Active Directory. Nó là phương tiện để qui định một tập hợp những người dùng, máy tính, tài nguyên chia sẻ có những qui tắc bảo mật giống nhau từ đó giúp cho việc quản lý các truy cập vào các Server dễ dàng hơn. Domain đáp ứng ba chức năng chính sau:
Đóng vai trò như một khu vực quản trị (administrative boundary) các đối tượng, là một tập hợp các định nghĩa quản trị cho các đối tượng chia sẻ như: có chung một cơ sở dữ liệu thư mục, các chính sách bảo mật, các quan hệ ủy quyền với các domain khác.
Giúp chúng ta quản lý bảo mật các các tài nguyên chia sẻ.
Cung cấp các Server dự phòng làm chức năng điều khiển vùng (domain controller), đồng thời đảm bảo các thông tin trên các Server này được đồng bộ với nhau.
Domain Tree: là cấu trúc bao gồm nhiều domain được sắp xếp có cấp bậc theo cấu trúc hình cây. Domain tạo ra đầu tiên được gọi là domain root và nằm ở gốc của cây thư mục. Tất cả các domain tạo ra sau sẽ nằm bên dưới domain root và được gọi là domain con (child domain). Tên của các domain con phải khác biệt nhau. Khi một domain root và ít nhất một domain con được tạo ra thì hình thành một cây domain.
Forest: được xây dựng trên một hoặc nhiều Domain Tree, nói cách khác Forest là tập hợp các Domain Tree có thiết lập quan hệ và ủy quyền cho nhau. Ví dụ giả sử một công ty nào đó, chẳng hạn như Microsoft thu mua một công ty khác. Thông thường, mỗi công ty đều có một hệ thống Domain Tree riêng và để tiện quản lý, các cây này sẽ được hợp nhất với nhau bằng một khái niệm là rừng.
Physical Structure
Sites:
Thể hiện cấu trúc vật lý, kiến trúc mạng của doanh nghiệp
AD lưu trữ thông tin về kiến trúc mạng thông qua: Site và Site link (WAN links).
Sử dụng để xây dựng mô hình đồng bộ database của dịch vụ AD
Công cụ quản lý: Active Directory Sites and Services
Domain Controllers:
Domain Controllers: Domain Controller (DC) là 1 máy tính hay server chuyên dụng được setup Windows Server và lưu trữ bản sao của Domain Directory (local domain database). Một domain có thể có 1 hay nhiều domain controller, mỗi domain controller đều có bản sao dữ liệu của Domain Directory. Domain Controller chịu trách nhiệm chứng thực cho users và chịu trách nhiệm đảm bảo các chính sách bảo mật được thực thi.
- Mỗi domain controller lưu trữ các bản sao thông tin của Active Directory cho chính domain đó, chịu trách nhiệm quản lí thông tin và tiến hành đồng bộ dữ liệu với các domain controller khác trong cùng một domain.
- Domain Controller trong một domain có khả năng tự động đồng bộ dữ liệu với các DC khác trong cùng một domain. Khi bạn thực hiện một tác vụ đối với thông tin lưu trữ trên DC, thì thông tin này sẽ tự động được đồng bộ hóa đến các DC khác. Tuy nhiên để đảm bảo sự ổn định cho hệ thống mạng, chúng ta cần phải có một chính sách hợp lí cho các domain trong việc đồng bộ hóa thông tin dữ liệu với một thời điểm phù hợp.
- Domain Controller tự động đồng bộ hóa ngay lập tức các thay đổi quan trọng đối với cả domain như disable một user account.
- Active Directory sử dụng việc đồng bộ hóa dữ liệu theo cơ chế multimaster, nghĩa là không có domain controller nào đóng vai trò là master cả, mà thay vào đó thì tất cả domain controller đều ngang hàng với nhau, mỗi domain controller lưu trữ một bản sao của database hệ thống. Các domain controller lưu trữ các thông tin dữ liệu khác nhau trong một khoảng thời gian ngắn cho đến khi thông tin các domain controller trong hệ thống đều được đồng bộ với nhau, hay nói cách khác là thống nhất dữ liệu cho toàn domain.
- Mặc dù là Active Directory hỗ trợ hoàn toàn việc đồng bộ dữ liệu theo cơ chế multimaster nhưng thực tế thì không phải lúc nào cũng theo cơ chế này (việc thực thi không được cho phép ở nhiều nơi trong hệ thống mạng trong cùng một thời điểm). Operations master roles là các roles đặc biệt được assigned với 1 hoặc nhiều domain controllers khác để thực hiện đồng bộ theo cơ chế single-master, ta có thể dễ dàng nhận thấy việc thực thi operations của multimaster là sự thực thi của nhiều single-master đồng thời.
- Hệ thống có nhiều hơn một domain hỗ trợ trong trường hợp dự phòng backup domain controller, khi một domain controller có vấn đề xảy ra thì các domain sẽ tự động chạy dự phòng, đảm bảo hệ thống luôn được ổn định.
- Domain Controller quản lí các vấn đề trong việc tương tác với domain của users, ví dụ xác định đối tượng trong Active Directory hay xác thực việc logon của user.