LDAP là gì? Các thành phần và quy trình xác thực LDAP

27/02/2023 Blog, Tin tức

LDAP (Lightweight Directory Access Protocol) được sử dụng để quản lý thông tin người dùng, thiết bị và tài nguyên trong một mạng máy tính. LDAP là một giao thức cơ sở dữ liệu phân tán, cho phép các ứng dụng truy cập vào dữ liệu từ một số nguồn khác nhau.

LDAP là gì?

LDAP (viết tắt của Lightweight Directory Access Protocol) là một giao thức truy cập cơ sở dữ liệu phân tán, được sử dụng để quản lý và truy xuất thông tin trong một môi trường mạng máy tính. LDAP được phát triển bởi Tim Howes, Steve Kille và Wengyik Yeong và được mô tả trong các RFC (Request for Comments) của IETF (Internet Engineering Task Force).

LDAP thường được sử dụng để quản lý thông tin về người dùng, thiết bị và tài nguyên trong một hệ thống mạng. Các thông tin này thường được lưu trữ trong một thư mục (directory), sử dụng một cấu trúc cây dữ liệu để tổ chức và quản lý các đối tượng.

LDAP sử dụng mô hình client-server, trong đó các yêu cầu truy xuất thông tin được gửi từ các ứng dụng client đến các máy chủ LDAP để thực hiện các hoạt động truy xuất, thêm mới, sửa đổi hoặc xóa thông tin trong thư mục. LDAP hỗ trợ nhiều phương thức truy cập khác nhau, bao gồm TCP/IP, X.500, và HTTP.

LDAP là một công nghệ phổ biến và được sử dụng rộng rãi trong các môi trường doanh nghiệp và mạng lớn để quản lý và truy xuất thông tin về người dùng và tài nguyên.

LDAP cũng hoạt động như một giải pháp quản lý danh tính và truy cập (IAM) nhắm mục tiêu xác thực người dùng, bao gồm hỗ trợ Kerberos và đăng nhập một lần (SSO), bảo mật xác thực (SASL) và cổng bảo mật (SSL).

 

LDAP là gì? Các thành phần và quy trình xác thực LDAP 5

Tại sao nên sử dụng LDAP?

Người quản trị mạng doanh nghiệp thường quản lý hàng nghìn người dùng cùng một lúc. Điều này có nghĩa là admin chịu trách nhiệm gán các chính sách và kiểm soát truy cập dựa trên vai trò của người dùng, kiểm soát quyền truy cập vào các tệp cho các tác vụ hàng ngày, chẳng hạn như mạng nội bộ của công ty.

LDAP đơn giản hóa quy trình quản lý người dùng, tiết kiệm thời gian quản trị mạng và tập trung vào quá trình xác thực. Trước khi tích hợp LDAP vào môi trường mạng, điều quan trọng là phải xem xét những yếu tố:

  • Dung lượng: bạn cần lưu trữ bao nhiêu dữ liệu quản lý người dùng? Cân nhắc xem các sản phẩm triển khai giải pháp LDAP có khả năng lưu trữ và quản lý tất cả dữ liệu bạn cần hay không.
  • Tần suất tìm kiếm: có phần dữ liệu nào mà người dùng cần truy cập hàng ngày, chẳng hạn như mạng nội bộ, ứng dụng email hoặc dịch vụ của công ty không? Nếu vậy, LDAP có thể dành cho bạn.
  • Tổ chức: DIT trong LDAP sẽ giúp sắp xếp dữ liệu tốt hơn, nhưng bạn có cần một hệ thống chi tiết hơn?

Mặc dù LDAP thường được sử dụng trong AD, nó cũng có thể được sử dụng để xác thực người dùng cho các công cụ và môi trường máy client khác, bao gồm Red Hat Directory Servers trên UNIX và OpenLDAP, một ứng dụng mã nguồn mở trên Windows. Bạn cũng có thể tận dụng khả năng xác thực và quản lý người dùng của LDAP để quản lý API, kiểm soát truy cập dựa trên vai trò (RBAC) hoặc các ứng dụng và dịch vụ khác như Docker và Kubernetes.

