Bài thực hành OPEN-LDAP trên CentOS Linux

LDAP (Lightweight Directory Access Protocol) là giao thức dùng để xác thực người dùng. Giao thức LDAP hoạt động ở tầng Application trong mô hình mạng TCP/IP cho phép xác thực, truy xuất thông tin của người dùng như tên, địa chỉ, số điện thoại, email … LDAP là giao thức được phát triển từ giao thức DAP với nhiều ưu điểm vượt trội như sử dụng ít bộ nhớ và hiệu suất xử lý của CPU. OPENLDAP là phần mềm miễn phí, nguồn mở thực thi giao thức LDAP. OPENLDAP được phát triển bởi dự án OPENLDAP, chạy trên nhiều hệ điều hành như BSD, AIX, Android, HP-UX, Mac OS X, Solaris và Windows. Mô hình minh họa kiến trúc của giao thức LDAP:

BÀI THỰC HÀNH

CÀI ĐẶT VÀ CẤU HÌNH OPENLDAP
Trong bài thực hành này chúng ta sẽ xây dựng 2 máy ảo Linux chạy CentOS-5 và 1 máy thật Windows kết nối theo mô hình bên dưới :

Nội dung của bài thực hành: - Cài đặt và cấu hình dịch vụ LDAP trên máy LDAP-Server sử dụng phần mềm OpenLDAP. - Tạo LDAP domain có tên “ipmac.lab” và tạo các đối tượng quản trị (user, group) trong domain này. - Cài đặt công cụ quản trị LDAP Admin trên máy Windows và tìm hiểu các tính năng của công cụ này. - Cấu hình máy LDAP-Client để xác thực người dùng thông qua dịch vụ LDAP. Địa chỉ IP sử dụng trong bài thực hành: - Máy LDAP-Server : 192.168.1.1

- Máy LDAP-Client : 192.168.1.2 - Máy Windows : 192.168.1.100 Cài đặt và khởi tạo dịch vụ LDAP trên LDAP-Server Bước 1 : Đặt IP trên 2 máy Linux và máy Windows theo mô hình trên. Tắt dịch vụ iptables trên 2 máy Linux [root@LDAP-Server]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up [root@LDAP-Server]# service iptables stop [root@LDAP-Client]# ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up [root@LDAP-Client]# service iptables stop

Bước 2 : Trên LDAP-Server kiểm tra 2 package openldap-servers và openldap-clients đã được cài đặt hay chưa. Nếu chưa tiến hành cài đặt 2 packages này qua yum hoặc rpm [root@LDAP-Server]# rpm -qa | grep openldap [root@LDAP-Server]# yum install openldap-servers openldap-clients [root@LDAP-Server]# rpm -qa | grep openldap

Bước 3 : Mở file cấu hình tổng thể của OpenLDAP Server và xem các thông tin cấu hình chính (/etc/openldap/slapd.conf) [root@LDAP-Server]# less /etc/openldap/slapd.conf

Bước 4 : Trên LDAP-Server chạy lệnh slappasswd để sinh ra password dạng đã được mã hóa dùng để quản trị OpenLDAP và copy lại password đã được mã hóa này [root@LDAP-Server]# slappasswd

Bước 5 : Trên LDAP-Server sửa lại domain name là ipmac.lab và đưa thông tin về password quản trị sinh ra ở bước 4 trong file cấu hình /etc/openldap/slapd.conf [root@LDAP-Server]# vi /etc/openldap/slapd.conf

Bước 6 : Trên LDAP-Server khởi động dịch vụ LDAP [root@LDAP-Server]# service ldap start

Tự viết file LDIF để xây dựng kiến trúc cho LDAP Server
Bước 7 : Trên LDAP-Server tạo file có tên ipmac.lab.ldif trong thư mục /tmp có nội dung như bên dưới [root@LDAP-Server]# vi /tmp/ipmac.lab.ldif dn: dc=ipmac,dc=lab dc: ipmac o: IPMAC LAB description: root ldap entry for ipmac.lab objectClass: dcObject objectClass: organization dn: ou=People,dc=ipmac,dc=lab ou: People description: all the people in our domain objectClass: organizationalUnit dn: cn=testuser,ou=People,dc=ipmac,dc=lab cn: testuser

