SASL và OpenLDAP

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 73)

Phần cuối cùng của chương này trình bày cách để thay thế việc xác thực đơn giản bằng cơ chế SASL. Ta sẽ sử dụng cơ chế GSSAPI cho việc xác thực Kerberos 5. Các ví dụ sau đây giả sử rằng một Kerberos realm tên PLAINJOE.ORG đã được thành lập và ldapadmin đã được tạo ra. Cho đến nay, các giá trị rootdn và rootpw sử dụng trong slapd.conf như sau:

rootdn "cn=Manager,dc=plainjoe,dc=org"

rootpw {SSHA}2aksIaicAvwc+DhCrXUFlhgWsbBJPLxy

Một ID SASL được chuyển đổi sang DN như sau:

uid=name[,realm=realm],cn=mechanism,cn=auth

Để minh họa cách dùng SASL như một cơ chế xác thực, ta sẽ thay thế rootdn trong server master slapd.conf bằng ldapadmin. Rootdn mới trong slapd.conf là:

## New SASL-based rootdn

rootdn "uid=ldapadmin,cn=gssapi,cn=auth"

rootpw có thể xóa được, vì việc xác thực bằng cách dùng rootdn mới có thể hoàn thành bằng cách dùng cơ chế SASL GSSAPI. Server OpenLDAP phải có một file keytab chứa các key để giải mã các tickets được truyền với các yêu cầu khách hàng. Các bài test sẽ giả sử rằng server được cấu hình để sử dụng realm mặc định của PLAINJOE.ORG.

Để thực hiện kiểm tra, ta tạo file với mục LDIF, sử dụng mục LDIF sau:

## Test user to verify that the new rootdn is OK. dn: cn=test user,ou=people,dc=plainjoe,dc=org cn: test user

sn: test

objectclass: person

Để thêm các mục này vào thư mục, gọi hàm ldapadd và thêm các dòng sau:

$ kinit ldapadmin@PLAINJOE.ORG

Password for ldapadmin@PLAINJOE.ORG: password

$ klist

Ticket cache: FILE:/tmp/krb5cc_780

Default principal: ldapadmin@PLAINJOE.ORG

Valid starting Expires Service principal

11/28/02 19:20:15 11/29/02 05:20:15 krbtgt/PLAINJOE.ORG@PLAINJOE.ORG

$ ldapmodify -a -H ldap://master.plainjoe.org/ \ > -f testuser.ldif

SASL/GSSAPI authentication started

SASL username: ldapadmin@PLAINJOE.ORG SASL SSF: 56

SASL installing layers

$ klist

Ticket cache: FILE:/tmp/krb5cc_780

Default principal: ldapadmin@PLAINJOE.ORG

Valid starting Expires Service principal

11/28/02 19:20:15 11/29/02 05:20:15 krbtgt/PLAINJOE.ORG@PLAINJOE.ORG 11/28/02 19:23:34 11/29/02 05:20:15 ldap/garion.plainjoe.org@PLAINJOE.ORG

Việc xác thực sẽ fail nếu server không hỗ trợ cơ chế GSSAPI. Lúc đó, ta nên dùng lựa chọn –Y

để chỉ định cơ chế xác thực SASL.

Sau khi đã quen với SASL dùng IDs, ta có thể kết hợp chúng vào ACLs, được định nghĩa trong

slapd.conf. SASL IDs có thể nằm sau từ khóa by trong định nghĩa ACL. Ví dụ, định nghĩa sau

cho phép JERRY được chỉnh thuộc tính mail của tất cả các user trong ou people.

access to dn=".*,ou=people,dc=plainjoe,dc=org" attrs=mail by "uid=jerry,cn=gssapi,cn=auth" write

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 73)

Tải bản đầy đủ (DOCX)

(188 trang)
w