Tập trung quản lý người dùng: Toàn bộ người dùng sẽ được quản lý tại một hệ
dữ liệu thống nhất. Các thao tác từ cấp phát, loại bỏ, phân quy ền đến sao lưu dự
phòng, khôi phục dữ liệu sẽ chỉ thực hiện tại một hệ dữ liệu này.
Tiện lợi cho người sử dụng: Người dùng không cần phải nhớ quá nhiều tên đăng
nhập và mật khẩu khi sử dụng hệ thống.
Tiết kiệm chi phí đầu tư: Các ứng dụng sẽ không cần phải quan tâm đến việc cấp
phát và quản lý người dùng.
121 trang |
Chia sẻ: lylyngoc | Lượt xem: 4465 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Quản lý xác thực tập trung với dịch vụ Ldap Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ợc viết bởi Wietse Venema khi ông
đang làm việc ở trung tâm nghiên cứu T. J. Watson của IBM. Đặc điểm của Postfix:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 81/176
dễ quản lý, nhanh, an toàn. Chỉ cần một server với hardware thông thường, Postfix
có thể chuyển giao hàng triệu email một ngày. Ngày nay postfix là một trong nhưng
MTA khá phổ biến trên các mail server.
File cấu hình: /etc/postfix/main.cf
Khi cấu hình Mail Server với postfix, ta cần quan tâm đến một vài tham số quan
trong sau:
myhostname: Tên Mail Server
mydomain: Tên Domain (ví dụ: thanhlong.com)
myorigin: Tên tổ chức (có thể lấy từ biến mydomain, ví dụ = $mydomain).
inet_interfaces: Chỉ định Interfaces
mydestination: Chỉ định destination
mynetworks: Chỉ định network.
Cấu hình POP và IMAP Server:
Cài đặt gói dovecot-1.0.7-7.el5.i386.rpm từ CDROM , sau đó ta mở file cấu hình
/etc/dovecot.conf để thay đổi các thông số sau:
protocols = imap imaps pop3 pop3s ;chỉ định các protocol sử dụng
imap_listen = * ;chỉ định trạng thái listen trên card mạng cho IMAP
pop3_listen = * ;chỉ định trạng thái listen trên card mạng cho POP3
Sau đó thực thi lệnh:
# chkconfig dovecot on
# service dovecot restar
6. Phần mềm webmail:
Cài đặt gói:
php-mbstring-5.1.6-23.2.el5_3.i386.rpm.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 82/176
squirrelmail-1.4.8-5.el5.centos.7.noarch.rpm.
Cấu hình: file /etc/squirrelmail/config.php
$domain = ‘thanhlong.com’;
Sau đó thực hiện lệnh:
# chkconfig httpd on
# service httpd start
Mở trình duyệt nhập vào:
VI. Dịch vụ Samba:
1. Giới thiệu:
Samba là chương trình tiện ích hỗ trợ việc chia sẻ tài nguyên cho những máy khác
như Linux, Windows.
Phần mềm Samba gồm nhiều thành phần. Daemon mang tên smbd cung cấp dịch vụ
in ấn và tập tin. Tập tin cấu hình của Daemon này là smb.conf, còn daemon nmbd
thì hỗ trợ dịch vụ tên NETBIOS.
2. Cài đặt:
Chúng ta có thể cài đặt Samba trong quá trình cài CentOS hoặc cài sau bằng tiện ích
RPM. Các tập tin cài đặt bao gồm:
Samba-3.0.33-3.14.el5.i386.rpm
Samba-client-3.0.33-3.14.el5.i386.rpm
Samba-common-3.0.33-3.14.el5.i386.rpm
System-config-samba
Samba-swat
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 83/176
Khởi tạo dịch vụ:
Khởi tạo dịch vụ tại thời điểm hệ thống khởi động
# chkconfig smb on
Khởi tạo dịch vụ thông qua lệnh
# service smb start|stop|restart
Kiểm tra hoạt động của dịch vụ Samba
# pgrep smb
Cấu hình samba:
/etc/samba/smb.conf: là tập tin cấu hình chính của Samba. Tập tin này có nhiều
phần, mỗi phần bắt đầu bằng dấu […] và tiếp tục đến bắt đầu của phần mới.
Cú pháp của mỗi dòng: Paramater = value.
Các thành phần trong tập tin cấu hình chính
Thành phần Giải thích
[global] Chứa các tham số cấu hình chung của Samba server
[printers] Chứa các tham số sử dụng cho việc cấu hình máy in.
[home] Chỉ định SMB chia sẻ thư mục home directory của user.
[netlogon] Chia sẻ logon script.
[profile] Chia sẻ profile
Đoạn [global]
workgroup = MYGROUP; chỉ ra nhóm mà máy sẽ tham gia.
server string = Samba Server; chỉ tên dịch vụ
hosts allow = 172.31.0.1 173.31.0.3; chỉ định các địa chỉ được phép truy
cập đến samba server.
guest account = pcguest; cung cấp username cho 1 account khách trên
server. Account này nhận diện những user được dùng dịch vụ samba dành
cho khách.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 84/176
log file = /var/log/samba/smb.%m; xác định vị trí tập tin log của từng client
truy cập samba.
max log size = 50; kích thước tối đa của tập tin log (KB).
encrypt password = yes; mã hóa mật khẩu.
smb passwd file = /etc/samba/smbpasswd; tập tin lưu trữ những user được
phép truy cập đến server smb.
Đoạn [homes]
comment = Home Directory; chỉ định dòng chú thích.
path = %H; chỉ định thư mục gốc cho user.
read only = no; chỉ được quyền đọc trong thư mục path.
valid users = %S; chỉ định tên user được phép truy xuất. Nếu ta cho phép
group ta dùng cú pháp @group_name hoặc + group_name
browseable = no; hiển thị trên danh sách duyệt mạng.
writeable = yes; chỉ định quyền ghi.
create mask = 0750; kiểm tra xem trong số những tập tin tạo ra trong thư
mục chia sẻ, thì tập tin nào được phép làm gì.
Đoạn [printers]
comment = All Printer
path = /var/spool/samba
browseable = no
public = yes
guest ok = no
writable = no
printable = yes ; cho phép in.
create mask = 0700
Chia sẻ thư mục [dirshare]
[soft]
comment = “chia sẻ thư mục”
path = /usr/local/share
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 85/176
valid users = tuandq
browseable = yes
public = no
writable = yes
Đoạn trên đã tạo ra một thư mục chia sẻ mang tên soft, ánh xạ đến thư mục
/usr/local/share.
Samba SWAT:
Samba SWAT là công cụ cho phép cấu hình Samba qua giao diện Web.
Tập tin cấu hình Samba SWAT:
Thiết lập một số thông số trong tập tin /etc/xinetd.d/swat
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
only_from = 172.31.0.0/24
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
Truy xuất SWAT từ Internet Explorer:
- Từ trình duyệt Web, truy xuất SMB SWAT thông qua địa chỉ http://<IP-
Samba-Server>:
- Ví dụ:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 86/176
Hình 27: Truy xuất samba swat
Hình 28: Đăng nhập samba thành công
Cấu hình samba swat:
Thành phần Giải thích
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 87/176
Sử dụng samba client:
Từ dấu nhắc lệnh, sử dụng smbclient để truy xuất thư mục chia sẻ trên SMB
Server theo cú pháp sau:
$smbclient
Ví dụ: #smbclient //samba-svr/data -U tuandq
Password:
smb: \>
Từ dấu nhắc smb: \>, có thể ra bất kỳ lệnh nào để truy xuất tài nguyên.
Mount tài nguyên:
Ta có thể ánh xạ một thư mục chia sẻ trên Samba Server vào ổ đĩa cục thông qua
lệnh smbmount.
Cú pháp :
#mount –t smbfs -o
username=,password=
Cung cấp các tài liệu tham khảo về Samba.
Quản lý thông tin cấu hình.
Quản lý tài nguyên chia sẻ.
Quản lý việc chia sẻ máy in.
Quản lý Server Type, Wins và các tham số khác.
Quản lý trạng thái SAMBA, theo dõi connection.
Xem các thông tin cấu hình trong file smb.conf
Quản lý mật khẩu.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 88/176
Ví dụ : #mount –t smbfs //smb_server/data /mnt/smb -o
username=tuandq,password=123456
Mount tự động:
Để tự động mount một tài nguyên chia sẻ ta thực hiện các bước sau:
Bước 1: tạo thư mục mount_point (Ví dụ: /mnt/smb)
Bước 2: mô tả dòng lệnh trong tập tin /etc/fstab
//SMB_Server/ShareName /mnt/smb smbfs credential=/etc/cred 0 0
Bước 3: tạo tập tin /etc/cred để lưu thông tin username và mật khẩu
usermane =
password =
Bước 4: dùng lệnh mount –a để update tập tin /etc/fstab và kiểm tra.
Mã hóa mật khẩu:
Tạo ra mật khẩu của người dùng riêng cho samba server quản lý.
Các bước tạo mật khẩu
Bước 1: Tạo một tập tin mật khẩu riêng cho Samba
#cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd
Bước 2: Cấp quyền đọc ghi cho root và cấp mật khẩu cho user
#chmod 600 /etc/samba/smbpasswd
#smbpasswd
Bước 3: Chỉnh tập tin smb.conf
encrypt passwd = yes
smb passwd file = /etc/samba/smbpasswd
Bước 4: Khởi động lại samba server #/etc/init.d/smb restar
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 89/176
CHƯƠNG IV: CƠ SỞ LÝ THUYẾT LDAP
I. Giới thiệu về LDAP:
1. Khái niệm cơ bản:
Thư mục (Directory): là nơi dùng để chứa và cho phép thực hiện các thao tác truy
xuất thông tin.
Nghi thức truy cập thư mục (LDAP):
LDAP (Lightweight Directory Access Protocol) là một chuẩn mở rộng cho nghi
thức truy cập thư mục, hay là một ngôn ngữ để LDAP client và severs sử dụng
để giao tiếp với nhau.
LDAP là một nghi thức “lightweight ” có nghĩa là đây là một giao thức có tính
hiệu quả, đơn giản và dể dàng để cài đặt. trong khi chúng sử dụng các hàm ở
mức cao. Điều này trái ngược với nghi thức “heavyweight” như là nghi thức truy
cập thư mục X.500 (DAP). Nghi thức này sử dụng các phương thức mã hoá quá
phức tạp.
LDAP sử dụng các tập các phương thức đơn giản và là một nghi thức thuộc tầng
ứng dụng.
LDAP đã phát triển với phiên bản LDAP v2 được định nghĩa trong chuẩn RFC
1777 và
1778, LDAP v3 là một phần trong chuẩn Internet, được định nghĩa trong RFC
2251 cho đến RFC 2256, do chúng quá mới nên không phải tất cả mọi thứ các
nhà cung cấp hổ trợ hoàn toàn cho LDAP v3.
Ngoài vai trò như là một thủ tục mạng, LDAP còn định nghĩa ra bốn mô hình,
các mô hình này cho phép linh động trong việc sắp đặt các thư mục:
Mô hình LDAP information - định nghĩa ra các loại dữ liệu mà bạn cần
đặt vào thư mục.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 90/176
Mô hình LDAP Naming - định nghĩa ra cách bạn sắp xếp và tham chiếu
đến thư mục.
Mô hình LDAP Functional - định nghĩa cách mà bạn truy cập và cập nhật
thông tin trong thư mục của bạn.
Mô hình LDAP Security - định nghĩa ra cách thông tin trong trong thư
mục của bạn được bảo vệ tránh các truy cập không được phép.
Ngoài các mô hình ra LDAP còn định nghĩa ra khuôn dạng để trao đổi dữ liệu
LDIF (LDAP Data Interchange Format), ở dạng thức văn bản dùng để mô tả
thông tin về thư mục. LDIF còn có thể mô tả một tập hợp các thư mục hay các
cập nhật có thể được áp dụng trên thư mục.
II. Phương thức hoạt động của LDAP:
1. Một nghi thức client/sever:
Là một mô hình giao thức giữa một chương trình client chạy trên một máy tính gởi
một yêu cầu qua mạng đến cho một máy tính khác đang chạy một chương trình
sever (phục vụ), chương trình này nhận lấy yêu cầu và thực hiện sau đó nó trả lại kết
quả cho chương trình client. Ví dụ những nghi thức client/server khác là nghi thức
truyền siêu văn bản (Hypertext transfer protocol ) viết tắt là HTTP, nghi thức này có
những ứng dụng rộng rãi phục vụ những trang web và nghi thức Internet Message
Access Protocol (IMAP), là một nghi thức sử dụng để truy cập đến các thư thông
báo điện tử.
Ý tưởng cơ bản của nghi thức client/server là công việc được gán cho những máy
tính đã được tối ưu hoá để làm thực hiện công việc đó. Ví dụ tiêu biểu cho một máy
server LDAP có rất nhiều RAM(bô nhớ) dùng để lưu trữ nội dung các thư mục cho
các thao tác thực thi nhanh và máy này cũng cần đĩa cứng và các bộ vi sử lý ở tốc độ
cao.
2. LDAP Là một nghi thức hướng thông điệp:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 91/176
Do client và sever giao tiếp thông qua các thông điệp, Client tạo một thông điệp
(LDAP message) chứa yêu cầu và gởi nó đến cho server. Server nhận được thông
điệp và sử lý yêu cầu của client sau đó gởi trả cho client cũng bằng một thông điệp
LDAP.
Ví dụ: khi LDAP client muốn tìm kiếm trên thư mục, client tạo LDAP tìm kiếm và
gởi thông điệp cho server. Sever tìm trong cơ sở dữ liệu và gởi kết quả cho client
trong một thông điệp LDAP.
Hình 29: Thao tác tìm kiếm cơ bản
Nếu client tìm kiếm thư mục và nhiều kết quả được tìm thấy, thì các kết quả này
được gởi đến client bằng nhiều thông điệp.
Hình 30: Những thông điệp Client gửi cho Server
Do nghi thức LDAP là nghi thức thông điệp nên, client được phép phát ra nhiều
thông điệp yêu cầu đồng thời cùng một lúc. Trong LDAP, message ID dùng để phân
biệt các yêu cầu của client và kết quả trả về của server.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 92/176
Hình 31: Nhiều kết quả tìm kiếm được trả về
Việc cho phép nhiều thông điệp cùng xử lý đồng thời làm cho LDAP linh động hơn
các nghi thức khác ví dụ như HTTP, với mỗi yêu cầu từ client phải được trả lời
trước khi một yêu cầu khác được gởi đi, một HTTP client program như là Web
browser muốn tải xuống cùng lúc nhiều file thì Web browser phải thực hiện mở
từng kết nối cho từng file, LDAP thực hiện theo cách hoàn toàn khác, quản lý tất cả
thao tác trên một kết nối.
3. Các thao tác của nghi thức LDAP:
LDAP có 9 thao tác cơ bản, chia thành 3 nhóm thao tác chính:
Thao tác thẩm tra (interrogation) : search, compare. Hai thao tác này cho phép
chúng ta thực hiện thẩm tra trên thư mục.
Thao tác cập nhật (update): add, delete, modify, modify DN ( rename ). Những
thao tác này cho phép chúng ta thực hiện cập nhật thông tin trên thư mục.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 93/176
Thao tác xác thực và điều kiển(authentiaction and control) : bind, unbind,
abandon. Thao tác bind cho phép client tự xác định được mình với thư mục, thao
tác này cung cấp sự xác nhận và xác thực chứng thư; unbind cho phép client huỷ
bỏ phân đoạn làm việc hiện hành; và cuối cùng là thao tác abandon cho phép
client chỉ ra các thao tác mà kết quả client không còn quan tâm đến nữa.
4. Các thao tác mở rộng:
Ngoài 9 thao tác cơ bản. LDAP version 3 được thiết kế mở rộng thông qua 3 thao
tác.
Thao tác mở rộng LDAP(LDAP extended operations) – đây là một nghi thức
thao tác mới. Trong tương lai nếu cần một thao tác mới, thì thao tác này có thể
định nghĩa và trở thành chuẩn mà không yêu cầu ta phải xây dựng lại các thành
phần cốt lõi của LDAP. Ví dụ một thao tác mở rộng là StarTLS, nghĩa là báo cho
sever rằng client muốn sử dụng transport layer security(TLS) để mã hoá và tuỳ
chọn cách xác thực khi kết nối.
LDAP control - Những phần của thông tin kèm theo cùng với các thao tác
LDAP, thay đổi hành vi của thao tác trên cùng một đối tượng.
Xác thực đơn giản và tầng bảo mật (Simple Authentication and Security Layer
SASL) là một mô hình hổ trợ cho nhiều phương thức xác thực. Bằng cách sử
dụng mô hình SASL để thực hiện chứng thực. LDAP có thể dễ dàng thích nghi
với các phương thức xác thực mới khác, SASL còn hổ trợ một mô hình cho
client và server có thể đàm phán trên hệ thống bảo mật diển ra ở các tầng
thấp(dẫn đến độ an toàn cao). Mặt dù như vậy nhưng các mô hình này của SASL
đều thích nghi với các nghi thức của internet.
5. Mô hình kết nối Client – Server:
Sau đây là một là một tiến trình hoạt động trao đổi giữa LDAP client/server:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 94/176
Hình 32: Mô hình kết nối giữa client và server
LDAP client và server thực hiện theo các bước sau:
Client mở một kết nối TCP đến LDAP server và thực hiện một thao tác bind.
Thao tác bind bao gồm tên của một directory entry ,và uỷ nhiệm thư sẽ được sử
dụng trong quá trình xác thực, uỷ nhiệm thư thông thường là pasword nhưng
cũng có thể là chứng chỉ điện tử dùng để xác thực client.
Sau khi thư mục có được sự xác định của thao tác bind, kết quả của hao tác bind
được trả về cho client.
Client phát ra các yêu cầu tìm kiếm.
Server thực hiện sử lý và trả về kết quả cho client. Server thực hiện sử lý và trả
về kết quả cho client. Server gởi thông điệp kết thúc việc tìm kiếm.
Client phát ra yêu cầu unbind, với yêu cầu này server biết rằng client muốn huỷ
bỏ kết nối.
Server đóng kết nối.
III. Các mô hình LDAP:
LDAP định nghĩa ra 4 mô hình gồm có LDAP informmation, LDAP Naming, LDAP
Functional, LDAP Security.
1. LDAP Information Model:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 95/176
Mô hình LDAP Information định nghĩa ra các kiểu của dữ liệu và các thành phần cơ
bản của thông tin mà bạn có thể chứa trong thư mục. Hay chúng ta có thể nói rằng
LDAP Information mô tả cách xây dựng ra các khối dữ liệu mà chúng ta có thể sử
dụng để tạo ra thư mục.
Thành phần cơ bản của thông tin trong một thư mục gọi là entry đây là một tập hợp
chứa các thông tin về đối tượng (Object). Thường thì các thông tin trong một entry
mô tả một đối tượng thật như là thông tin về người, nhưng đây không phải là qui
định bắt buộc với mô hình. Ví dụ như trên thư mục dưới đây.
Hình 33: Cây thư mục với các entry là các thành phần cơ bản
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 96/176
Một entry là tập hợp của các thuộc tính, từng thuộc tính này mô tả một nét đặt trưng
tiêu biểu của một đối tượng. Mỗi thuộc tính có kiểu một hay nhiều giá trị, kiểu của
thuộc tính mô tả loại thông tin được chứa, giá trị là dữ liệu thực sự.
Ví dụ một entry mô tả một người với các thuộc tính: tên họ, tên, số điện thoại, và địa
chỉ email.
Atrribute type Atrribute values
cn : Barbara jensen
Bads jensen
sn : jensen
telephone
number :
+1 408 555 1212
mail : bads@arius.com
LDAP Data Interchange Format (LDIF):
LDAP định nghĩa ra LDIF là dạng văn bản để mô tả thông tin thư mục. LDIF có
thể mô tả một tập hợp các entry thư mục hay là tập hợp các cập nhật lên thư mục
dữ liệu của các thư mục có thể trao đổi cho nhau bằng cách dùng LDIF
Ví dụ thông tin thư mục ở dạng văn bản LDIF, đây là dạng chuẩn dành cho việc
nhập và xuất thông tin trên thư mục, và các tập tin LDIF đều ở dạng ASCII điều
này làm cho chúng dễ dàng chuyền tải trên hệ thống email.
Một entry thư mục ở dang LDIF:
dn:uid=bjensen,dc=airius,dc=com objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Barbara Jensen
cn: Babs Jensen
sn: Jensen
mail:bjensen@airius.com
telephoneNumber:+14085551212
description: A big sailing fan.
Dạng một entry LDIF bao gồm nhiều dòng, đầu tiên là distinguished name (dn)
là tên của entry thư mục tất cả được viết trên một dòng, sau đó lần lượt là các
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 97/176
thuộc tính của entry, mỗi thuộc tính trên một dòng theo thứ tự là: kiểu thuộc tính
: giá trị thuộc tính.
Thứ tự các thuộc tính không quan trọng tuy nhiên để dễ đọc được thông tin
chúng ta nên đặt các giá trị objectclass trước tiên và nên làm sao cho các giá trị
của các thuộc tính cùng kiểu ở gần nhau.
KiểuThuộc tính dữ liệu qui định, mô tả dữ liệu được đặt vào và cách thư mục so
sánh giá trị khi dò tìm. Ví dụ như cú pháp caseIgnoreString: qui định trong trong
một ngữ cảnh nào đó thì chúng ta xem như nhau và không cần thực hiện so sánh
như là Tom và tom như nhau không phân biệt chữ hoa và thườngcaseExactString
: trái ngược lại với cú pháp trên phân biệt rõ ràng chữ hoa và chữ thường do đó
Tom và tom là không tương đương nhau.
LDAP sever không hổ trợ các kiểu dữ liệu trù tượng chỉ hổ trợ duy nhất cho các
kiểu chuẩn. Không như những nghi thức khác chẳng hạn là X.500 ngoài một số
liểu dữ liệu chuẩn (chuỗi, số, kiểu bool) và một số kiểu dữ liệu phức tạp xây
dựng từ các kiểu dữ liệu trên. Tuy nhiên những giao diện plug-in cho phép định
nghĩa các cú pháp mới.
Các thuộc tính cũng phân thành 2 loại: thuộc tính người dùng, thuộc tính thao tác
Thuộc tính người dùng (user attributes) là các thuộc tính bình thường của
một entry thư mục, các thuộc tính này có thể được điều chỉnh bởi user của
thư mục(tất nhiên là các thao tác sữa chữa được phép).
Thuộc tính thao tác (operational attributes) đây là các thuộc tính đặc biệt
và chỉ có thể được điều chỉnh bởi directory server hay là các thuộc tính
cho biết trạng thái của thư mục, ví dụ một thuộc tính thao tác là một thuộc
tính modifytimestamp, những thuộc tính này được bảo trì bởi thư mục và
nó cho biết thời điểm cuối cùng mà entry này được cập nhật. Khi entry
được gởi đến cho client, các operational attributes sẽ không được gởi đi
cùng trừ khi client yêu cầu.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 98/176
Có một số ràng buộc trên giá trị của thuộc tính. Một số server software cho phép
nhà quản trị khai báo rằng một thuộc tính có thể giữ một hay nhiều giá trị. Ví dụ
như thuộc tính givenName có thể chứa nhiều giá trị, khi một người muốn thêm
vào nhiều tên (ví dụ như là Jim và James chẳng hạn) và cũng có một số thuộc
tính chỉ chứa duy nhất một giá trị. những nhà quản trị hệ thống đặt ra phạm vi
giới hạn của dữ liệu để ngăn chặn các user sử dụng vượt qua giới hạn cho phép.
Bảo trì các hệ thống thư mục:
Bất kì một entry trong thư mục có tập các kiểu thuộc tính đây là các kiểu được
yêu cầu và được cho phép, ví dụ như một entry mô tả một người thì thuộc tính
yêu cầu cho entry đó là phải có cn(common name) và sn(surname). Một số thuộc
tính cho phép nhưng phải là cần thiết cho entry mô tả một người, các thuộc tính
khác không được yêu cầu hay không được phép sẽ không có mặt trong entry.
Những tập hợp các tập thuộc tính yêu cầu và thuộc tính được phép được gọi là
mô hình thư mục(directory schemas). Directory schemas có thể được thiết kế cho
phép chúng ta có quyền điều kiển và bảo trì các thông tin chứa trong entry.
Chúng ta đã có một khối thông tin cơ bản đó là entry, nhưng làm sao để có thể
sắp xếp xây dựng một cây thông tin thư mục (directory information tree) DIT.
Chúng ta sẽ nghiên cứu các qui tắc xây dựng trong phần LDAP Naming Model.
2. LDAP Naming Model:
Mô hình LDAP Naming định nghĩa ra cách để chúng ta có thể sắp xếp và tham chiếu
đến dữ liệu của mình. Hay chúng ta có thể nói rằng mô hình này mô tả cách sắp xếp
các entry của chúng vào một cấu trúc có logical, và mô hình LDAP Naming chỉ ra
cách để chúng ta có thể tham chiếu đến bất kỳ một entry thư mục nào nằm trong cấu
trúc đó.
Mô hình LDAP Naming cho phép chúng ta có thể đặt dữ liệu vào thư mục theo cách
mà chúng ta có thể dễ dàng quản lý nhất. Ví dụ như chúng ta có thể tạo ra một
container(khái niệm vật thể chứa đựng) chứa tất cả các entry mô tả người trong một
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 99/176
tổ chức, và một container chứa tất cả các group của bạn, hoặc bạn có thể thiết kế
entry theo mô hình phân cấp theo cấu trúc tổ chức của bạn. Việc thiết kế tốt cần phải
có những nghiên cứu thoả đáng.
Hình 34: Cây thư mục LDAP
Chúng ta đưa ra hệ thống tập tin UNIX để thấy được những điểm khác biệt với hệ
thống thư mục LDAP, sau đó phân tích mô hình cây thư mục LDAP.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 100/176
Hình 35: Hệ thống tập tin của UNIX
Có ba điểm khác biệt quan trọng :
Điểm khác biệt đầu tiên giữa hai mô hình là trong mô hình LDAP không thực
sự có một entry gốc(root). Root là nơi mà chúng ta có thể đặt các entry vào.
Trên hệ thống LDAP có một entry đặc biệt được gọi là root DES chứa các
thông tin về server, nhưng đây không phải là một entry thư mục bình thường.
Khác biệt thứ hai là thư mục LDAP mỗi một node chứa dữ liệu, và cũng có
thể là một container chứa các entry khác. Đây là một khác biệt với hệ thống tập
tin do ở hệ thống tập tin chỉ có thư mục có thể chứa thư mục con và chỉ có tập
tin mới chứa dữ liệu. Ta có thể thấy rằng entry trong thư mục có thể đồng thời
là tập tin và thư mục. Hình 33 minh hoạ khái niệm trên các entry
dc=airius, dc=com, ou=People và ou=devices tất cả đều chứa dữ liệu nhưng tất
cả đều có node con cấp dưới.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 101/176
Hình 36: Một phần thư mục LDAP với các entry chứa thông tin.
Khác biệt cuối cùng là hệ thống tập tin phân cấp và hệ thống LDAP: Trong một
hệ thống tập tin khi ta đi từ trái sang phải tên tập tin là cách ta thực hiện đi từ
gốc(/) đến tập tin. Ví dụ như hình 35 hệ thống file Unix tên file của node đậm
màu là : /user/bin/grep. Với hệ thống thư mục LDAP tại node đậm màu có tên là
uid=bjensen, ou=people, dc=airius, dc=com nếu chúng ta đi từ trái sang phải thì
chúng ta có thể quay ngược lại đỉnh của cây. Ta thấy rằng hệ thống thư mục
LDAP sắp đặt có trật tự các entry của thư mục, tuy nhiên LDAP không quy định
bất kỳ sự phân cấp đặt biệt nào, chúng ta có thể tự do sắp xếp hệ thống tập tin
của bạn một cách có ý nghĩa nhất với bạn. Ngoài việc chỉ cho bạn cách sắp xếp
dữ liệu vào trong các cấu trúc phân cấp, mô hình LDAP Naming còn chỉ ra cách
để tham chiếu đến từ entry trong thư.
Distinguished names & Relative Distingguished name:
Distinguished names (DNs) trong LDAP đây là tên của một entry chỉ ra cách bạn
có thể tham chiếu đến các entry trên thư mục, hai entry khác nhau trên thư mục
hai DNs cũng khác nhau.
Giống như đường dẫn của hệ thống tập tin, tên của một entry LDAP được hình
thành bằng cách nối tất cả các tên của từng entry cấp trên (cha) cho đến khi trở
lên root, như hình trên ta thấy node có màu đậm sẽ có tên là uid=bjensen,
ou=people, dc=airius, dc=com nếu chúng ta đi từ trái sang phải thì chúng ta có
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 102/176
thể quay ngược lại đỉnh của cây, chúng ta thấy rằng các thành phần riêng lẽ của
cây được phân cách bởi dấu phẩy khoảng trắng sau dấu phẩy là tuỳ ý, do đó hai
DNs sau là tương đương:
uid=bjensen, ou=people, dc=airius, dc=com
uid=bjensen,ou=people,dc=airius,dc=com
Với bất kỳ một DN, thành phần trái nhất được gọi là relative distingguished
name (RDN), như đã nói DN là tên duy nhất cho mỗi entry trên thư mục, do đó
các entry có chùng cha thì RDN cũng phải phân biệt, ví dụ hình dưới đây ta thấy
trên thư mục.
Hình 37: Ví dụ về relative distingguished name (RDN)
Mặc dù cho có hai entry có cùng RDN cn=Joohn Smith như hai entry ở hai
nhánh khác nhau.
Bí danh (Aliases):
Những entry bí danh (Aliases entry)trong thư mục LDAP cho phép một entry chỉ
đến một entry khác, do đó chúng ta có thể xây dựng ra cấu trúc mà thứ bật không
cón chính xác nữa, khái niệm Aliases entry giống như khái niệm symbolic links
trong UNIX hay shortcuts trên Windows9x/NT. Hình dưới đây cho ta thấy được
một aliases entry trỏ đến một entry thật sự.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 103/176
Để tạo ra một alias entry trong thư mục trước tiên bạn phải tạo ra một entry với
tên thuộc tính là aliasedOjecctName với giá trị thuộc tính là DN của entry mà
chúng ta muốn alias entry này chỉ đến.
Hình 38: LDAP với alias entry
Nhưng không phải tất cả các LDAP Directory Server đều hổ trợ Aliases. Bởi vì
một alias entry có thể chỉ đến bất kỳ một entry nào, kể cả các entry LDAP server
khác. Do việc tìm kiếm khi gặp phải một bí danh có thể phải thực hiện tìm kiếm
trên một cây thư mục khác nằm trên các server khác, do đó làm tăng chi phi cho
việc tìm kiếm và đây cũng là lý do chính mà các phần mềm không hổ trợ alias.
3. Mô hình LDAP Function:
Phần trên chúng ta đã nói đến mô hình LDAP Information và LDAP Naming, bây
giờ chúng ta sẽ xem xét mô hình LDAP Functional, đây là mô hình mô tả các thao
tác cho phép chúng ta có thể thao tác trên thư mục. Chúng ta nhắc lại khái quát về
mô hình LDAP Functional.
Mô hình LDAP Functional chứa một tập các thao tác chia thành 3 nhóm. Thao tác
thẩm tra (interrogation) cho phép bạn có thể search trên thư mục và nhận dữ liệu từ
thư mục. Thao tác cập nhật (update): add, delete, rename và thay đổi các entry thư
mục. Thao tác xác thực và điều kiển(authentiaction and control) cho phép client xác
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 104/176
định mình đến cho thư mục và điều kiển các hoạt động của phiên kết nối. Với
version 3 nghi thức LDAP ngoài 3 nhóm thao tác trên, còn có thao tác LDAP
extended, thao tác này cho phép nghi thức LDAP sau này có thể mở rộng một cách
có tổ chức và không làm thay đổi đến nghi thức. Bây giờ chúng sẽ phân tích kĩ các
thao tác theo từng nhóm và đầu tiên là các thao tác LDAP interrogation.
Các thao tác thẩm tra (LDAP Interrogation):
Hai thao tác thẩm tra (LDAP Interrogation) cho phép client có thể tìm và nhận
lại thông tin từ thư mục nhưng nghi thức LDAP không có thao tác đọc một entry
thư mục, do đó khi đó chúng ta muốn đọc một entry thì ta phải thực hiện tìm
kiếm và dừng tìm kiếm ngay khi nhận được kết quả đầu tiên. Thao tác tìm kiếm
(LDAP search operation) yêu cầu 8 tham số:
Tham số đầu tiên là đối tượng cơ sở mà các thao tác tìm kiếm thực hiện
trên đây, tham số này là DN chỉ đến đỉnh của cây mà chúng ta muốn tìm.
Tham số thứ hai là phạm vi cho việc tìm kiếm, chúng ta có 3 phạm vi
thực hiện tìm kiếm:
- Phạm vi “base” chỉ ra rằng bạn muốn tìm ngay tại đối tượng cơ sở
- Phạm vi “onelevel” thao tác tìm kiếm diễn ra tại cấp dưới (con trực tiếp
của đối tượng cơ sở)
- Phạm vi “subtree” thao tác này thực hiện tìm hết trên cây mà đối tượng
cơ sở là đỉnh.
- Sau đây là các hình minh hoạ các trường hợp tìm kiếm tương ứng với
các phạm vi trên:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 105/176
Hình 39: Thao tác tìm kiếm với phạm vi base
Hình 40: Thao tác tìm kiếm với phạm vi onelevel
Hình 41: Thao tác tìm kiếm với phạm vi subtree
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 106/176
Tham số thứ ba derefAliases , cho server biết rằng liệu bí danh aliases có
bị bỏ qua hay không tham khảo đến khi thực hiện tìm kiếm, có 4 giá trị
mà derefAliases có thể nhận được:
- nerverDerefAliases - nghĩa là thực hiện tìm kiếm và không bỏ qua bí
danh (aliases) trong lúc thực hiện tìm kiếm và áp dụng với cả đối tượng
cơ sở.
- derefInsearching - bỏ qua các aliases trong trong các entry cấp dưới của
đối tượng cơ sở, và không quan tâm đến thuộc tính của đối tượng cơ
sở.
- derefFindingBaseObject - ngược lại với giá trị thuộc tính trên với giá trị
này thì việc tìm kiếm sẽ bỏ qua các aliases của đối tượng cơ sở, và
không quan tâm đến thuộc tính của các entry thấp hơn đối tượng cơ sở.
- derfAlways - bỏ qua cả hai nếu việc tìm kiếm thấy đối tượng cơ sở hay
là các entry cấp thấp là các entry aliases.
Tham số thứ bốn cho server biết có tối đa bao nhiêu entry kết quả được
trả về, ví dụ như nếu client cho biết tham số này là 100, nhưng server lại
tìm được 500 entry thoả mãn, nhưng lúc này server sẽ gởi 100 entry cho
cilent, nếu client đặt tham số này là zero thì client nhận được tất cả các kết
quả của việc dò tìm(chú ý tham số này có thể được áp đặt bởi server và
những người dùng bình thường không thể thay đổi được).
Tham số thứ năm qui định thời gian tối đa cho việc thực hiện tìm kiếm,
khi thời gian tìm kiếm đã vượt quá thời gian tối đa thì server sẽ gởi cho
client LDAP_TIMELIMIT_EXCEEDED, nếu tham số này được thiết lập
là zero thì nghĩa là không có giới hạn thới gian cho việc tìm kiếm, cũng
như tham số thứ bốn tham số này có thể do server thiết lập một giới hạn
và chỉ có những người dùng có đặc quyền mới có thể thay đổi được.
Tham số thứ sáu attrOnly – là một tham số kiểu bool, nếu được thiết lập
là true, thì server chỉ gởi các kiểu thuộc tính của entry cho client, nhưng
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 107/176
sever không gởi giá trị của các thuộc tính đi, điều này là cần thiết nếu như
client chỉ quan tâm đến các kiểu thuộc tính chứa trong ldap.
Tham số thứ bảy là bộ lọc tìm kiếm(search filter) đây là một biểu thức
mô tả các loại entry sẽ được giữ lại. Trong LDAP chức năng tìm kiếm với
biểu thức lọc như vậy là rất linh động, tham khảo chi tiết các loại bộ lọc
với phần tiếp theo.
Tham số thứ tám và đây là tham số cuối cùng đây là một danh sách các
thuộc tính được giữ lại với mỗi entry. Bạn có thể chỉ định các thuộc tính
được giữ lại.
Các kiểu bộ lọc áp dụng cho việc tìm kiếm.
Filter Type
Format
Example
Matches
Equality
(attr=value)
sn=jensen
Tìm kiếm các
entry
có surname là
jensen
Substring
(attr=[leading]
*[any]*[trailin
g])
(sn=*jensen*)
(sn=jensen*)
(sn=*jensen)
(sn=je*nse*n)
Surname chứa
chuổi con
“jensen”
Surname bắt
đầu là chuổi
jensen
Surname kết
thúc với chuổi
“jensen”
Surname bắt đầu
với chuổi “je”
chứa chuổi”nse”
và kết thúc là
chuổi “n”
Approximat
e
(attr~=value)
(attr=~jensen)
Surname xấp xĩ
như là chuổi
“jensen” chẳng
hạn như “jensin”
hay “jenson”
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 108/176
Greater
than or
equal to
(attr>=value) (sn>=jensen) Surname
>=”jensen”, bộ
lọc này áp dụng
cho các
thuộc tính là
kiểu có giá trị
Less than
or equal to
(attr<=value)
(sn<=jensen)
Surname
>=”jensen”
Presence
(attr=*)
(sn=*)
Tất cả các
entry có thuộc
tính atrr
AND
(&(filter1)(filt
e r2)…)
(&(sn=jensen)(obj
ectclass=person))
Các entry là
objectclass
person và
surname=jensen
OR
(|(filter1)(filter
2)…)
(|(sn~=jensen)(tel
ephonenumber=89
44570))
Các entry
cósurname xấp sĩ
như chuổi
“jensen” hay có
số điện thoại là
8944570
NOT
(!(filter))
(!(age>=22))
Các entry có
thuộc tính tuổi
<22
Chỉ có LDAP version 3 hổ trợ cho bộ lọc này: đây là một bộ lọc thiết kế cho các
thao tác tìm kiếm phát triển trong tương lai. Bộ lọc này mang tính dễ dàng mở
rộng của LDAP khi các thao tác tìm kiếm phát triển. Một ví dụ cho thấy sự hữu
dụng của đặc tính này là:
Cú pháp của bộ lọc mở rộng này khá phức tạp, gồm có 5 phần và 3 trong
đó là các tuỳ chọn, những phần đó là:
-Tên của thuộc tính.
- Chuỗi tuỳ chọn : dn chỉ ra rằng các thuộc tính hình thành nên DN của
entry được xem như là một thuộc tính của entry trong suốt thời gian thực
hiện tìm kiếm.
- Tuỳ chọn dấu : đi sau đó là qui tắc thực hiện để so sánh nếu để trống
thì một qui tắc mặc định thích hợp sẽ được lựa chọn cho việc tìm kiếm
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 109/176
trên thuộc tính, nếu thuộc tính tên bị bỏ sót thì tuỳ chọn này buộc phải
có mặt.
Chuỗi “:=”.
Một giá trị dùng để so sánh.
- Ví dụ: attr [“:dn”] [“:” matchingrule] “:” value
Các kí tự đặc biệt
Nếu khi chúng ta thực hiện tìm kiếm mà một số giá trị thuộc tính chứa một trong 5 kí tự đặc
biệt trong bảng ở bên dưới:
Bảng các kí tự tránh sử dụng trong bộ lọc tìm kiếm
Kí tự Giá trị hệ 10 Giá trị hệ 16 Escap Sequence
* (dấu hoa thị) 42 0x2A \2A
( (mở ngoặc) 40 0x28 \28
) (đóng ngoặc) 41 0x29 \29
\ (xẹt ngược) 92 0x5C \5c
NULL 0 0x00 \00
Để thực hiện tìm kiếm một thuộc tính cn=star* thì chúng ta sẽ sử dụng bộ lọc là
(cn=star\2A) ở đây \2A thay thế cho kí tự *.
Thao tác cập nhật:
Chúng ta có 4 thao tác cập nhật đó là add, delete, rename(modify DN), và modify.
Add: Thao tác add tạo ra một entry mới với tên DN và danh sách các thuộc tính
truyền vào, khi thực hiện add một entry mới vào thư mục phải thoả các điều kiện
sau :
- Entry là nút cha của entry mới phải tồn tại.
- Chưa tồn tại một entry nào có cùng tên DN với entry mới trên thư mục
Các thao tác điều kiển truy cập trên thư mục là các thao tác được phép.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 110/176
Delete: Thao tác xoá (delete) chỉ cần truyền vào tên của entry cần xoá và thao tác
thực hiện được nếu như:
- Entry tồn tại với tên là DN truyền vào.
- Entry bị xoá không có các entry con.
Các thao tác điều kiển truy cập trên thư mục là các thao tác được phép xoá.
Rename: Thao tác rename hay modify DN sử dụng để đổi tên hay dùng để di
chuyển các entry trong thư mục, các tham số cần truyền vào là DN của entry cần
đổi tên, RDN mới của entry và một số tham số tuỳ chọn dành cho các entry là
cha mới của entry di chuyển đến, và cuối cùng là một cờ cho phép xoá hay
không xóa với RDN cũ. Cũng như trên thao tác thực hiện được nếu như thoả:
- Các entry bị đổi tên phải tồn tại.
- Tên mới của entry phải chưa tồn tại.
Các thao tác điều kiển truy cập trên thư mục là các thao tác được phép.
LDAP version 2 không hổ trợ thao tác modify DN, chỉ có thao tác modify RDN,
do chỉ thay đổi RDN của entry cho nên LDAP version 2 chỉ cho phép thực hiện
rename tên của entry nhưng không có khả năng di chuyển có đến nơi khác trên
cây.
Update: Thao tác cuối cùng là thao tác cập nhật với tham số DN và tập hợp các
thay đổi được áp dụng lên đây. Và thao tác này đòi hỏi
- Entry với DN truyền vào phải tồn tại.
- Tất cả các thuộc tính thay đổi đều thực hiện thành công
- Các thao tác cập nhật phải là các thao tác được phép
Nếu một điều kiện nào ở trên không thoả thì cách cập nhận sẽ không được áp dụng trên
entry.
Các thao tác xác thực và điều kiển(LDAP authentiaction and control
Operations):
- Thao tác xác thực gồm: thao tác bind và unbind.
- Thao tác điều kiển chỉ có abandon.
Bind:
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 111/176
- Thao tác bind là cách client xác thực với server, client đưa ra DN và uỷ nhiệm
thư, server kiểm tra DN và uỷ nhiệm thư nếu thành công thì client có quyền
thực hiện các thao tác lên thư mục.
- Có nhiều phương thức bind khác nhau, đơn giản là client đưa ra một DN và
password các thông tin này ở dạng hiểu được. Lúc này server chỉ cần tìm
entry với tên DN và kiểm tra xem giá trị thuộc tính userpassword có đúng với
password truyền vào hay không. Tuy các phương thức an toàn hơn là SSL hay
là TLS.
- Với LDAP version 3 có một thao tác bind, là SASL bind đây là một nghi thức
độc lập với các mô hình xác thực, với SASL cho phép client chọn thao tác xác
thực và nếu thao tác này được server hổ trợ thì đây là thao tác dùng để xác
thực client.
Unbind:
- Thao tác unbind, khi client phát ra thông báo này thì server sẽ huỹ bỏ các
thông tin liên quan đến khách hàng huỷ bỏ tất cả các thao tác đang thi hành
trên thư mục và đóng kết nối TCP.
Abandon:
- Thao tác abandon có một tham số duy nhất đó là ID của thông điệp, client thực
hiện thao tác này khi không quan tâm đến kết quả của thao tác bất kỳ trước đó.
4. Mô hình LDAP Security:
Vấn đề cuối cùng trong các mô hình LDAP là việc bảo vệ thông tin trong thư mục
khỏi các truy cập không được phép. Khi thực hiện thao tác bind dưới một tên DN
hay có thể client một người vô danh thì với mỗi user có một số quyền thao tác trên
entry thư mục. Và những quyền nào được entry chấp nhận tất cả những điều trên gọi
là truy cập điều kiển (access control). Hiện nay LDAP chưa định nghĩa ra một mô
hình Access Control, các điều kiển truy cập này được thiết lập bởi các nhà quản trị
hệ thống bằng các server software.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 112/176
IV. Sử dụng LDAP:
1. Ứng dụng xác thực dùng LDAP:
Dùng LDAP xác thực một user đăng nhập vào một hệ thống qua chương trình thẩm
tra, chương trình thực hiện như sau đầu tiên chương trình thẩm tra tạo ra một đại
diện để xác thực với LDAP thông qua (1) sau đó so sánh mật khẩu của user A với
thông tin chứa trong thư mục. Nếu so sánh thành công thì user A đã xác thực thành
công.
Hình 42: Xác thực dùng LDAP
2. Một số ứng dụng sử dụng nghi thức LDAP:
Một chương trình mail có thể thực hiện dùng chứng chỉ điện tử chứa trong thư mục
trên server LDAP để ký, bằng cách gởi yêu cầu tìm kiếm cho LDAP server , LDAP
server gởi lại cho client chứng chỉ điện tử của nó sau đó chương trình mail dùng
chứng chỉ điện tử để ký và gởi cho Message sever. Nhưng ở góc độ người dùng thì
tất cả quá trình trên đều hoạt động một cách tự động và người dùng không phải quan
tâm.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 113/176
Hình 43: Mô hình đơn giản lưu trữ
Message server có thể sử dụng LDAP directory để thực hiện kiểm tra các mail. Khi
một mail đến từ một địa chỉ, messeage server tìm kiếm địa chỉ email trong thư mục
trên LDAP server lúc này Message server biết được hợp thư người sử dụng có tồn
tại và nhận thư.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 114/176
Hình 44: Dùng LDAP để quản lý thư
CHƯƠNG V: TRIỂN KHAI HỆ THỐNG
I. Phân tích hiện trạng hệ thống:
Hiện nay, trong hệ thống mạng của công ty Thành Long các dịch vụ đã và đang
được triển khai ngày càng nhiều. Điều này phản ánh được hiệu quả của hệ thống;
Tuy nhiên, các hệ thống dịch vụ này vẫn đang sử dụng các hệ thống xác thực riêng
lẻ. Mỗi một dịch vụ có một hệ thống dữ liệu về người dùng khác nhau gây khó khăn
trong việc quản lý và bảo mật hệ thống. Do vậy, cần xây dựng một hệ thống dữ liệu
xác thực chuẩn đảm bảo các tiêu chí về bảo mật và an toàn dữ liệu để có thể cung
cấp dịch vụ xác thực cho các dịch vụ sẵn có và đặc biệt là các dịch vụ tích hợp
thêm.
Để giải quyết vấn đề có quá nhiều hệ thống người dùng riêng rẽ, cần nghiên cứu
một hệ thống có khả năng tập trung các hệ thống người dùng thành một hệ dữ liệu
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 115/176
thống nhất để phục vụ việc chứng thực cho tất cả các ứng dụng. Sử dụng hệ thống
chứng thực tập trung có các ưu điểm sau:
Tập trung quản lý người dùng: Toàn bộ người dùng sẽ được quản lý tại một hệ
dữ liệu thống nhất. Các thao tác từ cấp phát, loại bỏ, phân quyền đến sao lưu dự
phòng, khôi phục dữ liệu… sẽ chỉ thực hiện tại một hệ dữ liệu này.
Tiện lợi cho người sử dụng: Người dùng không cần phải nhớ quá nhiều tên đăng
nhập và mật khẩu khi sử dụng hệ thống.
Tiết kiệm chi phí đầu tư: Các ứng dụng sẽ không cần phải quan tâm đến việc cấp
phát và quản lý người dùng.
Qua phân tích hiện trạng các dịch vụ hiện tại của công ty Thành Long, nhóm thực
hiện nhận thấy việc tổ chức dữ liệu tập trung phục vụ chứng thực cho các ứng dụng
là cần thiết và hoàn toàn có khả năng thực hiện.
Trong đề tài này, nhóm thực hiện xin đưa ra giải pháp sử dụng hệ thống dữ liệu
LDAP để xây dựng hệ thống dữ liệu phục vụ xác thực tập trung cho các ứng dụng
với các ưu điểm sau:
Gọn nhẹ, đảm bảo truy xuất nhanh thông tin.
Dễ dàng quản lý và điều khiển.
Hoạt động ổn định.
Có giao diện mở tương tác với các ứng dụng khác.
Có cơ chế đảm bảo an toàn thông tin, khả năng sao lưu đồng bộ và khôi phục khi
gặp sự cố.
Có khả năng phân cấp thông tin và lưu trữ phân tán.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 116/176
II. Cài đặt và cấu hình Open LDAP Replication Multi Master:
1. Cài đặt:
1.1 Các gói cài đặt:
Berkeley Database.
Openldap-2.4.25.
Openldap-clients.
Openldap-devel.
Nss_ldap.
Libtool-ltdl-1.5.
Openldap-servers.
2. Các file cấu hình:
/usr/local/etc/openldap/slapd.conf ; ldapserver config file and replication.
/etc/syslog.conf ; config log file.
/usr/local/libexec/slapd ; Start ldap.
2.1 Cấu hình file /usr/local/etc/openldap/slapd.conf:
Trên máy ldap-svr1:
Hình 45: Khai báo schema
Hình 46: Khai báo tham số ldap
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 117/176
Hình 47: Định nghĩa database, tên phân giải, user quản trị, thư mục lưu trữ database.
Hình 48: Khai báo các tham số đồng bộ ldap
Hình 49: Chỉ định logfile
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 118/176
Hình 50: Tạo các đối tượng cho ldap
Trên máy ldap-svr2:
Hình 51: Khai báo schema
Hình 52: Khai báo tham số ldap
Hình 53: Định nghĩa database, tên phân giải, user quản trị, thư mục lưu trữ
database.
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 119/176
Hình 54: Khai báo các tham số đồng bộ ldap
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 120/176
Sau khi cấu hình các tham số chúng ta start | restart lại dịch vụ ldap trên cả 02 máy
bằng lệnh:
#/usr/local/libexec/slapd
Từ máy ldap-svr1 dùng công cụ quản trị ldap admin tạo user u1 quan sát ta thấy user
u1 sẽ được đồng bộ sang ldap-svr2.
Hình 55: User u1 đã được đồng bộ sang ldap-svr2
TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE
240 Võ Văn Ngân, QuậnThủ Đức, TP. Hồ Chí Minh
ĐT: 08.6. 2678999 Fax: 08 – 6261 0304
Khoa CNTT – Đồ Án Tốt Nghiệp: Quản lý xác thực tập trung với dịch vụ LDAP Linux Trang 121/176
Từ máy ldap-svr2 dùng công cụ quản trị ldap admin tạo user u2 quan sát ta thấy user
u2 sẽ được đồng bộ sang ldap-svr1
Hình 56: User u2 đã được đồng bộ sang ldap-svr1
III. Xây dựng Primary Domain Controller (Openldap with Samba):
1. Cài đặt:
1.1 Các gói cài đặt:
Libtool-ltdl-1.5.22-6.1.i386.rpm
Openldap-servers-2.3.43-3.el5.i386.rpm
Openldap-clients-2.3.43-3.el5.i386.rpm
Các file đính kèm theo tài liệu này:
- do_an_tot_nghiep_3877.pdf