objectClass: organizationalRole

Bước 8 : Trên LDAP-Server đưa file ipmac.lab.ldif tạo ở bước 7 vào kiến trúc của LDAP Server bằng lệnh ldapadd [root@LDAP-Server]# ldapadd -x -D “cn=Manager,dc=ipmac,dc=lab” -W -f /tmp/ldaplab.ldif

Bước 9 : Trên LDAP-Server xem và tìm kiếm nội dung được đưa vào cấu trúc của LDAP Server ở bước 8 bằng lệnh ldapsearch [root@LDAP-Server]# ldapsearch -x -b “dc=ipmac,dc=lab” “(objectclass=*)” [root@LDAP-Server]# ldapsearch -x -LLL -b “dc=ipmac,dc=lab” “(cn=testuser)”

Bước 10 : Trên LDAP-Server xóa user testuser bằng lệnh ldapdelete [root@LDAP-Server]# ldapdelete -x -W -D “cn=Manager,dc=ipmac,dc=lab” “cn=testuser,ou=People,dc=ipmac,dc=lab” [root@LDAP-Server]# ldapsearch -x -LLL -b “dc=ipmac,dc=lab” “(cn=testuser)”

Sử dụng các Migration Script để xây dựng kiến trúc LDAP Server dựa trên thông tin có sẵn của hệ thống Bước 11 : Trên LDAP-Server chuyển đến thư mục chứa các migration script (/usr/share/openldap/migration) và chỉnh sửa file cấu hình migrate_common.ph [root@LDAP-Server]# cd /usr/share/openldap/migration [root@LDAP-Server]# vi migrate_common.ph

# Default DNS domain $DEFAULT_MAIL_DOMAIN = "ipmac.lab"; # Default base $DEFAULT_BASE = "dc=ipmac,dc=lab";

Bước 12 : Trên LDAP-Server chạy script migrate_base.pl để sinh ra file LDIF chứa nội dung về base mới. Xem nội dung file này [root@LDAP-Server]# ./migrate_base.pl > /tmp/base.ldif [root@LDAP-Server]# less /tmp/base.ldif

Bước 13 : Trên LDAP-Server đưa nội dung file base.ldif vào kiến trúc của LDAP bằng lệnh ldapadd sau đó kiểm tra kết quả với lệnh ldapsearch [root@LDAP-Server]# ldapadd -c -x -D “cn=Manager,dc=ipmac,dc=lab” -W -f /tmp/base.ldif [root@LDAP-Server]# ldapsearch -x -LLL -b “dc=ipmac,dc=lab” “(objectClass=*)”

Bước 14 : Trên LDAP-Server chạy script migrate_passwd.ph để tạo file LDIF chứa danh mục user cho LDAP dựa trên danh sách các user hiện có trên hệ thống (trong file /etc/passwd). Xem nội dung file LDIF [root@LDAP-Server]# cd /usre/share/openldap/migration [root@LDAP-Server]# ./migrate_passwd.pl /etc/passwd > /tmp/allusers.ldif [root@LDAP-Server]# less /tmp/allusers.ldif

Bước 15 : Trên LDAP-Server đưa nội dung file allusers.ldif vào kiến trúc của LDAP bằng lệnh ldapadd sau đó kiểm tra kết quả bằng lệnh ldapsearch [root@LDAP-Server]# ldapadd -c -x -D “cn=Manager,dc=ipmac,dc=lab” -W -f /tmp/allusers.ldif [root@LDAP-Server]# ldapsearch -x -LLL -b “dc=ipmac,dc=lab” “(uid=root)”

