OpenLDAP Proxy -- Tricks and tips

  sonic0002        2017-11-04 04:29:38       12,903        0          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

Giống như cấu hình phần mềm khác, sẽ có các vấn đề gặp phải trong quá trình thiết lập proxy OpenLDAP. Trong bài viết này, chúng ta sẽ cố gắng tóm tắt một số thủ thuật và mẹo để thiết lập proxy OpenLDAP.

Phiên bản OpenLDAP

Chúng tôi luôn khuyến nghị bạn cài đặt phiên bản mới nhất của OpenLDAP vì chúng chứa các tính năng mới nhất, bản sửa lỗi và bản vá bảo mật. Bạn nên luôn tham khảo bản ghi chú phát hành mới nhất release notes để biết các thay đổi mới. Trong trường hợp bạn đã sử dụng phiên bản OpenLDAP cũ hơn và gặp phải một số hành vi kỳ lạ, vui lòng thử cập nhật lên phiên bản OpenLDAP mới nhất trước.

Dưới đây là một số vấn đề chúng tôi đã gặp phải và được giải quyết bằng phiên bản mới nhất.

  • Khi máy chủ LDAP từ xa ngừng hoạt động, kết quả sẽ luôn là một danh sách trống, không có máy chủ LDAP từ xa nào khác được tìm kiếm
  • Khi cố gắng kết nối với máy chủ LDAP từ xa sử dụng SSL, truy vấn LDAP bị treo và không bao giờ trả về

Cấu hình SSL

Nếu bạn muốn cung cấp dịch vụ an toàn cho máy khách, bạn có thể bật khả năng SSL với các thay đổi bên dưới.

  • Trong cấu hình, đặt tệp chứng chỉ và vị trí khóa riêng của nó cũng như vị trí chứng chỉ CA. Cài đặt chi tiết có thể được tìm thấy trong OpenLDAP Proxy -- slapd.conf.
  • Khi chạy dịch vụ slapd, bạn cần chỉ định ldaps:/// trong tùy chọn -h của nó. Xem bên dưới
    /usr/sbin/slapd -h 'ldap:/// ldapi:/// ldaps:///' -g ldap -u ldap
  • Từ phía máy khách, kết nối bằng cổng 389, đây là cổng SSL mặc định.

Nếu bạn muốn proxy kết nối với LDAP từ xa bằng SSL, bạn sẽ cần cập nhật /etc/ldap/ldap.conf trên máy chủ proxy nếu bạn luôn muốn tin tưởng chứng chỉ của máy chủ.  Về cơ bản, bạn cần thêm dòng bên dưới vào tệp cấu hình.

TLS_REQCERT allow

Xác thực đơn giản

Trong một số trường hợp, máy chủ LDAP từ xa yêu cầu xác thực khi máy khách truy vấn nó. Do đó, khi Proxy LDAP kết nối với máy chủ từ xa, nó cần cung cấp cho máy chủ binddn credentials để liên kết. Điều này có thể được cấu hình trong /etc/ldap/slapd.conf và thêm mục idassert-bind sau mục uri.

Ngoài ra, bạn cũng cần tạo một dn ảo và mật khẩu cho proxy để máy khách LDAP có thể sử dụng để kết nối. Những cài đặt này là rootdnrootpw. Sau đó, bạn cần thêm một mục idassert-authzFrom sau mục idassert-bind để cho biết ai được phép khởi tạo liên kết với máy chủ từ xa. Nếu không, liên kết có thể không hoạt động. 

Cài đặt chi tiết có thể được tìm thấy trong OpenLDAP Proxy -- slapd.conf.

Ánh xạ thuộc tính

OpenLDAP cung cấp khả năng ánh xạ thuộc tính để một số thuộc tính trong máy chủ LDAP từ xa có thể được ánh xạ thành một số tên thuộc tính thân thiện với người dùng mà máy khách có thể tham khảo. Khả năng này thường được thực hiện thông qua mục overlay rwm. Điều này thêm một plugin vào proxy và do đó ánh xạ thuộc tính có thể được thực hiện. Tuy nhiên, ánh xạ thuộc tính là toàn cục, có nghĩa là bạn không thể có ánh xạ riêng cho mỗi máy chủ LDAP từ xa. 

Hạn chế này gây ra một vấn đề mà một số yêu cầu ánh xạ thuộc tính không thể đáp ứng được. Ví dụ: nếu bạn có một máy chủ LDAP từ xa dựa trên OpenLDAP và một máy chủ LDAP từ xa dựa trên Windows AD, yêu cầu là ánh xạ uid từ máy chủ OpenLDAP thành accountId và sAMAccountName từ Windows AD thành accountId, điều này không thể thực hiện dễ dàng do hạn chế trên. Nếu bạn có ánh xạ bên dưới trong cấu hình của mình

overlay rwm
rwm-map       attribute   accountId  uid
rwm-map       attribute   accountId  sAMAccountName

Chỉ ánh xạ cuối cùng sẽ hoạt động. Ánh xạ đầu tiên bị ghi đè. Nhưng nếu bạn muốn hai ánh xạ hoạt động thì sao? Bạn có thể làm như sau

overlay rwm
rwm-map       attribute   accountId  uid
overlay rwm
rwm-map       attribute   accountId  sAMAccountName

Thêm một mục overlay rwm nữa trước ánh xạ thứ hai. Để hiểu thêm về cách hoạt động của overlay, bạn có thể tham khảo tài liệu chính thức. Dưới đây là tóm tắt về những gì nó làm.

Về cơ bản, các lớp phủ đại diện cho một phương tiện để:

  • tùy chỉnh hành vi của các backend hiện có mà không cần thay đổi mã backend và không yêu cầu người ta viết một backend tùy chỉnh mới với đầy đủ chức năng
  • viết chức năng có tính hữu ích chung có thể áp dụng cho các loại backend khác nhau

Hy vọng những lời khuyên này có thể giúp bạn trong hành trình thiết lập proxy OpenLDAP. Vui lòng bình luận nếu bạn có những lời khuyên khác.

SSL  AUTHENTICATION  OPENLDAP  OPENLDAP PROXY  ATTRIBUTE MAPPING  OVERLAY 

       

  RELATED


  0 COMMENT


No comment for this article.



  RANDOM FUN

I can do it