Quy trình hoạt động của LDAP

Trung bình một người dùng kết nối với LDAP hàng chục hoặc thậm chí hàng trăm lần mỗi ngày. Người đó thậm chí có thể không biết kết nối đã xảy ra mặc dù các bước để hoàn thành một truy vấn phức tạp.

Một truy vấn LDAP thường bao gồm:

  • Phiên kết nối. Người dùng kết nối với máy chủ thông qua cổng LDAP.
  • Truy vấnNgười dùng gửi truy vấn, chẳng hạn như tra cứu email, đến máy chủ.
  • Phản ứng. Giao thức LDAP truy vấn thư mục, tìm thông tin và cung cấp cho người dùng.
  • Hoàn thành. Người dùng ngắt kết nối khỏi cổng LDAP.

LDAP là gì? Các thành phần và quy trình xác thực LDAP 3

Việc tìm kiếm dữ liệu nghe có vẻ không đơn giản, nhưng rất nhiều mã hóa đã giúp cho chức năng này trở nên khả thi. Các nhà phát triển phải xác định giới hạn kích thước của tìm kiếm, thời gian máy chủ có thể dành để xử lý nó, có bao nhiêu biến có thể được đưa vào tìm kiếm và hơn thế nữa.

Một nhân viên nhảy việc từ công ty này sang công ty khác có thể được LDAP tìm kiếm. Nhưng cách thức hoạt động của các kết quả tìm kiếm và cách chúng hoạt động có thể khá khác nhau, tùy thuộc vào cách LDAP được cấu hình.

Trước khi bất kỳ truy vấn nào bắt đầu, LDAP phải xác thực người dùng. Hai phương pháp có sẵn cho công việc đó là:

  • Đơn giản. Nhập Tên và mật khẩu để kết nối người dùng với máy chủ.
  • Xác thực và bảo mật đơn giản (SASL). Một dịch vụ phụ, chẳng hạn như Kerberos, thực hiện xác thực trước khi người dùng có thể kết nối. Đối với các công ty yêu cầu bảo mật nâng cao, đây có thể là một lựa chọn tốt.

Một số truy vấn bắt nguồn từ bên ngoài công ty, hoặc một số bắt đầu trên thiết bị di động hoặc máy tính cá nhân. Hầu hết các giao tiếp LDAP được gửi mà không cần xáo trộn hoặc mã hóa và điều đó có thể gây ra sự cố bảo mật. Hầu hết các công ty sử dụng Transport Layer Security (TLS) để đảm bảo an toàn cho các tin nhắn LDAP.

Có thể liệt kê tất cả các loại hoạt động của người dùng với LDAP như

  • Thêm. Nhập tệp mới vào cơ sở dữ liệu.
  • Xóa. Lấy ra một tập tin từ cơ sở dữ liệu.
  • Tìm kiếm. Bắt đầu một truy vấn để tìm một cái gì đó trong cơ sở dữ liệu.
  • So sánh. Kiểm tra hai tệp để tìm điểm tương đồng hoặc khác biệt.
  • Thay đổi.  Thực hiện thay đổi đối với mục nhập hiện có.

So sánh LDAP Active Directory

LDAP là giao thức cốt lõi được sử dụng – nhưng không dành riêng cho – dịch vụ thư mục Active Directory (AD) của Microsoft, một cơ sở dữ liệu dịch vụ thư mục lớn chứa thông tin trải dài trên mọi tài khoản người dùng trong mạng.

Cụ thể hơn, LDAP là một phiên bản gọn nhẹ của Giao thức truy cập thư mục (DAP) và cung cấp một vị trí trung tâm để truy cập và quản lý các dịch vụ thư mục chạy trên TCP/IP. Phiên bản mới nhất là LDAPv3. 

