OpenLDAP là một dự án mã nguồn mở nhằm cung cấp các ứng dụng và công cụ phát triển đầy đủ tính năng, đạt chuẩn thương mại dựa trên Giao thức Truy cập Thư mục Nhẹ (Lightweight Directory Access Protocol - LDAP). Do đó, các tập đoàn muốn quản lý thông tin người dùng và nhóm có thể tự do sử dụng các công cụ này.
OpenLDAP cung cấp máy chủ ldap, máy khách ldap và các công cụ tương ứng để làm việc trên LDAP. Máy chủ LDAP được gọi là slapd (Stand-alone LDAP daemon). Và nó sẽ đóng vai trò là máy chủ cung cấp khả năng tạo, cập nhật và xóa thông tin tổ chức, nhóm và người dùng, v.v. Ngoài ra, nó còn cung cấp một khả năng quan trọng khác -- proxy. Điều này có nghĩa là nó có thể đóng vai trò là proxy cho máy khách LDAP để liên hệ với các máy chủ LDAP khác nhau mà không cần biết chi tiết của các máy chủ LDAP đó. Đây sẽ là một lựa chọn tuyệt vời nếu một số máy chủ LDAP nằm phía sau tường lửa và máy khách LDAP không thể truy cập trực tiếp vào nó. Nó cũng sẽ rất hữu ích nếu tổ chức muốn kết hợp thông tin từ nhiều máy chủ LDAP để có thể xem như chỉ một máy chủ LDAP.
Trong loạt bài viết này, chúng ta sẽ giới thiệu proxy OpenLDAP. Các chủ đề bao gồm các loại tùy chọn proxy khác nhau, thiết lập proxy, bật SSL của proxy, bật xác thực đơn giản của proxy và ánh xạ thuộc tính của proxy.
- OpenLDAP Proxy -- Giới thiệu
- OpenLDAP Proxy -- slapd.conf
- OpenLDAP Proxy -- Cài đặt và cấu hình
- OpenLDAP Proxy -- Mẹo và thủ thuật
- OpenLDAP Proxy -- rwm-map so với map
Trong bài viết này, chúng ta sẽ trước tiên đưa ra một giới thiệu ngắn gọn về các tùy chọn khác nhau để tạo proxy OpenLDAP.
Thiết kế của backend trong OpenLDAP cung cấp khả năng thiết lập proxy. Mỗi backend đại diện cho một nguồn thông tin thư mục cụ thể. Nguồn sẽ là một số kho lưu trữ cục bộ, cơ sở dữ liệu, máy chủ LDAP từ xa, v.v. Dưới đây là danh sách các backend có sẵn từ OpenLDAP.
Trong số các backend này, hai trong số chúng là ứng cử viên tốt cho proxy -- ldap và meta.
Dịch vụ slapd có thể sử dụng slapd.conf làm tệp cấu hình cho dịch vụ. Trong slapd.conf, người ta có thể định nghĩa loại backend và các tùy chọn khác.
ldap
Backend ldap có nghĩa là thông tin thư mục đến từ một máy chủ LDAP từ xa khác. Do đó, khi một máy khách đang thực hiện một số truy vấn đến proxy, proxy sẽ chuyển hướng truy vấn đến máy chủ LDAP từ xa tương ứng dựa trên cơ sở/hậu tố được cung cấp.
Một backend ldap cho phép nhiều mục nhập của máy chủ ldap từ xa. Tuy nhiên, sẽ chỉ có tối đa một máy chủ LDAP từ xa được tìm kiếm trong danh sách các máy chủ LDAP từ xa được cấu hình. Kiến trúc cấp cao trông như thế này.
meta
Backend meta là một loại backend khác, trong đó nhiều máy chủ LDAP từ xa có thể được tìm kiếm cùng một lúc. Nó được xây dựng trên backend ldap nhưng với một số cải tiến. Một backend meta cho phép bối cảnh đặt tên ảo (cơ sở) mà máy khách có thể sử dụng để truy vấn proxy LDAP. Với điều này, một máy khách có thể truy vấn một sự kết hợp của các máy chủ LDAP từ xa với một truy vấn duy nhất. Proxy sẽ cung cấp ánh xạ của ngữ cảnh đặt tên ảo và cơ sở thực của mỗi máy chủ LDAP từ xa thông qua suffixmassage.
Kiến trúc cấp cao của backend meta sẽ là
Từ slapd.conf, có một tùy chọn suffix sau database meta, hậu tố khai báo ngữ cảnh đặt tên ảo (cơ sở) mà máy khách có thể sử dụng để truy vấn proxy. Sau đó có một tùy chọn suffixmassage định nghĩa ánh xạ giữa ngữ cảnh đặt tên ảo và cơ sở thực của máy chủ LDAP từ xa.
Sự khác biệt chính giữa backend ldap và backend meta là chỉ có một máy chủ LDAP từ xa sẽ được tìm kiếm cùng một lúc đối với backend ldap trong khi nhiều máy chủ LDAP từ xa có thể được tìm kiếm cùng một lúc đối với backend meta để kết quả được tích lũy bằng cách lặp lại thông qua từng máy chủ LDAP từ xa.
Trong một vài bài viết tiếp theo, chúng ta sẽ giới thiệu cách cấu hình proxy OpenLDAP bằng slapd.conf và cách bật SSL và cách bật xác thực đơn giản bằng proxy OpenLDAP.