Domain controller là gì và lựa chọn thế nào cho hợp với cơ sở hạ tầng mạng của bạn?
Trong những bài trước chúng ta đã nói tới vai trò của các máy tính khác nhau trên mạng. Chắc hẳn các bạn còn nhớ, ngay trong phần 4 chúng ta đã nói một chút về domain controller. Còn bây giờ, trong bài này bạn sẽ được biết sâu hơn domain controller là gì và lựa chọn chúng ra sao cho hợp với cơ sở hạ tầng mạng của bạn.
Một trong những khái niệm quan trọng nhất của mạng Windows là domain (tức miền hay vùng). Một domain là tập hợp các tài khoản người dùng và tài khoản máy tính được nhóm lại với nhau để quản lý một cách tập trung. Và công việc quản lý là dành cho domain controller (bộ điều khiển miền) nhằm giúp việc khai thác tài nguyên trở nên dễ dàng hơn.
Vậy tại sao domain controller lại rất quan trọng? Trong mạng, bất kỳ máy trạm nào đang chạy hệ điều hành Windows XP cũng có một nhóm tài khoản người dùng tạo sẵn nào đó. Windows XP thậm chí còn cho phép bạn tạo một số tài khoản bổ sung nếu thấy cần thiết. Nếu máy trạm có chức năng như một hệ thống độc lập hoặc là một phần của mạng ngang hàng thì tài khoản người dùng mức máy trạm (được gọi là tài khoản người dùng cục bộ) không thể điều khiển truy cập tài nguyên mạng. Chúng chỉ được dùng để điều chỉnh truy cập máy cục bộ và hoạt động như với chức năng đảm bảo cho quản trị viên có thể thực hiện công việc bảo dưỡng, duy trì máy trạm, không cho phép người dùng cuối khả năng can thiệp vào các thiết lập trên máy trạm.
Lý do vì sao tài khoản người dùng cục bộ trên một máy trạm nhất định không được phép điều khiển truy cập tài nguyên nằm ngoài máy trạm đó là nó tăng thêm gánh nặng quản lý rất lớn. Tài khoản người dùng cục bộ chỉ nằm trên các máy trạm riêng rẽ. Nếu một tài khoản là có chức năng bảo mật chính trong mạng, quản trị viên sẽ phải di chuyển vật lý tới máy tính có tài khoản đó bất kỳ khi nào phải thực hiện thay đổi quyền hạn cho tài khoản. Vấn đề này không gây ra tác động gì lớn trong mạng nhỏ, nhưng sẽ trở nên cực kỳ nặng nề với ở mạng lớn hay khi cần áp dụng thay đổi rộng cho tất cả mọi tài khoản.
Một lý do khác nữa là không ai muốn phải chuyển tài khoản người dùng từ máy này sang máy khác. Chẳng hạn, nếu máy tính của một người dùng bị phá hoại, người đó không thể đăng nhập vào máy tính khác để làm việc vì tài khoản họ tạo chỉ có tác dụng trên máy cũ. Nếu muốn làm được việc anh ta sẽ phải tạo tài khoản mới trên máy khác.
Chỉ là một trong số rất nhiều lý do khiến việc sử dụng tài khoản người dùng cục bộ cho việc truy cập an toàn tài nguyên mạng là không thực tế. Thậm chí nếu bạn muốn triển khai kiểu bảo mật này, Windows cũng không cho phép. Tài khoản người dùng cục bộ chỉ có thể dùng tài nguyên cục bộ trên một máy trạm nhất định.
Domain có nhiệm vụ giải quyết các vấn đề vừa nêu và một số vấn đề khác nữa. Chúng sẽ tập trung hoá tài khoản người dùng (hay cấu hình khác, các đối tượng liên quan đến bảo mật; chúng ta sẽ đề cập đến trong bài sau). Điều này giúp việc quản trị dễ dàng hơn và cho phép người dùng đăng nhập từ bất kỳ máy tính nào có trên mạng (trừ khi bạn giới hạn quyền truy cập người dùng).
Với những thông tin đã được cung cấp chắc hẳn bạn sẽ nghĩ, về mặt nguyên lý, khi một người dùng nào đó muốn truy cập tài nguyên nằm trên một máy chủ (server), tài khoản người dùng mức server sẽ được dùng để điều khiển truy cập. Xét trên một số khía cạnh, ý tưởng này là đúng, nhưng còn có nhiều điều phải lưu ý hơn thế.
Trở lại đầu những năm 1990, khi tác giả bài báo này còn làm việc cho một công ty bảo hiểm lớn, sử dụng mạng với các máy chủ chạy hệ điều hành Novell NetWare. Windows networking hồi đó vẫn chưa được tạo ra và Novell NetWare là hệ điều hành server duy nhất có thể lựa chọn. Công ty chỉ có một network server, chứa tất cả mọi tài khoản người dùng và tài nguyên mạng cần truy cập. Một vài tháng sau, ai đó quyết định rằng người dùng ở công ty cần chạy một nhánh ứng dụng mới. Do kích thước của ứng dụng và số lượng dữ liệu lớn nên ứng dụng phải được đặt trên một server chuyên dụng.
Phiên bản Novell NetWare công ty đang dùng lúc đó chạy theo kiểu: tài nguyên nằm trên một server được bảo vệ bởi tài khoản người dùng cũng nằm trên server đó. Nhưng nảy sinh vấn đề: mỗi máy chủ có tập hợp tài khoản người dùng độc lập, hoàn chỉnh và riêng rẽ. Khi thêm một máy chủ khác vào mạng, người dùng vẫn có thể đăng nhập theo cách bình thường nhưng phải tạo username và password mới.
Thời gian đầu, mọi thứ trôi chảy. Nhưng khoảng một tháng sau, khi cài đặt thêm một số chương trình khác lên máy chủ mới, mọi việc trở nên tệ hại. Các máy chủ buộc người dùng phải thay đổi lại mật khẩu trong khi họ không nhận ra rằng phải đổi ở hai chỗ khác nhau. Có nghĩa là mật khẩu đã mất đi tính đồng bộ và bộ phận trợ giúp quá tải với các cuộc gọi liên quan đến lập lại mật khẩu. Khi công ty lớn mạnh hơn và bổ sung thêm nhiều máy chủ mới vào mạng, vấn đề ngày càng tồi tệ.
Cuối cùng sự việc được giải quyết khi Novell cho ra đời phiên bản 4.0 của NetWare. NetWare 4 giới thiệu công nghệ gọi là Directory Service (dịch vụ thư mục). Ý tưởng của nó là người dùng sẽ không phải tạo các tài khoản riêng rẽ trên từng server nữa. Thay vào đó một tài khoản đơn duy nhất được dùng để thẩm định tư cách người dùng trên toàn bộ mạng mà không cần biết có bao nhiêu máy chủ trên mạng đó.
Một điều thú vị khi tìm hiểu về domain là mặc dù mỗi domain có một giá trị duy nhất, không bao giờ lặp nhau trong mạng Microsoft (Novell không dùng domain) nhưng chúng làm việc theo nguyên tắc cơ bản giống nhau. Khi Windows 2000 được phát hành, Microsoft tích hợp một thành phần vẫn còn được dùng tới nay là Active Directory. Active Directory rất giống với Directory Service được mạng Novell sử dụng trước kia.
Toàn bộ công việc chúng ta phải làm với domain là gì? Khi máy chủ Windows sử dụng Windows 2000 Server, Windows Server 2003 hay Longhorn Server sắp ra mắt, 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 hoạt động như một nơi lưu trữ các đối tượng thư mục, trong đó có tài khoản người dùng (user account). Và một trong các công việc chính của bộ điều khiển tên miền là cung cấp dịch vụ thẩm định.
Nên hết sức lưu ý là domain controller cung cấp dịch vụ thẩm định (authentication) chứ không phải là dịch vụ cấp phép (authorization). Tức là, khi một người dùng nào đó đăng nhập vào mạng, một bộ điều khiển miền sẽ kiểm tra tính hợp lệ của username và password họ nhập vào có chính xác và khớp với dữ liệu lưu trong máy chủ hay không. Nhưng domain controller không nói với người dùng họ có quyền truy cập tài nguyên nào.
Tài nguyên trên mạng Windows được bảo vệ bởi các Danh sách điều khiển truy cập (ACL). Một ACL là danh sách chỉ rõ ai có quyền làm gì. Khi người dùng cố gắng truy cập tài nguyên, họ đưa ra nhân dạng của mình cho máy chủ chứa tài nguyên đó. Máy chủ sẽ kiểm tra để chắc chắn rằng nhân dạng người dùng này đã được thẩm định, sau đó tham chiếu chéo đến ACL để xem người dùng có quyền làm gì.
Kết luận
Như bạn có thể thấy, domain controller (bộ điều khiển miền) đóng vai trò rất quan trọng trong mạng Windows. Trong phần tiếp theo của loạt bài này chúng ta sẽ tiếp tục thêm một chút với domain controller và Active Directory.
Quản Trị Mạng