OpenLDAP là một phần mềm triển khai của Lightweight Directory Access Protocol (LDAP). OpenLDAP là phần mềm miễn phí và mã nguồn mở với giấy phép theo kiểu BSD có tên là OpenLDAP Public License. Phần mềm LDAP ổ đĩa dòng lệnh của nó có sẵn trên hầu hết các bản phân phối Linux như CentOS, Ubuntu, Debian, SUSE và nhiều bản phân phối khác. OpenLDAP là một bộ phần mềm hoàn chỉnh cho máy chủ LDAP, bao gồm SLAPD (trình nền LDAP độc lập), SLURPD (trình nền sao chép cập nhật LDAP độc lập) và một số tiện ích và công cụ để quản lý máy chủ LDAP. OpenLDAP là một máy chủ LDAP có khả năng tùy chỉnh cao và hỗ trợ tất cả các nền tảng điện toán chính.
Trong hướng dẫn này, bạn sẽ cài đặt và thiết lập OpenLDAP trên máy chủ Rocky Linux 9. Bạn sẽ cài đặt máy chủ OpenLDAP, cấu hình máy chủ OpenLDAP theo cách thủ công và bật SSL/TLS an toàn trên máy chủ OpenLDAP. Bạn cũng sẽ thêm một máy khách vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD (Trình nền dịch vụ bảo mật hệ thống). Ngoài ra, hãy xác minh cài đặt của bạn bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP.
Khi các yêu cầu đó đã sẵn sàng, giờ bạn có thể bắt đầu cài đặt OpenLDAP.
Nhập lệnh 'hostnamectl' sau để thiết lập fqdn cho máy chủ OpenLDAP của bạn. Trong ví dụ này, fqdn của máy chủ OpenLDAP sẽ là 'ldap.hwdomain.lan'.
Bây giờ hãy mở tệp '/etc/hosts' bằng lệnh trình chỉnh sửa nano sau.
Thêm dòng sau vào tệp và đảm bảo để thay đổi tên máy chủ chi tiết, fqdn và địa chỉ IP.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy nhập lệnh sau để xác minh fqdn của máy chủ và đảm bảo rằng fqdn được trỏ đến đúng địa chỉ IP của máy chủ.
Khi thành công, bạn sẽ nhận được đầu ra tương tự như sau - fqdn của máy chủ OpenLDAP là 'ldap.hwdomain.lan', được trỏ đến địa chỉ IP của máy chủ '192.168.5.25'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22375%22%3E%3C/svg%3E
Bây giờ hãy chuyển sang bước tiếp theo để bắt đầu cài đặt máy chủ OpenLDAP.
Trong phần này, bạn sẽ cài đặt Máy chủ và máy khách OpenLDAP tới máy chủ Rocky Linux của bạn. Nhưng trước đó, bạn phải kích hoạt kho lưu trữ 'plus' trên hệ thống của mình.
Nhập lệnh 'dnf config-manager' sau để kích hoạt kho lưu trữ 'plus'. Sau đó, hãy xác minh danh sách các kho lưu trữ trên hệ thống của bạn.
Bạn sẽ nhận được kết quả như thế này - Kho lưu trữ 'plus' của Rocky Linux đã được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22172%22%3E%3C/svg%3E
Bây giờ hãy nhập 'dnf install' sau lệnh để cài đặt các gói máy chủ và máy khách OpenLDAP. Khi được nhắc, nhập y để xác nhận và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22180%22%3E%3C/svg%3E
Sau khi OpenLDAP được cài đặt, hãy nhập tiện ích lệnh systemctl sau để khởi động và kích hoạt dịch vụ OpenLDAP 'slapd'. Với lệnh này, OpenLDAP sẽ chạy với cấu hình mặc định và được bật, nghĩa là nó sẽ tự động khởi động khi hệ thống khởi động.
Xác minh trạng thái dịch vụ OpenLDAP bằng cách nhập lệnh sau.
Đầu ra 'hoạt động (đang chạy)' xác nhận rằng dịch vụ OpenLDAP 'slapd' đang chạy. Và đầu ra '...enabled..' xác nhận rằng OpenLDAP sẽ tự động khởi động khi khởi động hệ thống.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22289%22%3E%3C/svg%3E
Với máy chủ OpenLDAP đã được cài đặt và đang chạy, bạn sẽ thiết lập firewalld để thêm dịch vụ LDAP và LDAPS nhằm đảm bảo cả hai cổng dịch vụ đều có thể truy cập được từ bên ngoài mạng.
Nhập lệnh sau Lệnh 'firewall-cmd' để thêm các dịch vụ LDAP và LDAPS vào firewalld. Sau đó, tải lại firewalld để áp dụng các thay đổi. Đầu ra 'thành công' xác nhận rằng quy tắc mới đã được thêm vào firewalld.
Bây giờ hãy chạy lệnh 'firewall-cmd' sau để xác minh danh sách các dịch vụ được bật trên firewalld.
Khi bạn thấy 'ldap' và 'ldaps' trong phần 'services', điều đó có nghĩa là cả hai dịch vụ được thêm vào tường lửa đều có thể truy cập được từ các mạng bên ngoài.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22284%22%3E%3C/svg%3E
Trước khi bắt đầu, hãy nhập lệnh 'slappasswd' sau để tạo băm mật khẩu cho máy chủ OpenLDAP của bạn. Nhập mật khẩu của bạn và lặp lại, sau đó sao chép mật khẩu băm đã tạo.
Bây giờ hãy tạo tệp LDIF mới 'changerootpass.ldif' bằng lệnh nano editor sau. Định dạng trao đổi dữ liệu LDIF hoặc LDAP là định dạng tệp chứa một tập hợp các bản ghi mục nhập LDAP và có thể được sử dụng để cập nhật máy chủ LDAP.
Thêm các nội dung sau vào tệp và đảm bảo thay đổi mật khẩu đã băm bằng mật khẩu bạn đã tạo.
Lưu và đóng tệp khi bạn xong.
Bây giờ hãy chạy lệnh 'ldapadd' sau để thay đổi mật khẩu gốc OpenLDAP thông qua tệp 'changerootpass.ldif'.
Khi thành công, bạn sẽ nhận được kết quả tương tự như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22708%22%20height=%22274%22%3E%3C/svg%3E
Tiếp theo, nhập lệnh 'ldapadd' sau để nhập các lược đồ cơ bản cho máy chủ OpenLDAP.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22318%22%3E%3C/svg%3E
Cuối cùng, bây giờ bạn có thể nhập tiện ích lệnh systemctl sau để khởi động lại dịch vụ OpenLDAP và áp dụng các thay đổi.
Với thao tác này, bạn đã cấu hình xong mật khẩu gốc và nhập các lược đồ cơ bản cho máy chủ OpenLDAP. Trong bước tiếp theo, bạn sẽ thiết lập DN (Distinguished Name) mặc định và các mục nhập Nhóm cơ sở và Tổ chức trên máy chủ OpenLDAP.
Tạo một tệp mới 'setdomain.ldif' bằng lệnh nano editor sau.
Thêm các nội dung sau vào tệp và đảm bảo thay đổi dn cơ sở 'dc=hwdomain,dc=lan' bằng tên miền của bạn. Ngoài ra, hãy đảm bảo thay đổi mật khẩu băm bằng mật khẩu gốc đã tạo của bạn.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy nhập lệnh 'ldapmodify' sau để áp dụng dn mới cho máy chủ OpenLDAP của bạn. Trong trường hợp này, bạn đã sử dụng 'ldapmodify' thay vì 'ldapadd' vì bạn muốn sửa đổi máy chủ OpenLDAP hiện tại.
Khi thành công, bạn sẽ nhận được kết quả như thế này.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22328%22%3E%3C/svg%3E
Bây giờ bạn có thể nhập lệnh 'ldapsearch' sau để xác minh tên miền cơ sở của máy chủ OpenLDAP. DNS cơ sở của máy chủ OpenLDAP được lưu trữ tại 'namingContexts'.
Khi thành công, bạn sẽ nhận được DNS cơ sở của máy chủ OpenLDAP. DNS cơ sở cho máy chủ OpenLDAP trong ví dụ này là 'dn=hwdomain,dn=lan' hoặc 'hwdomain.lan'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22155%22%3E%3C/svg%3E
Sau khi bạn đã cấu hình DNS cơ sở, tiếp theo bạn sẽ thiết lập nhóm và tổ chức cơ sở, nơi bạn có thể lưu trữ người dùng OpenLDAP trên đó. Cách thực hiện tương tự như cách thiết lập dn cơ sở.
Nhập lệnh nano editor sau để tạo tệp mới 'addou.ldif'.
Thêm nội dung sau vào tệp và đảm bảo thay đổi tên miền cơ sở bằng tên miền.
Lưu và đóng tệp khi hoàn tất.
Tiếp theo, nhập lệnh 'ldapadd' sau để thêm ou 'People' và 'Group'. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu máy chủ OpenLDAP.
Khi thao tác thành công, bạn sẽ nhận được kết quả tương tự như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22288%22%3E%3C/svg%3E
Xác minh danh sách 'ou' trên máy chủ OpenLDAP của bạn bằng cách nhập lệnh sau Lệnh 'ldapsearch' vào thiết bị đầu cuối của bạn.
Bạn sẽ thấy hai ou có tên là 'People' và 'Group' đã được thêm vào và có sẵn trên máy chủ OpenLDAP.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22573%22%20height=%22633%22%3E%3C/svg%3E
Tại thời điểm này, bạn đã thêm và cấu hình tên miền hoặc tên miền cơ sở, hai ou hoặc đơn vị tổ chức cho máy chủ OpenLDAP. Trong bước tiếp theo, bạn sẽ tìm hiểu cách thêm người dùng mới thông qua tệp LDIF.
Đầu tiên, nhập lệnh 'slappasswd' sau để tạo mật khẩu băm cho người dùng mới. Nhập mật khẩu của bạn và lặp lại, sau đó sao chép mật khẩu đã tạo.
Bây giờ hãy nhập lệnh nano editor sau để tạo tệp mới 'adduser.ldif'.
Thêm nội dung sau vào tệp và đảm bảo thay đổi tên người dùng, mật khẩu và dn mặc định. trong ví dụ này, bạn sẽ tạo một người dùng mới có tên là 'rocky' và sẽ là một phần của 'People'.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy nhập lệnh 'ldapadd' sau để thêm người dùng mới của bạn thông qua 'adduser.ldif' tệp.
Nhập máy chủ OpenLDAP khi được nhắc và khi thành công, bạn sẽ nhận được đầu ra như thế này.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22270%22%3E%3C/svg%3E
Nhập lệnh 'ldapsearch' sau để xác minh người dùng mới 'rocky' và đảm bảo rằng đó là đã thêm và có sẵn trên máy chủ OpenLDAP của bạn. Lệnh này sẽ in ra tất cả người dùng có sẵn trên ou 'People'.
Đầu ra như thế này xác nhận rằng người dùng OpenLDAP 'rocky' đã được tạo và thêm vào máy chủ OpenLDAP.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22635%22%20height=%22683%22%3E%3C/svg%3E
Nhập lệnh 'openssl' sau để tạo chứng chỉ SSL/TLS Self-Signed. Nhập thông tin chi tiết về chứng chỉ của bạn, khi hoàn tất, chứng chỉ của bạn sẽ được lưu trữ trong thư mục '/etc/pki/tls/'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22615%22%20height=%22204%22%3E%3C/svg%3E
Sau khi chứng chỉ SSL/TLS được tạo, hãy thay đổi quyền sở hữu chứng chỉ SSL/TLS cho người dùng 'ldap' và nhóm 'ldap'. Điều này sẽ cho phép OpenLDAP truy cập các tệp chứng chỉ.
Tiếp theo, tạo tệp LDIF mới 'tls.ldif' bằng lệnh trình chỉnh sửa nano sau.
Thêm các cấu hình sau vào tệp. Hãy đảm bảo thay đổi tệp chứng chỉ chi tiết và đường dẫn đầy đủ của tệp đó nếu bạn đang sử dụng chứng chỉ tùy chỉnh.
Lưu và đóng tệp khi hoàn tất.
Tiếp theo, nhập lệnh 'ldapadd' sau để áp dụng SSL/TLS trên máy chủ OpenLDAP.
Sau khi thành công, bạn sẽ nhận được một đầu ra như thế này.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22214%22%3E%3C/svg%3E
Bây giờ hãy mở cấu hình máy chủ OpenLDAP '/etc/openldap/ldap.conf' bằng lệnh trình chỉnh sửa nano sau.
Bỏ chú thích tham số 'TLS_CACERT' và thay đổi giá trị bằng đường dẫn của tệp chứng chỉ CA đã tạo của bạn. Sau đó, thêm tham số mới 'TLS_REQCERT' và đặt thành 'không bao giờ', điều này là do bạn đang sử dụng chứng chỉ Tự ký.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy nhập tiện ích lệnh systemctl sau để khởi động lại dịch vụ OpenLDAP 'slapd' và áp dụng thay đổi.
Với lệnh này, máy chủ OpenLDAP hiện đang chạy trên cả giao thức LDAP và LDAPS. Nhập lệnh sau để xác minh rằng LDAPS được bật trên máy chủ OpenLDAP của bạn.
Khi LDAPS được bật, bạn sẽ nhận được đầu ra của tất cả các cài đặt máy chủ OpenLDAP của mình. Tham số '-ZZ' sẽ buộc bạn phải kết nối bằng LDAPS an toàn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22514%22%20height=%22679%22%3E%3C/svg%3E
Bây giờ bạn đã cấu hình và bật LDAPS an toàn trên máy chủ OpenLDAP của mình. Ở bước tiếp theo, bạn sẽ tìm hiểu cách thêm máy chủ Linux vào máy chủ OpenLDAP.
Dưới đây là một số bước chi tiết để thêm máy chủ vào máy chủ OpenLDAP:
Bây giờ hãy mở tệp '/etc/hosts' bằng trình chỉnh sửa nano sau.
Thêm các dòng sau vào tệp và đảm bảo thay đổi tên máy chủ và địa chỉ IP chi tiết bằng máy chủ OpenLDAP chi tiết.
Lưu và đóng tệp khi hoàn tất.
Đầu ra như thế này xác nhận rằng kho lưu trữ 'plus' đã được thêm và kích hoạt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Bây giờ hãy cài đặt máy khách OpenLDAP và các gói SSSD (System Security Services Daemon) qua lệnh 'dnf install' như bên dưới.
Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Sau khi cài đặt xong gói SSSD và máy khách OpenLDAP, bạn đã sẵn sàng thiết lập và kết nối với OpenLDAP máy chủ.
Bạn sẽ nhận được đầu ra tương tự như thế này, cũng hướng dẫn bạn khởi động và bật dịch vụ 'oddjobd'.
Tiếp theo, nhập tiện ích lệnh 'systemctl' sau để bắt đầu và kích hoạt dịch vụ 'oddjobd'. Sau đó, xác minh dịch vụ oddjobd để đảm bảo rằng dịch vụ đang chạy.
Đầu ra bên dưới xác nhận rằng dịch vụ oddjobd đã được kích hoạt và sẽ tự động khởi động khi hệ thống khởi động. Và trạng thái của dịch vụ oddjobd đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E
Với nguồn xác thực sssd được bật và dịch vụ oddjobd đang chạy, bây giờ bạn sẽ thêm máy chủ OpenLDAP vào cấu hình của mình.
Bỏ chú thích cả tham số 'URI' và 'BASE' và thay đổi giá trị bằng tên miền máy chủ OpenLDAP và tên miền cơ sở của bạn.
Lưu và thoát tệp khi hoàn tất.
Tiếp theo, tạo tệp cấu hình SSSD mới '/etc/sssd/sssd.conf' bằng lệnh trình chỉnh sửa nano sau.
Thêm các dòng sau vào tệp và đảm bảo thay đổi chi tiết của máy chủ OpenLDAP trên 'ldap_uri' và 'ldap_search_base' tham số.
Lưu và đóng tệp khi hoàn tất.
Bây giờ hãy thay đổi quyền của tệp cấu hình SSSD '/etc/sssd/sssd.conf' thành 600 thông qua lệnh chmod bên dưới.
Cuối cùng, hãy nhập tiện ích lệnh systemctl sau để bắt đầu và kích hoạt dịch vụ SSSD.
Bây giờ hãy nhập lệnh sau để xác minh dịch vụ SSSD nhằm đảm bảo dịch vụ đang chạy.
Đầu ra bên dưới xác nhận rằng dịch vụ SSSD đang chạy và được kích hoạt, nghĩa là dịch vụ SSSD sẽ tự động khởi động khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22307%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã thêm máy khách Rocky Linux vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD. Ở bước tiếp theo, bạn sẽ xác minh cả máy chủ OpenLDAP và máy khách OpenLDAP bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP 'rocky' mà bạn đã tạo.
Từ máy chủ OpenLDAP, nhập lệnh 'ssh' sau để đăng nhập vào máy khách trên '192.168.5.80'. Nhập yes để xác nhận dấu vân tay SSH của máy khách, sau đó nhập mật khẩu cho người dùng OpenLDAP 'rocky'.
Khi thành công, bạn sẽ được đăng nhập vào shell máy khách. Bây giờ hãy nhập lệnh sau để xác minh người dùng hiện tại.
Đầu ra 'rocky' xác nhận rằng bạn đã đăng nhập vào máy khách thông qua người dùng OpenLDAP 'rocky'. Với điều này, quá trình cài đặt máy chủ OpenLDAP trên Rocky Linux 9 của bạn đã hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Ngoài ra, bạn cũng đã thêm và cấu hình máy khách Rocky Linux vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD (System Security Services Daemon). Sau đó, bạn cũng đã xác minh việc cài đặt máy chủ OpenLDAP và máy khách bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP mà bạn đã tạo.
Với điều này, giờ đây bạn có thể thêm nhiều máy khách hơn vào máy chủ OpenLDAP để có thể quản lý người dùng tập trung thông qua OpenLDAP. Bạn cũng có thể tích hợp máy chủ OpenLDAP với các ứng dụng của mình. Để biết thêm chi tiết, hãy kiểm tra tài liệu chính thức của OpenLDAP.
Trong hướng dẫn này, bạn sẽ cài đặt và thiết lập OpenLDAP trên máy chủ Rocky Linux 9. Bạn sẽ cài đặt máy chủ OpenLDAP, cấu hình máy chủ OpenLDAP theo cách thủ công và bật SSL/TLS an toàn trên máy chủ OpenLDAP. Bạn cũng sẽ thêm một máy khách vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD (Trình nền dịch vụ bảo mật hệ thống). Ngoài ra, hãy xác minh cài đặt của bạn bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn phải có các yêu cầu sau:- Máy chủ có ít nhất 4 GB RAM và 2 CPU chạy hệ thống Rocky Linux 9 - Ví dụ này sử dụng Rocky Linux với tên máy chủ 'ldap' và fqdn 'ldap.hwdomain.lan'.
- Máy sẽ được sử dụng làm máy khách - Ví dụ này sử dụng máy khách Rocky Linux với tên máy chủ 'client'.
- Người dùng không phải root có quyền quản trị viên sudo/root.
- SELinux chạy ở chế độ cho phép.
Mã:
Hostname IP Address Used as
-----------------------------------------
ldap 192.168.5.25 OpenLDAP Server
client 192.168.5.80 OpenLDAP Client
Thiết lập FQDN và /etc/hosts
Trước khi bắt đầu cài đặt OpenLDAP, bạn phải thiết lập fqdn (tên miền đủ điều kiện) và tệp /etc/hosts thích hợp trên máy chủ đích.Nhập lệnh 'hostnamectl' sau để thiết lập fqdn cho máy chủ OpenLDAP của bạn. Trong ví dụ này, fqdn của máy chủ OpenLDAP sẽ là 'ldap.hwdomain.lan'.
Mã:
sudo hostnamectl set-hostname ldap.hwdomain.lan
Mã:
sudo nano /etc/hosts
Mã:
# ip - fqdn - hostname
192.168.5.25 ldap.hwdomain.lan ldap
Bây giờ hãy nhập lệnh sau để xác minh fqdn của máy chủ và đảm bảo rằng fqdn được trỏ đến đúng địa chỉ IP của máy chủ.
Mã:
sudo hostname -f
ping -c3 ldap.hwdomain.lan
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22375%22%3E%3C/svg%3E
Bây giờ hãy chuyển sang bước tiếp theo để bắt đầu cài đặt máy chủ OpenLDAP.
Cài đặt máy chủ OpenLDAP
Trên máy chủ Rocky Linux 9 mới nhất, các gói OpenLDAP có sẵn trên kho lưu trữ 'plus', không được bật theo mặc định.Trong phần này, bạn sẽ cài đặt Máy chủ và máy khách OpenLDAP tới máy chủ Rocky Linux của bạn. Nhưng trước đó, bạn phải kích hoạt kho lưu trữ 'plus' trên hệ thống của mình.
Nhập lệnh 'dnf config-manager' sau để kích hoạt kho lưu trữ 'plus'. Sau đó, hãy xác minh danh sách các kho lưu trữ trên hệ thống của bạn.
Mã:
sudo dnf config-manager --set-enabled plus
sudo dnf repolist
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22172%22%3E%3C/svg%3E
Bây giờ hãy nhập 'dnf install' sau lệnh để cài đặt các gói máy chủ và máy khách OpenLDAP. Khi được nhắc, nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install openldap-servers openldap-clients
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22180%22%3E%3C/svg%3E
Sau khi OpenLDAP được cài đặt, hãy nhập tiện ích lệnh systemctl sau để khởi động và kích hoạt dịch vụ OpenLDAP 'slapd'. Với lệnh này, OpenLDAP sẽ chạy với cấu hình mặc định và được bật, nghĩa là nó sẽ tự động khởi động khi hệ thống khởi động.
Mã:
sudo systemctl start slapd
sudo systemctl enable slapd
Mã:
sudo systemctl status slapd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22289%22%3E%3C/svg%3E
Với máy chủ OpenLDAP đã được cài đặt và đang chạy, bạn sẽ thiết lập firewalld để thêm dịch vụ LDAP và LDAPS nhằm đảm bảo cả hai cổng dịch vụ đều có thể truy cập được từ bên ngoài mạng.
Thiết lập Firewalld
Trong phần này, bạn sẽ thiết lập firewalld để mở các dịch vụ LDAP và LDAPS và đảm bảo cả hai dịch vụ đều có thể truy cập được từ bên ngoài mạng.Nhập lệnh sau Lệnh 'firewall-cmd' để thêm các dịch vụ LDAP và LDAPS vào firewalld. Sau đó, tải lại firewalld để áp dụng các thay đổi. Đầu ra 'thành công' xác nhận rằng quy tắc mới đã được thêm vào firewalld.
Mã:
sudo firewall-cmd --add-service={ldap,ldaps} --permanent
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --list-all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22284%22%3E%3C/svg%3E
Cấu hình Máy chủ OpenLDAP cơ bản
Trong phần này, bạn sẽ cấu hình cài đặt máy chủ OpenLDAP. Bạn sẽ thiết lập mật khẩu cho máy chủ OpenLDAP và nhập một số lược đồ cơ bản vào máy chủ OpenLDAP. Các thao tác này có thể được thực hiện thông qua tiện ích 'ldapadd' do gói máy chủ OpenLDAP cung cấp.Trước khi bắt đầu, hãy nhập lệnh 'slappasswd' sau để tạo băm mật khẩu cho máy chủ OpenLDAP của bạn. Nhập mật khẩu của bạn và lặp lại, sau đó sao chép mật khẩu băm đã tạo.
Mã:
slappasswd
Mã:
nano changerootpass.ldif
Mã:
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}Uf13AbVHOcs/aDWJOvDxxfBSl3omExG2
Bây giờ hãy chạy lệnh 'ldapadd' sau để thay đổi mật khẩu gốc OpenLDAP thông qua tệp 'changerootpass.ldif'.
Mã:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f changerootpass.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22708%22%20height=%22274%22%3E%3C/svg%3E
Tiếp theo, nhập lệnh 'ldapadd' sau để nhập các lược đồ cơ bản cho máy chủ OpenLDAP.
Mã:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22318%22%3E%3C/svg%3E
Cuối cùng, bây giờ bạn có thể nhập tiện ích lệnh systemctl sau để khởi động lại dịch vụ OpenLDAP và áp dụng các thay đổi.
Mã:
sudo systemctl restart slapd
Cấu hình Miền cơ sở
Trong phần này, bạn sẽ thiết lập DN (Domain Name) cơ sở thông qua tệp LDIF cho máy chủ OpenLDAP của bạn. Trong ví dụ này, dn cơ sở cho OpenLDAP là 'hwdomain.lan'.Tạo một tệp mới 'setdomain.ldif' bằng lệnh nano editor sau.
Mã:
nano setdomain.ldif
Mã:
# setdomain.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=hwdomain,dc=lan" read by * none
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=hwdomain,dc=lan
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=hwdomain,dc=lan
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}Uf13AbVHOcs/aDWJOvDxxfBSl3omExG2
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=hwdomain,dc=lan" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=hwdomain,dc=lan" write by * read
Bây giờ hãy nhập lệnh 'ldapmodify' sau để áp dụng dn mới cho máy chủ OpenLDAP của bạn. Trong trường hợp này, bạn đã sử dụng 'ldapmodify' thay vì 'ldapadd' vì bạn muốn sửa đổi máy chủ OpenLDAP hiện tại.
Mã:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f setdomain.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22328%22%3E%3C/svg%3E
Bây giờ bạn có thể nhập lệnh 'ldapsearch' sau để xác minh tên miền cơ sở của máy chủ OpenLDAP. DNS cơ sở của máy chủ OpenLDAP được lưu trữ tại 'namingContexts'.
Mã:
sudo ldapsearch -H ldap:// -x -s base -b "" -LLL "namingContexts"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22155%22%3E%3C/svg%3E
Sau khi bạn đã cấu hình DNS cơ sở, tiếp theo bạn sẽ thiết lập nhóm và tổ chức cơ sở, nơi bạn có thể lưu trữ người dùng OpenLDAP trên đó. Cách thực hiện tương tự như cách thiết lập dn cơ sở.
Cấu hình Nhóm cơ sở và Tổ chức
Trong ví dụ này, bạn sẽ thiết lập hai nhóm cơ sở cho máy chủ OpenLDAP của mình. Bạn sẽ thêm hai đơn vị 'ou' hoặc tổ chức có tên là 'People' và 'Group' thông qua tệp LDIF. Bạn sẽ lưu trữ tất cả người dùng OpenLDAP của mình trong các ou, People và Group này.Nhập lệnh nano editor sau để tạo tệp mới 'addou.ldif'.
Mã:
nano addou.ldif
Mã:
# addou.ldif
dn: dc=hwdomain,dc=lan
objectClass: top
objectClass: dcObject
objectclass: organization
o: My hwdomain Organisation
dc: hwdomain
dn: cn=Manager,dc=hwdomain,dc=lan
objectClass: organizationalRole
cn: Manager
description: OpenLDAP Manager
dn: ou=People,dc=hwdomain,dc=lan
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=hwdomain,dc=lan
objectClass: organizationalUnit
ou: Group
Tiếp theo, nhập lệnh 'ldapadd' sau để thêm ou 'People' và 'Group'. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu máy chủ OpenLDAP.
Mã:
sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=lan -W -f addou.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22288%22%3E%3C/svg%3E
Xác minh danh sách 'ou' trên máy chủ OpenLDAP của bạn bằng cách nhập lệnh sau Lệnh 'ldapsearch' vào thiết bị đầu cuối của bạn.
Mã:
sudo ldapsearch -x -b "dc=hwdomain,dc=lan" ou
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22573%22%20height=%22633%22%3E%3C/svg%3E
Tại thời điểm này, bạn đã thêm và cấu hình tên miền hoặc tên miền cơ sở, hai ou hoặc đơn vị tổ chức cho máy chủ OpenLDAP. Trong bước tiếp theo, bạn sẽ tìm hiểu cách thêm người dùng mới thông qua tệp LDIF.
Thêm người dùng mới vào máy chủ OpenLDAP
Trong phần này, bạn sẽ thêm và thiết lập người dùng mới trong OpenLDAP thông qua tệp LDIF. Các bước thực hiện rất đơn giản, bạn chỉ cần tạo mật khẩu băm thông qua 'slappasswd', sau đó tạo tệp LDIF mới để thêm người dùng, rồi chạy lệnh 'ldapadd' để thêm người dùng mới vào máy chủ OpenLDAP.Đầu tiên, nhập lệnh 'slappasswd' sau để tạo mật khẩu băm cho người dùng mới. Nhập mật khẩu của bạn và lặp lại, sau đó sao chép mật khẩu đã tạo.
Mã:
slappasswd
Mã:
nano adduser.ldif
Mã:
# adduser.ldif
dn: uid=rocky,ou=People,dc=hwdomain,dc=lan
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: rocky
sn: temp
userPassword: {SSHA}cDG5NuQd+rYn6rWh1r5UnysUOwJlt1uk
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/rocky
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0
dn: cn=rocky,ou=Group,dc=hwdomain,dc=lan
objectClass: posixGroup
cn: rocky
gidNumber: 2000
memberUid: rocky
Bây giờ hãy nhập lệnh 'ldapadd' sau để thêm người dùng mới của bạn thông qua 'adduser.ldif' tệp.
Mã:
sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=lan -W -f adduser.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22270%22%3E%3C/svg%3E
Nhập lệnh 'ldapsearch' sau để xác minh người dùng mới 'rocky' và đảm bảo rằng đó là đã thêm và có sẵn trên máy chủ OpenLDAP của bạn. Lệnh này sẽ in ra tất cả người dùng có sẵn trên ou 'People'.
Mã:
sudo ldapsearch -x -b "ou=People,dc=hwdomain,dc=lan"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22635%22%20height=%22683%22%3E%3C/svg%3E
Bảo mật OpenLDAP bằng SSL/TLS
Trong phần này, bạn sẽ thiết lập và bật LDAPS an toàn trên máy chủ OpenLDAP. Bạn sẽ tạo chứng chỉ SSL/TLS sẽ được máy chủ OpenLDAP sử dụng, sau đó thiết lập OpenLDAP để sử dụng chứng chỉ SSL/TLS và bật giao thức LDAPS an toàn.Nhập lệnh 'openssl' sau để tạo chứng chỉ SSL/TLS Self-Signed. Nhập thông tin chi tiết về chứng chỉ của bạn, khi hoàn tất, chứng chỉ của bạn sẽ được lưu trữ trong thư mục '/etc/pki/tls/'.
Mã:
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/pki/tls/ldapserver.key \
-out /etc/pki/tls/ldapserver.crt
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22615%22%20height=%22204%22%3E%3C/svg%3E
Sau khi chứng chỉ SSL/TLS được tạo, hãy thay đổi quyền sở hữu chứng chỉ SSL/TLS cho người dùng 'ldap' và nhóm 'ldap'. Điều này sẽ cho phép OpenLDAP truy cập các tệp chứng chỉ.
Mã:
sudo chown ldap:ldap /etc/pki/tls/{ldapserver.crt,ldapserver.key}
Mã:
sudo nano tls.ldif
Mã:
# tls.ldif
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/pki/tls/ldapserver.crt
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/pki/tls/ldapserver.key
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/pki/tls/ldapserver.crt
Tiếp theo, nhập lệnh 'ldapadd' sau để áp dụng SSL/TLS trên máy chủ OpenLDAP.
Mã:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f tls.ldif
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22214%22%3E%3C/svg%3E
Bây giờ hãy mở cấu hình máy chủ OpenLDAP '/etc/openldap/ldap.conf' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/openldap/ldap.conf
Mã:
TLS_CACERT /etc/pki/tls/ldapserver.crt
# because you're using Self-Signed Certificate - you must add this
TLS_REQCERT never
Bây giờ hãy nhập tiện ích lệnh systemctl sau để khởi động lại dịch vụ OpenLDAP 'slapd' và áp dụng thay đổi.
Mã:
sudo systemctl restart slapd
Mã:
sudo ldapsearch -x -b dc=hwdomain,dc=lan -ZZ
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22514%22%20height=%22679%22%3E%3C/svg%3E
Bây giờ bạn đã cấu hình và bật LDAPS an toàn trên máy chủ OpenLDAP của mình. Ở bước tiếp theo, bạn sẽ tìm hiểu cách thêm máy chủ Linux vào máy chủ OpenLDAP.
Thêm máy khách vào máy chủ OpenLDAP
Trong phần này, bạn sẽ thêm máy chủ khách vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và dịch vụ SSSD. Trong ví dụ này, bạn sẽ thêm một máy khách Rocky Linux với tên máy chủ 'client' và địa chỉ IP '192.168.5.80'.Dưới đây là một số bước chi tiết để thêm máy chủ vào máy chủ OpenLDAP:
- Thiết lập tệp fqdn và /etc/hosts.
- Cài đặt các gói OpenLDAP Client và SSSD.
- Bật SSSD làm nguồn xác thực.
- Cấu hình dịch vụ OpenLDAP Client và SSSD.
Thiết lập FQDN và /etc/hosts
Nhập lệnh 'hostnamectl' sau để thiết lập fqdn của máy khách máy.
Mã:
sudo hostnamectl set-hostname client.hwdomain.lan
Mã:
sudo nano /etc/hosts
Mã:
# ip - fqdn - hostname
192.168.5.25 ldap.hwdomain.lan ldap
Cài đặt OpenLDAP Client và các gói SSSD
Tiếp theo, nhập lệnh dnf sau để kích hoạt kho lưu trữ 'plus' trên máy khách Rocky Linux. Sau đó, hãy xác minh danh sách kho lưu trữ đã được kích hoạt bằng lệnh bên dưới.
Mã:
sudo dnf config-manager --set-enabled plus
sudo dnf repolist
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Bây giờ hãy cài đặt máy khách OpenLDAP và các gói SSSD (System Security Services Daemon) qua lệnh 'dnf install' như bên dưới.
Mã:
sudo dnf install openldap-clients sssd sssd-ldap oddjob-mkhomedir
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Sau khi cài đặt xong gói SSSD và máy khách OpenLDAP, bạn đã sẵn sàng thiết lập và kết nối với OpenLDAP máy chủ.
Bật nguồn xác thực SSSD
Nhập lệnh 'authselect' sau để bật nguồn xác thực 'sssd' trên máy khách Rocky Linux. Tham số 'with-mkhomedir' cho phép người dùng đã xác thực SSSD tự động tạo thư mục gốc.
Mã:
sudo authselect select sssd with-mkhomedir --force
Tiếp theo, nhập tiện ích lệnh 'systemctl' sau để bắt đầu và kích hoạt dịch vụ 'oddjobd'. Sau đó, xác minh dịch vụ oddjobd để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl enable --now oddjobd.service
sudo systemctl status oddjobd.service
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E
Với nguồn xác thực sssd được bật và dịch vụ oddjobd đang chạy, bây giờ bạn sẽ thêm máy chủ OpenLDAP vào cấu hình của mình.
Cấu hình Máy khách OpenLDAP và Dịch vụ SSSD
Mở tệp cấu hình '/etc/openldap/ldap.conf' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/openldap/ldap.conf
Mã:
URI ldap://ldap.hwdomain.lan/
BASE dc=hwdomain,dc=lan
Tiếp theo, tạo tệp cấu hình SSSD mới '/etc/sssd/sssd.conf' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/sssd/sssd.conf
Mã:
[domain/default]
id_provider = ldap
autofs_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://ldap.hwdomain.lan/
ldap_search_base = dc=hwdomain,dc=lan
ldap_id_use_start_tls = True
ldap_tls_cacertdir = /etc/openldap/certs
cache_credentials = True
ldap_tls_reqcert = allow
[sssd]
services = nss, pam, autofs
domains = default
[nss]
homedir_substring = /home
Bây giờ hãy thay đổi quyền của tệp cấu hình SSSD '/etc/sssd/sssd.conf' thành 600 thông qua lệnh chmod bên dưới.
Mã:
sudo chmod 0600 /etc/sssd/sssd.conf
Mã:
sudo systemctl start sssd
sudo systemctl enable sssd
Mã:
sudo systemctl status sssd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22307%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã thêm máy khách Rocky Linux vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD. Ở bước tiếp theo, bạn sẽ xác minh cả máy chủ OpenLDAP và máy khách OpenLDAP bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP 'rocky' mà bạn đã tạo.
Kết nối với máy khách thông qua người dùng OpenLDAP
Trong phần này, bạn sẽ xác minh việc cài đặt máy chủ OpenLDAP và máy khách OpenLDAP bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP. Vì vậy, bạn sẽ đăng nhập bằng người dùng 'rocky' mà bạn đã tạo trên máy chủ OpenLDAP vào máy khách có địa chỉ IP '192.168.5.80'.Từ máy chủ OpenLDAP, nhập lệnh 'ssh' sau để đăng nhập vào máy khách trên '192.168.5.80'. Nhập yes để xác nhận dấu vân tay SSH của máy khách, sau đó nhập mật khẩu cho người dùng OpenLDAP 'rocky'.
Mã:
ssh [emailprotected]
Mã:
id
whoami
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Kết luận
Trong hướng dẫn này, bạn đã cài đặt máy chủ OpenLDAP trên máy chủ Rocky Linux 9. Bạn cũng đã bảo mật cài đặt OpenLDAP bằng chứng chỉ SSL/TLS tự ký. Bạn cũng đã tìm hiểu cách sử dụng cơ bản một số tiện ích OpenLDAP như 'ldapadd' để thêm các mục mới như người dùng và cấu hình mới, 'ldapsearch' để tìm kiếm các mục có sẵn trên máy chủ OpenLDAP và tiện ích 'ldapmodify' để chỉnh sửa cấu hình hiện tại của máy chủ OpenLDAP.Ngoài ra, bạn cũng đã thêm và cấu hình máy khách Rocky Linux vào máy chủ OpenLDAP thông qua máy khách OpenLDAP và SSSD (System Security Services Daemon). Sau đó, bạn cũng đã xác minh việc cài đặt máy chủ OpenLDAP và máy khách bằng cách đăng nhập vào máy khách thông qua người dùng OpenLDAP mà bạn đã tạo.
Với điều này, giờ đây bạn có thể thêm nhiều máy khách hơn vào máy chủ OpenLDAP để có thể quản lý người dùng tập trung thông qua OpenLDAP. Bạn cũng có thể tích hợp máy chủ OpenLDAP với các ứng dụng của mình. Để biết thêm chi tiết, hãy kiểm tra tài liệu chính thức của OpenLDAP.