Active Directory cung cấp xác thực và quản lý người dùng và nhóm, và đó là điều cuối cùng xác thực người dùng hoặc máy tính. Cơ sở dữ liệu chứa khối lượng thuộc tính cao hơn những gì được kéo vào LDAP. Tuy nhiên, LDAP chuyên tìm một đối tượng thư mục với ít thông tin, vì vậy nó không cần phải trích xuất tất cả các thuộc tính của nó từ Active Directory, hoặc bất kỳ dịch vụ thư mục nào mà nó đang lấy từ đó.

So sánh LDAP và Active Directory

Mục tiêu chính của LDAP là giao tiếp, lưu trữ và trích xuất các đối tượng (tức là tên miền, người dùng, nhóm, v.v.) từ AD thành một định dạng có thể sử dụng cho thư mục riêng của nó, nằm trên máy chủ LDAP.

Hoặc bạn có thể hiểu như sau: Active Directory là thư viện lớn nhất trên thế giới và bạn đang tìm kiếm một cuốn sách có tiêu đề đề cập đến thây ma. Trong thế giới LDAP, chi tiết về việc cuốn sách có được xuất bản ở Mỹ hay không, chứa hơn 1.000 trang hoặc là hướng dẫn cách sống sót sau ngày tận thế thây ma không quan trọng – mặc dù chúng giúp thu hẹp các tùy chọn có sẵn. LDAP là thủ thư giàu kinh nghiệm, người biết chính xác nơi để tìm tất cả các tùy chọn đáp ứng yêu cầu của bạn và xác minh rằng bạn đã tìm thấy những gì bạn đang tìm kiếm.

Quy trình xác thực LDAP

Quá trình xác thực LDAP là một mô hình xác thực máy client-máy chủ và nó bao gồm những người chơi chính sau:

  • Thư mục hệ thống Agent (Directory System Agent -DSA): một máy chủ chạy LDAP trên mạng của nó
  • Tác nhân người dùng (Directory User Agent - DUA): truy cập DSA dưới dạng máy client (ví dụ: PC của người dùng)
  • DN: tên phân biệt, chứa một đường dẫn qua cây thông tin thư mục (DIT) để LDAP điều hướng qua (ví dụ: cn = Susan, ou = users, o = Company)
  • Tên phân biệt tương đối (RDN): mỗi thành phần trong đường dẫn trong DN (ví dụ: cn=Susan)
  • Giao diện lập trình ứng dụng (API): cho phép sản phẩm hoặc dịch vụ  của bạn giao tiếp với các sản phẩm và dịch vụ khác mà không cần phải biết chúng được triển khai như thế nào

Quá trình này bắt đầu khi người dùng cố gắng truy cập chương trình máy client hỗ trợ LDAP, như ứng dụng email doanh nghiệp, trên PC của họ. Với LDAPv3, người dùng sẽ trải qua một trong hai phương pháp xác thực người dùng có thể có: xác thực đơn giản, như SSO với thông tin đăng nhập hoặc xác thực SASL, liên kết máy chủ LDAP với một chương trình như Kerberos.

LDAP là gì? Các thành phần và quy trình xác thực LDAP 4

Nỗ lực đăng nhập sẽ gửi yêu cầu xác thực DN được chỉ định cho người dùng. DN được gửi thông qua API máy client hoặc dịch vụ khởi chạy DSA.

Máy client tự động liên kết với DSA và LDAP sử dụng DN để tìm kiếm đối tượng phù hợp hoặc tập hợp các đối tượng với các bản ghi trong cơ sở dữ liệu LDAP. Các RDN trong DN rất quan trọng ở giai đoạn này, vì chúng cung cấp từng bước trong tìm kiếm của LDAP thông qua DIT để tìm cá nhân.

Nếu đường dẫn thiếu RDN kết nối trên chương trình phụ trợ, kết quả có thể không hợp lệ. Trong trường hợp này, đối tượng LDAP đang tìm kiếm là tài khoản người dùng cá nhân (cn = Susan) và nó chỉ có thể xác thực người dùng nếu tài khoản trong thư mục có uid và user Password phù hợp. Các nhóm người dùng cũng được xác định là các đối tượng trong thư mục LDAP.