Bước 16 : Trên LDAP-Server tạo một account mới có tên ldapuser thuộc nhóm users trên hệ thống và đưa account này vào LDAP # Tạo một user có tên ldapuser, thuộc nhóm users và đặt password cho user này [root@LDAP-Server]# user add -g users ldapuser [root@LDAP-Server]# passwd ldapuser # Lấy thông tin về ldapuser từ file /etc/passwd và ghi ra file /tmp/ldapuser.info [root@LDAP-Server]# grep “ldapuser” /etc/passwd | tee /tmp/ldapuser.info ldapuser: x:504:100::/home/ldapuser:/bin/bash # Dùng script migrate_passwd.pl để tạo file LDIF từ file /tmp/ldapuser.info [root@LDAP-Server]# cd /usre/share/openldap/migration [root@LDAP-Server]# ./migrate_passwd.pl /tmp/ldapuser.info > /tmp/ldapuser.ldif [root@LDAP-Server]# less /tmp/ldapuser.ldif # Đưa thông tin về user ldapuser trong file ldapuser.ldif vào kiến trúc của LDAP [root@LDAP-Server]# ldapadd -c -x -D “cn=Manager,dc=ipmac,dc=lab” -W -f /tmp/ldapuser.ldif # Kiểm tra thông tin về user ldapuser trong kiến trúc của LDAP [root@LDAP-Server]# ldapsearch -x -LLL -b “dc=ipmac,dc=lab” “(uid=ldapuser)”

Cấu hình Client để xác thực qua LDAP Server Bước 17 : Kiểm tra địa chỉ IP trên LDAP-CLIENT và ping thử đễn LDAP-Server để kiểm tra kết nối [root@LDAP-Client]# ifconfig eth0 [root@LDAP-Client]# ping 192.168.1.1

Bước 18 : Trên máy LDAP-CLIENT kiểm tra thông tin về account ldapuser để đảm bảo chưa có account này [root@LDAP-Client]# finger ldapuser finger: ldapuser: no such user.

Bước 19 : Kiểm tra file /etc/nsswitch.conf và các file trong thư mục /etc/pam.d/ để thấy việc tìm kiếm thông tin người dùng ( User Information ) và xác thực người dùng ( Authentication ) chưa được xác thực để sử dụng cho LDAP [root@LDAP-Client]# cat /etc/nsswitch.conf [root@LDAP-Client]# grep “ldap” /etc/pam.d/*

Bước 20 : Chạy lệnh authconfig-tui để mở chương trình Authentication Configuration. Chọn User LDAP trong mục User Information và chọn User LDAP Authenticaiton trong mục Authentication như hình dưới và chọn Next

Nhập thông tin về LDAP Server và Base DN sau đó chọn OK

Bước 21 : Kiểm tra lại các file /etc/nsswitch.conf và file /etc/pam.d/system-auth để thấy việc tìm kiếm thông tin người dùng và xác thực người dùng đã được cấu hình để sử dụng LDAP [root@LDAP-Client]# grep “ldap” /etc/nsswitch.conf [root@LDAP-Client]# grep “ldap” /etc/pam.d/system-auth

Bước 22 : Kiểm tra lại thông tin về account ldapuser. Chú ý rằng thư mục $HOME của ldapuser (/home/ldapuser) chưa được tạo sẵn [root@LDAP-Client]# finger ldapuser [root@LDAP-Client]# cd /home/ldapuser

Bước 23 : Cấu hình thêm cho PAM để tự động tạo thự mục $HOME cho các user khi login lần đầu tiên vào hệ thống [root@LDAP-Client]# ls /lib/security | grep pam_mkhomedir [root@LDAP-Client]# vi /etc/pam.d/system-auth … # Chèn vào cuối cùng của file session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022

Bước 24 : Chuyển sang một terminal khác (Ctrl+Alt+F3) và thử login sử dụng account ldapuser. Kiểm tra để thấy thư mục $HOME của account này đã tự động được tạo ra trên hệ thống. Cấu hình LDAP Server sử dụng công cụ LDAP Admin trên Windows

Bước 25 : Trên máy Windows download công cụ LDAP Admin tại đây : http://nchc.dl.sourceforge.net/proje...minExe-1.1.zip Bước 26 : Chạy LDAP Admin. Vào Start > Connect... > New Connection và điền thông tin kết nối đến LDAP Server. Click OK để hoàn tất.

Chú ý : Sau khi điền địa chỉ IP của Host có thể click vào Fetch DNs để công cụ tự động lấy các thông tin về Base. Bước 27 : Double click vào kết nối vừa tạo và nhập password (nếu yêu cầu) để kết nối đến LDAP Server. Sau khi kết nối thành công tìm hiểu giao diện và các tính năng mà công cụ LDAP Admin cung cấp.

Sign up to vote on this title
UsefulNot useful