Tìm hiểu về AD/LDAP

Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số kiến thức cơ bản về Active Directory / LDAP và những lợi ích trong việc thực thi Active Directory. Các thông tin về các forests, domains, organizational unit và site cũng như những kiến thức cơ bản về LDAP (Lightweight Directory Access Protocol)  Group Policy.

Active Directory là gì?

Active Directory cho phép tăng cấp, hạ cấp các domain controller 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 miền.

Active Directory chỉ là một ví dụ về dịch vụ thư mục hỗ trợ LDAP. Ngoài ra còn có các giải pháp khác: Red Hat Directory Service, OpenLDAP, Apache Directory Server, v.v.

LDAP là gì?

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ù mạng của bạn là mạng Internet công cộng hay mạng nội bộ trong công ty.

Khác nhau giữa LDAP vs OpenLDAP vs Active Director

Ví dụ: Active Directory là nhà cung cấp dịch vụ thư mục độc quyền cho hệ điều hành Windows. LDAP là một giao thức đáp ứng yêu cầu cho phép bạn dễ dàng tương tác với các máy chủ thư mục như Active Directory bằng cách sử dụng các thành phần nhập cụ thể để tìm, xem hoặc chỉnh sửa thông tin.

OpenLDAP là giải pháp opensource sử dụng giao thức LDAP. Giải pháp này tương đối đơn giản, thường gọi là light LDAP. Trong khi đó AD là giải pháp hoàn thiện của Microsoft có sẵn GUI, chuyên biệt cho người dùng doanh nghiệp.

Phương thức hoạt động của LDAP là gì?

LDAP hoạt động theo mô hình là client–server. Một hay nhiều LDAP server chứa các thông tin về cây thư mục (Directory Information Tree – DIT).

Client kết nối đến server và gửi đi yêu cầu. Server phản hồi lại bằng chính nó hoặc trỏ tới LDAP server khác để client lấy được thông tin. Trình tự khi có kết nối với LDAP là:

  • Connect (kết nối với LDAP): client sẽ mở kết nối tới LDAP server
  • Bind (kiểu kết nối: ẩn danh hoặc đăng nhập xác thực): client gửi đi các thông tin xác thực
  • Search (tìm kiếm): client gửi đi yêu cầu tìm kiếm
  • Interpret search (xử lý tìm kiếm): server thực hiện việc xử lý tìm kiếm
  • Result (kết quả): máy chủ trả lại kết quả cho client

Mô hình của LDAP là gì?

LDAP được chia ra làm 4 mô hình:

  • Mô hình LDAP information – xác định cấu trúc và đặc điểm của các thông tin trong thư mục.
  • Mô hình LDAP Naming – xác định cách các thông tin được tham chiếu và tổ chức.
  • Mô hình LDAP Functional – định nghĩa cách mà các bạn truy cập và cập nhật thông tin trong thư mục của các bạn.
  • Mô hình LDAP Security – định nghĩa ra cách thông tin trong thư mục của các bạn được bảo vệ tránh các truy cập không được cho phép.

LDAP Naming model

Mô hình LDAP Naming định nghĩa ra cách để chúng ta có thể sắp xếp và tham chiếu đến dữ liệu của mình, hay có thể nói mô hình này mô tả cách sắp xếp các entry vào một cấu trúc có logic và mô hình LDAP Naming chỉ ra cách để chúng ta có thể tham chiếu đến bất kỳ một entry thư mục nào nằm trong cấu trúc đó.

Mô hình LDAP Naming cho phép chúng ta có thể đặt dữ liệu vào thư mục theo cách mà chúng ta có thể dễ dàng quản lý nhất.

Giống như đường dẫn của hệ thống tập tin, tên của một entry LDAP được hình thành bằng cách nối tất cả các tên của từng entry cấp trên(cha) cho đến cấp cao nhất root.

  • dn : Distinguished Name – là tên của entry thư mục, tất cả được viết trên một dòng.
  • dc: Domain Component 
  • givenName: Tên của người sở hữu account.
  • sn : Surname – Họ.
  • cn : Common Name – Tên thường gọi.
  • uid : id người dùng.
  • userPassword : Mật khẩu người dùng.
  • Và một số thuộc tính khác của người dùng

Phương thức xác thực người dùng trong LDAP

Việc mà xác thực trong một thư mục LDAP là một điều rất cần thiết và không thể thiếu. Quá trình xác thực này được sử dụng để thiết lập các quyền của khách hàng cho mỗi lần sử dụng.

Tất cả các công việc như tìm kiếm, truy vấn, vv… được có sự kiểm soát bởi các mức uỷ quyền của người được xác thực.

Kết nối client tới server LDAP

  • LDAP server Uniform Resource Identifier: ldap://LDAP-server-IP-Address
  • Distinguished name of the search base: “dc=test,dc=com”
  • LDAP version to use: 3
  • Make local root Database admin: Yes
  • Does the LDAP database require login? No
  • LDAP account for root: “cn=admin,dc=test,dc=com”
  • LDAP root account password: Your-LDAP-root-password

Xác thực người dùng không định danh (Anonymous Authentication)

Xác thực người dùng không định danh là một xử lý ràng buộc đăng nhập vào thư mục với một tên đăng nhập và password là trống. Cách đăng nhập này rất thông dụng và thường xuyên được sử dụng đối với ứng dụng client.

Xác thực nguời dùng cơ bản (Simple Authtication)

Ldap là gì? Đối với xác thực nguời dùng cơ bản, tên đăng nhập trong DN sẽ được gửi kèm cùng với một password dưới dạng clear text tới máy chủ LDAP.

Máy chủ sẽ so sánh password với giá trị thuộc tính userPassword hoặc với những giá trị thuộc tính mà đã được định nghĩa trước trong entry cho DN đó.

Nếu password được lưu dưới dạng hàm băm (mã hoá), máy chủ sẽ sử dụng hàm băm tương ứng để có thể biến đối mật khẩu đưa vào và so sánh giá trị đó so với giá trị mật khẩu đã được mã hoá từ trước.

Nếu cả hai password mà trùng nhau, việc xác thực client sẽ thành công.

Xác thực đơn giản qua SSL/TLS

LDAP sẽ mã hóa trước khi thực hiện bất cứ hành động kết nối nào. Do đó, tất cả thông tin người dùng sẽ được đảm bảo (ít nhất là trong session đó)

Khi tích hợp giải pháp của chúng tôi vào hệ thống hạ tầng lớn, người quản trị mạng không cần phải tạo tài khoản cho mỗi điểm cầu bằng tay cũng như việc hỗ trợ các điểm cầu trên hệ thống mà các điểm cầu có thể tự làm, đó là những công dụng của LDAP mang đến cho các bạn.

Tham khảo:

https://blog.cloud365.vn/ldap/LDAP-part-1-gioi-thieu-ve-LDAP/

https://quantrimang.com/gioi-thieu-ve-active-directory-63279

https://www.okta.com/identity-101/what-is-ldap/

Leave a Reply

Your email address will not be published. Required fields are marked *