Khi người dùng nhận được phản hồi (hợp lệ hoặc không hợp lệ), máy client sẽ hủy liên kết khỏi máy chủ LDAP. Người dùng được xác thực sau đó có thể truy cập API và các dịch vụ của nó, bao gồm các tệp cần thiết, thông tin người dùng và dữ liệu ứng dụng khác, dựa trên các quyền do Admin hệ thống cấp.

Các thành phần của LDAP

Cấu trúc của LDAP và việc sử dụng DIT giúp bạn có thể nhanh chóng chạy tìm kiếm LDAP và cung cấp thành công kết quả. Hiểu DIT là rất quan trọng để điều hướng thành công một máy chủ LDAP và hiểu cách các tìm kiếm LDAP hoạt động.

DIT giúp bạn có thể nhanh chóng điều hướng qua các cấp độ khác nhau của thư mục LDAP để thu hẹp kết quả tìm kiếm và cung cấp phản hồi cho truy vấn. DIT bắt đầu tại thư mục gốc, tiếp theo là các quốc gia, sau đó phân nhánh thành hai lớp con: Thành phần miền (dc) và Tên tổ chức (o).

Thành phần truy cập tên miền (Domain Access Component - dc)

DC (tức là dc = com, dc = example) sử dụng ánh xạ hệ thống tên miền (DNS) để định vị tên miền Internet và dịch chúng thành địa chỉ IP.

Hầu hết người dùng không biết tên miền và / hoặc địa chỉ IP của cá nhân mà họ đang tìm kiếm. Trong trường hợp này, LDAP sử dụng Tên phân biệt (DN) được gán cho người dùng làm đường dẫn để nhanh chóng điều hướng qua DIT và tìm kết quả tìm kiếm. Đây là nơi lớp con o xuất hiện.

Tên tổ chức (Organization Name - o)

Lớp con o (ví dụ: o-Company) là một trong những lớp con chung nhất được liệt kê trong DN và nó thường là nơi LDAP bắt đầu khi nó chạy tìm kiếm. Ví dụ: một đường dẫn đơn giản thường bắt đầu bằng lớp con o, phân nhánh đến Đơn vị tổ chức (ou), theo sau là tài khoản người dùng hoặc nhóm.

Đơn vị tổ chức (Organizational Unit - ou)

Như đã đề cập trước đây, ou là một lớp con của o và thường được xem là ou = users hoặc ou = group, với mỗi lớp chứa một danh sách các tài khoản hoặc nhóm người dùng. Dưới đây là giao diện của tính năng này trong một thư mục:

  • o-Công ty
    • ou=nhóm
      • cn=nhà phát triển
    • ou=người dùng
      • cn = Susan

Tên thường gọi (Common name - cn)

Tên chung hoặc cn được sử dụng để xác định tên của tài khoản người dùng cá nhân hoặc nhóm (ví dụ: cn=developers, cn=Susan). Người dùng có thể thuộc về một nhóm, vì vậy nếu Susan là nhà phát triển, họ cũng có thể sống theo cn=developers.

Thuộc tính và giá trị LDAP

Mỗi lớp con trong LDAP DIT (tức là o, ou, cn) chứa các thuộc tính và giá trị hoặc lược đồ chứa thông tin về cấu trúc của thư mục LDAP có thể giúp thu hẹp tìm kiếm. Các thuộc tính tương tự như những gì bạn sẽ tìm thấy trong mục nhập sổ địa chỉ, với các nhãn như tên, số điện thoại và địa chỉ, đồng thời có các giá trị được gán cho mỗi thuộc tính. Ví dụ: Susan sẽ là giá trị của thuộc tính name.

