OpenLDAP Proxy -- Installation and configuration

English 简体中文 繁体中文 ภาษาไทย Tiếng Việt
Summary

Installing and configuring an OpenLDAP proxy can be accomplished through either a local setup or a Docker-based deployment. For a local installation, developers typically install OpenLDAP server and client packages, update the `slapd.conf` file, regenerate the configuration directory, adjust ownership, and restart the `slapd` service. Alternatively, a Docker setup involves creating a `Dockerfile` to build an image with the necessary packages and configuration, a `start.sh` script to generate SSL certificates and serve as the container's entry point, and a `docker-compose.yml` file to define and run the proxy service with port mappings and volume mounts. Both approaches offer clear steps to get an OpenLDAP proxy operational.

Sau khi hiểu cấu hình của proxy OpenLDAP sẽ như thế nào, đã đến lúc giải thích việc cài đặt proxy OpenLDAP và cách vận hành nó. Trong bài đăng này, chúng ta sẽ đề cập đến cách cài đặt proxy OpenLDAP cả cục bộ và sử dụng docker.

Cài đặt cục bộ

Việc cài đặt khá dễ dàng, có một vài gói cần được cài đặt bao gồm máy chủ ldap, máy khách ldap và một số tiện ích. Các bước dưới đây dành cho CentOS, hướng dẫn cho các nền tảng khác sẽ tương tự với những khác biệt nhỏ về tên gói và vị trí gói.

  1. Cài đặt openldap openldap-clients openldap-servers
    yum install openldap openldap-clients openldap-servers
  2. Tạo /etc/openldap/slapd.conf nếu chưa tồn tại.
  3. Cập nhật /etc/openldap/slapd.conf thêm mục LDAP (Kiểm tra bài đăng trước đó về cấu hình sẽ như thế nào)
  4. Xóa nội dung hiện tại của /etc/openldap/slapd.d/
    rm -rf /etc/openldap/slapd.d/*
  5. Tạo lại cấu hình
    slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
  6. Thay đổi chủ sở hữu của thư mục cấu hình thành ldap. Đối với Ubuntu, đó là openldap.
    chown -R ldap:ldap /etc/openldap/slapd.d
  7. Khởi động lại dịch vụ slapd
    /etc/init.d/slapd restart

Điều này sẽ khởi chạy proxy OpenLDAP với các cấu hình bạn muốn. Nếu bạn không muốn sử dụng kiểu cấu hình LDIF, bạn có thể xóa thư mục /etc/ldap/slapd.d sau khi cập nhật tệp /etc/ldap/slapd.conf.

Cài đặt Docker

Docker đã trở thành một phương pháp phổ biến để lưu trữ một dịch vụ duy nhất cho một mục đích cụ thể. Proxy OpenLDAP phù hợp hoàn hảo với mô hình này. Do đó, chúng tôi cũng sẽ giới thiệu cách thiết lập proxy OpenLDAP bằng Docker và docker-compose. Nếu bạn không biết về các tiện ích này, vui lòng đọc một số tài nguyên trực tuyến trước.

Các bước để thiết lập proxy OpenLDAP là:

  1. Tạo một thư mục có tên openldap_proxy, bạn có thể chọn bất kỳ tên nào bạn muốn. Và vào thư mục openldap_proxy.
  2. Tạo một Dockerfile và đặt nội dung sau (Đây chỉ là một ví dụ)
    # Kéo ảnh cơ sở từ nguồn được ủy quyền
    FROM centos:7
    
    # Cài đặt các gói cần thiết cho máy chủ proxy LDAP
    RUN yum install openldap openldap-clients openldap-servers -y
    
    # Tạo các thư mục cần thiết
    RUN mkdir -p /root/openldap_proxy && \
        mkdir -p /root/openldap_proxy/tmp && \
        mkdir -p /root/openldap_proxy/data && \
        mkdir -p /root/openldap_proxy/data/certs
    
    # Xóa các thư mục không cần thiết
    RUN rm -rf /etc/openldap/slapd.d
    
    # Sao chép tệp vào container
    COPY ./start.sh /root/openldap_proxy/start.sh
    COPY ./slapd.conf /etc/openldap/slapd.conf
    
    # Thêm quyền thực thi
    RUN chmod 755 /root
    RUN chmod +x /root/openldap_proxy/start.sh
    
    # Điểm vào
    ENTRYPOINT ["/root/openldap_proxy/start.sh"]
  3. Lưu Dockerfile
  4. Đặt tệp slapd.conf vào thư mục openldap_proxy và tạo một tệp có tên start.sh trong openldap_proxy
  5. Trong start.sh, đặt nội dung bên dưới
    #!/bin/bash
    
    TOPDIR=$(dirname $0)
    cd $TOPDIR && TOPDIR=$PWD
    
    # Tạo chứng chỉ nếu chưa tồn tại
    DESTDIR="$TOPDIR/data/certs"
    APP_FQDN=$(hostname -f)
    
    [[ -d $DESTDIR ]] || mkdir -p $DESTDIR
    
    APP_GEN_CERT='openssl req -x509 -nodes -days 365 -newkey rsa:2048'
    APP_GEN_CERT="$APP_GEN_CERT -keyout $DESTDIR/ldap.key -out $DESTDIR/ldap.crt"
    APP_GEN_CERT="$APP_GEN_CERT -subj '/CN=$APP_FQDN/OU=TestOU/O=Organization/L=Location/ST=State/C=Country'"
    APP_GEN_CERT="[[ -f $DESTDIR/ldap.crt ]] || $APP_GEN_CERT"
    
    eval $APP_GEN_CERT
    
    # Chạy lệnh docker-compose
    exec "$@"
  6. start.sh là điểm vào của container Docker và nó sẽ được sao chép vào container và chạy khi container docker khởi động. Tập lệnh sẽ trước tiên tạo một chứng chỉ sẽ được sử dụng bởi proxy nếu nó phục vụ các yêu cầu SSL và sau đó nó xử lý việc thực thi lệnh được truyền vào start.sh, đó sẽ là tùy chọn command trong docker-compose.yml sẽ được tạo sau 
  7. Tạo một ảnh docker có tên my_openldap_proxy. 
    docker build -t my_openldap_proxy .
  8. Tiếp theo, ra khỏi một cấp của thư mục openpldap_proxy (cd ../)
  9. Tạo một tệp docker-compose.yml với nội dung bên dưới
    my_openldap_proxy:
      image: my_openldap_proxy:latest
      container_name: my_openldap_proxy
      ports:
        - '389:389'
        - "636:636"
      volumes:
        - shared_data:/root/openldap_proxy/data
      command: bash -l -c "cd /root/openldap_proxy && /usr/sbin/slapd -h 'ldap:/// ldapi:/// ldaps:///' -g ldap -u ldap -d 2"
  10. Lưu lại và sau đó chạy lệnh docker-compose up -d. Lệnh này sẽ xây dựng container nếu nó không tồn tại và khởi động nó ở chế độ tách rời. 

Các bước cài đặt khá dễ dàng. Sẽ có một số cài đặt khác nếu bạn muốn thêm máy chủ LDAP từ xa được bật SSL vào cấu hình của mình, chúng tôi sẽ đề cập đến chúng trong một bài đăng trong tương lai. Hãy đón xem.

INSTALLATION CENTOS DOCKER OPENLDAP OPENLDAP PROXY

  RELATED

  COMMENTS

0

No comment for this article.