Trong tài khoản cn=Susan, user id (uid) và userPassword là các thuộc tính và thông tin đăng nhập của người dùng là các giá trị. Tuy nhiên, trong một nhóm như cn=developers, Susan sẽ có thuộc tính uniqueMember (ví dụ: uniqueMember=cn-Susan,ou-Users,o-Company). Điều này vạch ra một đường dẫn đến nơi đặt tài khoản người dùng cá nhân của Susan, cùng với thông tin mà LDAP đang tìm kiếm. Tài khoản người dùng là cuối dòng trong DIT và đó là nơi LDAP cuối cùng trích xuất kết quả tìm kiếm.

Có nhiều loại thuộc tính và cú pháp khác có thể giúp thu hẹp tìm kiếm, bao gồm ObjectClasses, như organizationalPerson (cấu trúc) hoặc cá nhân (cấu trúc). Tuy nhiên, số lượng thuộc tính trên LDAP bị hạn chế để giữ cho nó nhẹ và dễ sử dụng.

Kết luận

Tổng kết lại, LDAP (Lightweight Directory Access Protocol) là một giao thức cơ sở dữ liệu phân tán được sử dụng để quản lý thông tin người dùng, thiết bị và tài nguyên trong một mạng máy tính. Với sự linh hoạt và khả năng mở rộng cao, LDAP đã trở thành một công cụ quan trọng trong việc quản lý các tài nguyên và người dùng trong một mạng máy tính phức tạp.

Với sự phát triển của công nghệ và môi trường mạng ngày càng phức tạp, LDAP vẫn là một công cụ quan trọng để quản lý tài nguyên và người dùng trong mạng máy tính. Tuy nhiên, cần có sự hiểu biết chuyên sâu và kỹ năng để triển khai và quản lý LDAP hiệu quả.

Tặng miễn phí bộ Plugin 359$ giúp khách hàng tối ưu SEO website

Bộ 3 plugin TENTEN tặng hoàn toàn miễn phí cho tất cả các khách hàng gồm:

  • Rank Math Pro - Tối ưu SEO
  • WP rocket - Tăng tốc độ tải trang
  • Imagify - Nén dung lượng ảnh

Áp dụng khi Đăng ký mới Hosting/ Email Server!

Sở hữu ngay bộ 3 công cụ giúp website của bạn ONTOP GOOGLE!

NHẬN BỘ PLUGIN SEO MIỄN PHÍ TẠI ĐÂY

Các tìm kiếm liên quan đến từ khóa "LDAP"

LDAP spring-boot
ldap-authentication npm LDAP server LDAPS
LDAP golang LDAP vs Active Directory LDAP authentication LDAP AD

Bài liên quan

 

Tin tức hưu ích với bạn

  • Cloud collaboration là gì? Top 7 công cụ cloud collaboration đáng tin cậy

    Cloud collaboration là gì? Top 7 công cụ cloud collaboration đáng tin cậy

    Blog, Tin tức 03/03/2024
  • Cloud billing là gì? Lợi ích của cloud billing trong quản lý chi phí đám mây

    Cloud billing là gì? Lợi ích của cloud billing trong quản lý chi phí đám mây

    Blog, Tin tức 02/03/2024

Bạn có bỏ lỡ tin tức nào không?

  • Cloud collaboration là gì? Top 7 công cụ cloud collaboration đáng tin cậy

    Cloud collaboration là gì? Top 7 công cụ cloud collaboration đáng tin cậy

    Blog, Tin tức 03/03/2024
  • Cloud billing là gì? Lợi ích của cloud billing trong quản lý chi phí đám mây

    Cloud billing là gì? Lợi ích của cloud billing trong quản lý chi phí đám mây

    Blog, Tin tức 02/03/2024
  • Cloud workload là gì? 8 Loại cloud workload bạn cần biết

    Cloud workload là gì? 8 Loại cloud workload bạn cần biết

    Blog, Tin tức 01/03/2024
  • Fog computing là gì? Mọi thứ bạn cần biết về fog computing

    Fog computing là gì? Mọi thứ bạn cần biết về fog computing

    Blog, Tin tức 29/02/2024