Đề tài Tìm hiểu và ứng dụng của LDAP

pdf 107 trang yendo 4820
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Tìm hiểu và ứng dụng của LDAP", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_tim_hieu_va_ung_dung_cua_ldap.pdf

Nội dung text: Đề tài Tìm hiểu và ứng dụng của LDAP

  1. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ Tp.HCM, Ngày___tháng___năm 2009 Giáo viên hướng dẫn [Ký tên và ghi rõ họ tên] 1
  2. NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ Tp.HCM, Ngày___tháng___năm 2009 Giáo viên phản biện [Ký tên và ghi rõ họ tên] 2
  3. LỜI CẢM ƠN Để đánh giá kết quả học tập và có thêm nhiều hiểu biết trước khi rời ghế nhà trường, chúng em đã có cơ hội làm khóa luận tốt nghiệp để học hỏi và tìm hiểu kinh nghiệm. Được sự phân công của khoa Công Nghệ Thông Tin, từ ngày 09/03/2009 đến ngày 07/07/2009 chúng em được nhận đề tài khóa luận “Tìm hiểu và ứng dụng của LDAP” với sự hướng dẫn của thầy Cái Phúc Thiên Khoa. Đề tài khóa luận của chúng em chủ yếu là tìm hiểu về LDAP và ứng dụng của nó, sử dụng OpenLDAP và cách ứng dụng của chúng trong thực tiễn. Trong quá trình làm khóa luận chúng em được sự hướng dẫn nhiệt tình của Thầy Cái Phúc Thiên Khoa và các thầy cô khoa Công Nghệ Thông Tin. Nhờ đó, qua thời gian làm khóa luận chúng em được biết thêm nhiều vấn đề về mạng máy tính mà nó sẽ hổ trợ tích cực cho chúng em trong công việc sau này. Em xin chân thành cảm ơn thầy Cái Phúc Thiên Khoa và các thầy cô đã nhiệt tình gúp đỡ chúng em trong quá làm khóa luận. Em xin chân thành cảm ơn các thầy cô khoa công nghệ thông tin đã tạo điều kiện cho chúng em hoàn thành tốt khóa luận tốt nghiệp này. 3
  4. Mục Lục NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2 LỜI CẢM ƠN 3 Chương I: TỔNG QUAN KHÓA LUẬN 9 1. Nghiên cứu thực tiễn 9 2. Mục tiêu đề tài 9 3. Phương pháp tiếp cận và hướng giải quyết vấn đề 9 4. Tóm tắt khóa luận: 10 4.1 TÌM HIỂU GIAO THỨC LDAP 10 4.2 TÌM HIỂU ACTIVE DIRECTORY 10 4.3 TÌM HIỂU OPENLDAP 10 4.4 SAMBA DOMAIN CHỨNG THỰC BẰNG LDAP 10 5. Phạm vi và giới hạn của đề tài 11 6. Kết quả đạt được 11 o Chương II: TÌM HIỂU LDAP 12 1. Tổng quan về LDAP 12 2. Phương thức hoạt động của LDAP 13 3. Các mô hình LDAP 16 3.1 Mô hình LDAP Information 16 3.2 Mô hình LDAP Naming 18 3.3 Mô hình LDAP Security 19 3.4 Mô hình LDAP Function 20 4. Một số dịch vụ sử dụng giao thức LDAP 20 4
  5. Chương III: TÌM HIỂU ACTIVE DIRECTORY 23 Giới thiệu 23 1. Workgroup 23 2. Domain 24 3. Active Directory (AD) 25 4. Directory Services 28 Các thành phần 28 4.1 Object (đối tượng) 28 4.2 Attribute (thuộc tính) 29 4.3 Schema (cấu trúc tổ chức) 29 4.4 Container (vật chứa) 29 4.5 Global Catalog 30 4.6 Objects class 31 4.7 Domain 32 4.8 Domain tree 33 Chương IV: Tìm hiểu OPENLDAP 36 1. Tổng quan Bekerley DB 36 2. Tổng quan OPENLDAP 43 Cài đặt Berkeley DB 44 Cài đặt Openldap 45 2.1 Kiểm tra hoạt động của OpenLDAP 51 2.2 Cấu hình kiểm tra username/password bằng OPENLDAP 57 2.3 Cấu hình LDAP client 62 Chương V: DỊCH VỤ SAMBA DOMAIN CHỨNG THỰC BẰNG GIAO THỨC LDAP 67 1. Giới thiệu dịch vụ Samba 67 5
  6. 2. Cấu hình Samba Domain chứng thực bằng giao thức LDAP 68 Chương VI: HỆ THỐNG MAIL CHỨNG THỰC BẰNG GIAO THỨC LDAP 84 1. Giới thiệu Mail server MDaemon 84 2. Cấu hình LDAP trên MDaemon 85 2.1 LDaemon 86 2.2 Mail server MDaemon và OpenLDAP Server 93 3. Cấu hình Outlook Express sử dụng giao thức LDAP 98 Chương VII: MÔ HÌNH ỨNG DỤNG GIAO THỨC LDAP 102 1. Sơ lược mô hình 102 2. Cơ chế quản lý mạng tập trung theo mô hình 103 3. Vài nhận xét 103 4. Cách hiện thực 104 Chương VIII: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 105 1. Kết quả đạt được 105 1.1 Việc làm được: 105 1.2 Việc chưa làm được: 105 2. Hướng phát triển 105 Phụ lục: 106 Acroynms 106 Tài liệu tham khảo 107 6
  7. ĐỀ CƯƠNG CHI TIẾT Tên Đề Tài: TÌM HIỂU VÀ ỨNG DỤNG CỦA LDAP Giáo viên hướng dẫn: CÁI PHÚC THIÊN KHOA Thời gian thực hiện: 09/03/2009 21/06/2009 Sinh viên thực hiện: HUỲNH THANH LIÊM MSSV: 206205324 VÕ LINH ĐA MSSV: 206205026 Loại đề tài: Nghiên cứu ứng dụng Nội Dung Đề Tài: Tìm hiểu và ứng dụng LDAP để thực hiện authentication và authorization. • Tìm hiểu khái niệm LDAP và Active Directory. • Tìm hiểu OpenLDAP trong việc hiện thực LDAP. • Tìm hiểu cách thức cài đặt và cấu hình OpenLDAP để quản trị tập trung tài nguyên(Users, Computers, Profiles ) trên nền Linux. • Triển khai mô hình mạng nhỏ có ứng dụng LDAP cho yêu cầu chứng thực và quản lý thông tin tập trung. Kế hoạch thực hiện: Tuần 1 + 2: Tìm hiểu LDAP • LDAP là gì ? • Directory service 7
  8. • Cách thức LDAP hoạt động • Tuần 3 + 4: Tìm hiểu Active Directory của Windows. • Mô hình mạng Workgroup và Domain • Một số khái niệm cơ bản trong Active Directory • Đối chiếu với OPENLDAP Tuần 5 + 6 + 7: Tìm hiểu phần mềm OPENLDAP • Tìm hiểu phần mềm OPENLDAP • Download phần mềm OPENLDAP và BerkeleyDB • Cách thức “build” OPENLDAP và BerkeleyDB từ source code • Cài đặt OPENLDAP và BerkeleyDB trên Linux Fedora Tuần 8 + 9 + 10 + 11: Tìm hiểu cách cấu hình OPENLDAP để quản trị tập trung tài nguyên (Users, Computers, Profiles ) trên Linux • Tìm hiểu cách cấu hình OPENLDAP để thực hiện authentication và authorisation Tuần 12 + 13 + 14 + 15: Triển khai mô hình dạng nhỏ có ứng dung LDAP cho yêu cầu chứng thực và quản lý thông tin tập trung • Thiết kế sơ đồ mạng (logical topology, IP/Subnet,servers, clients ) • Triển khai OPENLDAP trong mô hình mạng • Cấu hình và kiểm tra kết quả: quản lý và chứng thực • Lập tài liệu ( Sơ đồ, IP/subnet, cách cấu hình, file cấu hình, ) Xác nhận của GVHD Ngày tháng năm SV Thực hiện 8
  9. Chương I: TỔNG QUAN KHÓA LUẬN 1. Nghiên cứu thực tiễn Trong môi trường máy tính mạng thì việc cấp phát và quản lý account là một việc không hoàn toàn đơn giản. Nếu tất cả các máy tính không nối mạng với nhau và mỗi một nhân viên đều chỉ đơn thuần sử dụng một máy tính cụ thể thì mọi việc sẽ trở nên tầm thường. Tuy nhiên, trong điều kiện làm việc ngày nay thì hầu hết các máy tính đều được nối mạng và nhu cầu đặt ra là mỗi người nhân viên có thể cơ động làm việc ở các máy khác nhau đã khiến cho việc quản lý đăng nhập tập trung trở nên cầp thiết. Giải pháp cho vấn đề này là tạo tất cả các account trên một máy để mọi người có thể linh động làm việc ở bất cứ máy nào. Và LDAP là giao thức dùng để quản lý tập trung và chứng thực tài khoản người dùng và nguyên trên mạng. 2. Mục tiêu đề tài o Tìm hiểu và ứng dụng của giao thức LDAP. o Tìm hiểu Active Directory trên Windows. o Tìm hiểu phần mềm OPENLDAP trong việc thực thi LDAP. o Thiết lập một mô hình nhỏ ứng dụng giao thức LDAP để lưu trữ tập trung tài khoản người dùng, tài nguyên trên mạng. 3. Phương pháp tiếp cận và hướng giải quyết vấn đề o Nghiên cứu và ứng dụng của giao thức LDAP. o Tìm hiểu các dịch vụ ứng dụng LDAP. o Kết hợp với kiến thức đã học để định hướng giải quyết vấn đề đã đặt ra và mở rộng . 9
  10. 4. Tóm tắt khóa luận: 4.1 TÌM HIỂU GIAO THỨC LDAP • Tổng quan về giao thức LDAP • Phương thức hoạt động của LDAP • Các mô hình LDAP • Một số dịch vụ sử dụng giao thức LDAP 4.2 TÌM HIỂU ACTIVE DIRECTORY • Workgroup – Domain • Active Directory • Directory Service 4.3 TÌM HIỂU OPENLDAP • Tổng quan OpenLDAP – Berkeley DB • Cài đặt – Cấu hình OpenLDAP • Kiểm tra hoạt động của OpenLDAP 4.4 SAMBA DOMAIN CHỨNG THỰC BẰNG LDAP • Dịch vụ SAMBA • Cấu hình SAMBA chứng thực bằng LDAP 4.5 MAIL SERVER CHỨNG THỰC BẰNG GIAO THỨC LDAP • Mail Server MDaemon • Cấu hình LDAP trên Mdaemon • Cấu hình Outlook Express sử dụng LDAP 4.6 THIẾT LẬP MÔ HÌNH NHỎ ỨNG DỤNG GIAO THỨC LDAP • Sơ lược mô hình mạng 10
  11. • Cơ chế quản lý tập trung • Nhận xét • Cách thực hiện 4.7 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN • Kết quả đạt được. • Hướng phát triển trong tương lai. 5. Phạm vi và giới hạn của đề tài o Tìm hiểu khái niệm LDAP và Active Directory. o Tìm hiểu OpenLDAP trong việc hiện thực LDAP. o Tìm hiểu cách thức cài đặt và cấu hình OpenLDAP để lưu trữ tập trung tài nguyên trên mạng. o Triển khai mô hình mạng nhỏ có ứng dụng LDAP cho yêu cầu chứng thực và quản lý thông tin tập trung 6. Kết quả đạt được o Tìm hiểu và ứng dụng LDAP. o Cài đặt OpenLDAP server phục vụ cho việc lưu trữ tập trung tài khoản người dùng và tài nguyên trên mạng. o Kết hợp OpenLDAP với dịch vụ Samba Domain. o Dùng OpenLDAP lưu danh bạ cho Mail server MDaemon. Hướng phát triển trong tương lai: o Cố gắng khắc phục những hạn chế chưa thực hiện được. o Xây dựng một OpenLDAP server để Backup dữ lệu, phòng khi Server gặp sự cố. o Kết hợp OpenLDAP với các dịch vụ khác. 11
  12. Chương II: TÌM HIỂU LDAP 1. Tổng quan về LDAP LDAP (Lightweight Directory Access Protocol) là một chuẩn mở rộng cho giao 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 chạy trên TCP/IP hoặc kết nối khác theo định hướng chuyển giao dịch vụ, được định nghĩa trong RFC 2251 “The Lightweight Directory Access Protocol”. Bản chất của LDAP là một phần của dịch vụ thư mục X.500. LDAP là một giao thức “lightweight ” có nghĩa đây là một giao thức có tính hiệu quả, đơn giản và dễ dàng để cài đặt. Điều này trái ngược với giao thức “heavyweight” như giao thức truy cập thư mục X.500 (DAP_Directory Access Control ), giao thức này sử dụng các phương thức mã hoá quá phức tạp. LDAP là giao thức thuộc tầng ứng dụng của mô hình OSI, sử dụng các tập các phương thức đơn giản. LDAP đã phát triển với phiên bản LDAP v2 được định nghĩa trong chuẩn RFC 1777 và 1778, và 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. LDAPv3 hoạt động và cung cấp một mô hình đơn giản cho người lập trình và quản trị hệ thống. Việc cung cấp một tập các hoạt động nhỏ hơn và đơn giản hơn cho phép người phát triển tập trung vào những ngữ nghĩa của chương trình mà không cần phải hiểu những giao thức đặc trưng mà ít khi được dùng đến. Theo đó, người thiết kế LDAP hi vọng rằng sẽ tạo ra được sự đón nhận nhiều hơn nữa bằng cách cung cấp những phát triển ứng dụng đơn giản hơn. Ngoài vai trò như là một giao thức mạng, LDAP còn định nghĩa 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: 12
  13. o Mô hình LDAP information - định nghĩa ra các loại dữ liệu cần đặt vào thư mục. o Mô hình LDAP Naming - định nghĩa ra cách sắp xếp và tham chiếu đến thư mục. o Mô hình LDAP Functional - định nghĩa cách truy cập và cập nhật thông tin trong thư mục của bạn. o 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 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. 2. Phương thức hoạt động của LDAP • LDAP là một nghi thức client/server 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 server, chương trình server này nhận lấy yêu cầu và sau đó nó thực hiện trả lại kết quả cho chương trình client. Ví dụ giao thức client/server là giao thức truyền siêu văn bản (Hypertext transfer protocol) viết tắt là HTTP, giao thức này có những ứng dụng rộng rãi phục vụ những trang web. Và giao 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 giao thức client/server là công việc được gán cho những máy tính đã được tối ưu hoá để thực hiện công việc đó. Ví dụ một máy LDAP server 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à server này cũng cần đĩa cứng và các bộ vi sử lý ở tốc độ cao. 13
  14. • LDAP là một giao thức hướng thông điệp 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 cho server. Server nhận được thông điệp và xử 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 1.1: Một 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 1.2: Những thông điệp client gởi cho server 14
  15. 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. Hình 1.3: Nhiều kết quả tìm kết đượcc trả về Việc cho phép nhiều thông điệp cùng sử 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. Hình 1.4: Mô hình kết nối giữa client/server 15
  16. LDAP client và server thực hiện theo các bước sau: o 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, ủy 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. o 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. o Client gởi đi các yêu cầu tìm kiếm. o Server thực hiện xử lý và trả về kết quả cho client. o Server gởi thông điệp kết thúc việc tìm kiếm. o 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. o Server đóng kết nối. 3. Các mô hình LDAP LDAP định nghĩa ra 4 mô hình gồm có: o LDAP information o LDAP Naming o LDAP Functional o LDAP Security. 3.1 Mô hình LDAP Information 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 16
  17. 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 1.5: Một cây thư mục với các entry là các thành phần cơ bản LDAP thường phân chia theo O (Organisation - tổ chức) và các OU (Organisation Unit - phân bộ). Trong các OU có thể có những OU con và trong các OU có các CN (Common Name), những nhóm giá trị này thường được gọi là DN (Distinguished Name - tên gọi phân biệt). Mỗi giá trị chứa trong LDAP thuộc dạng tên: giá trị, thường được gọi là LDAP Attribute (viết tắt là attr, mỗi attr được nhận diện như một LDAP Object). Những điểm ở trên hình thành một cái gọi là LDAP schema và có tiêu chuẩn thống nhất giữa các ứng dụng phát triển LDAP. Đây là lý do LDAP được ưa chuộng cho công tác lưu trữ và tích hợp với các tính năng authentication - authorisation vì chúng có thể được dùng giữa các LDAP system miễn sao các hệ thống đó tuân thủ đúng tiêu chuẩn chung. 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ự. 17
  18. 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. Hình 1.6: Một entry với các thuôc tính cơ bản 3.2 Mô hình LDAP Naming 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 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 1.7: Một cây thư mục LDAP 18
  19. Ví dụ:  Cây thư mục bao gồm các mục chứa (container entry) và các mục lá (leaf object entry). Mục lá có thể là người, máy tính, máy in, và dung lượng lưu trữ . Mỗi mục lá có một tên chung CN (common name). DN (distinguished name) là tên xác định tất cả các mục chứa đựng tạo thành đường đi từ đầu cây đến một mục lá nào đó.  Ví dụ trên như: o cn=Barbara (thuộc lớp đối tượng Person) o ou=Sales , ou=Marketing (thuộc lớp đối tượng Organization unit) o o=Acme (Acme thuộc lớp đối tượng Organization) o st=California (thuộc lớp state) o c=US, c=GB (thuộc lớp đối tượng Country) 3.3 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 19
  20. đ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. 3.4 Mô hình LDAP Function Đây là mô hình mô tả các thao tác cho phép trên thư mục. Mô hình LDAP Functional chứa một tập các thao tác chia thành 3 nhóm. o Thao tác thẩm tra (interrogation): search, compare cho phép bạn có thể search trên thư mục và nhận dữ liệu từ thư mục. o Thao tác cập nhật (update): add, delete, rename và thay đổi các entry thư mục. o Thao tác xác thực và điều kiển(authentiaction and control): bind, unbind, abandon cho phép client xác đị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 LDAPv3 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 giao 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 giao thức. 4. Một số dịch vụ sử dụng giao thức LDAP Bằng cách kết hợp các thao tác LDAP đơn giản này. Thư mục client có thể thực hiện các thao tác phức tạp như các ví dụ sau: Môt chương 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 20
  21. Hình 1.8: Một mô hình đơn giản lưu trữ Netscape 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ư. Hình 1.9: Dùng LDAP để quản lý thư 21
  22. 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 1.10: Xác thực dùng LDAP Active directory là một dịch vụ được tích hợp sẵn trong các sản phẩm Windows Server của Microsoft, Active Directory cung cấp một số tính năng quan trọng, giúp công việc thiết kế, triển khai và quản trị hệ thống dễ dàng hơn, chặt chẽ hơn. Active Directoy trong Windows server sẽ tự động xác thực và mã hóa thông tin, dữ liệu truyền tải trên giao thức LDAP. Việc xác thực giao thức nhằm đảm bảo thông tin được gửi đến từ 1 nguồn chính thức và không bị giả mạo. Tiếp theo sau đây, chúng ta sẽ tìm hiểu về Active Directory. 22
  23. Chương III: TÌM HIỂU ACTIVE DIRECTORY Giới thiệu Mô hình quản lý mạng cần dựa trên các yếu tố sau để quyết định chọn mô hình sao cho phù hợp với nu cầu. . Số lượng máy . Số tài nguyên chia sẻ . Tính bảo mật (tài nguyên, thiết bị ngọai vi, người dùng) . Chi phí . Nhân lực . Cần sức mạnh tính toán, xử lý tập trung . Cần lưu trữ tập trung . Qui mô Windows hỗ trợ những mô hình mạng là: . Workgroup . Domain 1. Workgroup Trong mô hình này các máy tính có quyền hạn ngang nhau và không có các máy tính chuyên dụng làm nhiệm vụ cung cấp dịch vụ hay quản lý. Các máy tính tự bảo mật và quản lý các tài nguyên của riêng mình. Đồng thời các máy tính cục bộ này cũng tự chứng thực cho người dùng cục bộ. Đặc điểm: . Còn gọi là mô hình peer-to-peer . Không cần server . Một máy vừa là Client vừa là Server . Các tài nguyên lưu trữ phân tán tại các hệ thống cục bộ . Dành cho các mạng nhỏ (dưới 10 máy), hoặc không yêu cầu tính bảo mật cao, hoặc việc phục vụ tập trung không quá lớn 23
  24. . Lưu giữ thông tin người dùng trong tập tin SAM (Security Accounts Manager) trên hệ thống cục bộ Thuận lợi: Rẻ tiền, dễ thiết lập, bảo trì. Bất lợi: Dữ liệu bị phân tán, khó định vị tài nguyên, tính bảo mật thấp. 2. Domain Ngược lại với mô hình Workgroup, trong mô hình Domain thì việc quản lý và chứng thực người dùng mạng tập trung tại máy tính Primary Domain Controller. Các tài nguyên mạng cũng được quản lý tập trung và cấp quyền hạn cho từng người dùng. Lúc đó trong hệ thống có các máy tính chuyên dụng làm nhiệm vụ cung cấp các dịch vụ và quản lý các máy trạm. Đặc điểm: . Còn gọi là mô hình phục vụ (Server-Client/Server based) o Client: yêu cầu dịch vụ, không cung cấp dịch vụ, chỉ cần cấu hình phần cứng tối thiểu. o Server: phục vụ các yêu cầu từ Client, thường là máy có cấu hình mạnh. . Trong mạng phải có ít nhất 1 máy làm chức năng điều khiển tòan bộ hệ thống mạng (Domain Controller). . Dùng cho các công ty vừa và lớn. . Thông tin người dùng quản lý trong các Active Directory trên Domain Controller (trong file NTDS.DIT). Thuận lợi: Bảo mật tập trung, dễ truy xuất, backup Bất lợi: Server đắt tiền, phụ thuộc vào người quản trị mạng. Chứng thực, quản lý tài nguyên tập trung trên server. 24
  25. Hình 2.1: Domain controller 3. Active Directory (AD) Active Directory: . Là một dịch vụ quản lý thư mục mang tính thứ bậc được giới thiệu bởi Microsoft cùng với Windows 2000. . Active Directory sử dụng LDAP (Lightweight Directory Access Protocol) và được xây dựng trên cơ sở Hệ thống xác định domain theo tên (DNS). Một trong những điểm ưu việt của Active Directory là nó quản lý hệ thống mạng bằng cách tạo ra tên domain cho workgroup, trên cơ sở đó cho phép các hệ thống mạng khác (Unix, Mac) truy cập vào. . Là một CSDL lưu các tài nguyên (đối tượng) trên mạng và các thông tin liên quan đến chúng. Tại sao dùng AD trong Domain ? Đối với mạng nhỏ nên dùng mạng Workgroup Đối với mạng như xí nghiệp, công ty, nên chia thành nhiều Domain để dễ dàng trong việc quản lý. Vì thế ta nên sử dụng Active Directory. . Được lưu trữ trong Domain Controller (DC) . Hỗ trợ phân nhiều domain và ủy quyền để quản lý cho dễ dàng . Quản lý 10 triệu người dùng cho mỗi Domain 25
  26. Chức năng Active Directory: . Centralized Data Store – Lưu trữ dữ liệu tập trung: Toàn bộ dữ liệu, thông tin trong hệ thống được lưu trữ một cách tập trung, cho phép người dùng có thể truy cập dữ liệu từ bất cứ nơi đâu, bất cứ lúc nào đồng thời nâng cao hiệu năng quản trị của hệ thống, giảm thiếu độ rủi ro cho tài nguyên. . Scalability – khả năng linh hoạt với nhu cầu: Active Directory cung ứng một cách linh hoạt các giải pháp quản trị khác nhau cho từng nhu cầu cụ thế trên nền tảng hạ tầng xác định của các doanh nghiệp. . Extensibility – Cơ sở dữ liệu của Active Directory cho phép nhà quản trị có thể tuy chọn và phát triển, ngoài ra ta còn có thể phát triển các ứng dụng sử dụng cơ sở dữ liệu này, giúp tận dụng hết khả năng, hiệu năng của Active Directory . Manageability – khả năng quản trị linh hoạt dễ dàng: Active Directory được tổ chức theo cơ chế của Directory Service dưới mô hình tổ chức Directory giúp các nhà quản trị có cái nhìn tổng quan nhất đối với cả hệ thống, đồng thời giúp user có thể dễ dàng truy xuất và sử dụng tài nguyên hệ thống. . Integration with Domain Name System (DNS) DNS là một partner rất cần thiết đối với Active Directory, trong một hệ thống mạng, các dịch vụ của Active Directory chỉ hoạt động được khi dịch vụ DNS được cài đặt. DNS có trách nhiệm dẫn đường, phân giải các Active Directory Domain Controller trong hệ thống mạng, và càng quan trọng hơn trong môi trường Multi Domain. DNS được dễ dàng tích hợp vào Active Directory để nâng cao độ bảo mật và khả năng đồng bộ hóa giữa các Domain Controller với nhau trong môi trường nhiều Domain. 26
  27. . Client Configuration Management: Active Directory cung cấp cho chúng ta một khả năng quản trị các cấu hình phía client, giúp quản trị hệ thống dễ dàng hơn và nâng cao khả năng di động của user. . Policy – based administration: Trong Active Directory, việc quản trị hệ thống mạng được đảm bảo một cách chắn chắc thông qua các chính sách quản trị tài nguyên, các quyền truy xuất trên các site, domain và các organization unit. Đây là một trong những tính năng quan trọng nhất được tích hợp vào Active Directory. . Replication of information: Active Directory cung cấp khả năng đồng bộ dữ liệu thông tin giữa các domain, trên nền tảng, môi trường nhiều domain nhằm mục đích giảm thiếu đến mức tối đa rủi ro và nâng cao khả năng họat động của hệ thống mạng. . Flexible, secure authentication and authorization: Active Directory cung cấp nhiều cơ chế authentication như Kerberos, Secure Socket Layer và Transport Layer Security giúp cho việc bảo mật thông tin của user khi xác thực thông tin truy xuất tài nguyên. . Security integration: Active Directory được tích hợp mặc địnhtrong các phiên bản Windows Server, do đó Active Directory làm việc rất dễ dàng và linh hoạt, truy xuất điều khiển trên hệ thống được định nghĩa trên từng đối tượng, từng thuộc tính của đối tượng. Không những thế, các chính sách bảo mật được áp dụng không phải đơn thuần trên local mà còn được áp dụng trên các site, domain hay ou xác định. . Directory – enable applications and infrastructure: Active Directory là một môi trường tuyệt hảo cho các nhà quản trị thiết lập các cấu hình và quản trị các ứng dụng trên hệ thống. Đồng thời Active Directory cung cấp một hướng mở cho các nhà phát triển ứng dụng (developer) xây dựng các ứng dụng trên nền tảng Active Directory thông qua Active Directory Service Interfaces 27
  28. . Interoperability with other directory services: Active Directory được xây dựng trên giao thức directory service chuẩn gồm 2 giao thức là Lightweight Directory Access Protocol (LDAP) và Name Service Provider Interface (NSPI), do đó Active Directory có khả năng tương thích với các dịch vụ khác được xây dựng trên nền tảng directory service thông qua các giao thức này. Vì LDAP là một giao thức directoy chuẩn, do đó ta có thể phát triển, tích hợp các sản phẩm ứng dụng trao đổi, chia sẻ thông tin với Active Directory thông qua giao thức LDAP. Còn giao thức NSPI được hỗ trợ bởi Active Directory nằm mục đích đảm bảo và nâng cao khả năng tương thích với directoy của Exchange. . Signed and encrypted LDAP traffic: Mặc định là công cụ Active Directoy trong windows server sẽ tự động xác thực và mã hóa thông tin, dữ liệu truyền tải trên giao thức LDAP. Việc xác thực giao thức nhằm đảm bảo thông tin được gửi đến từ 1 nguồn chính thức và không bị giả mạo. 4. Directory Services . Directory Services (dịch vụ thư mục) là hệ thống thông tin chứa trong NTDS.DIT và các chương trình quản lý, khai thác tập tin này. . Chứa danh sách của nhiều đối tượng khác nhau cũng như các thông tin và thuộc tính liên quan đến các đối tượng đó . Dịch vụ thư mục là một dịch vụ cơ sở làm nền tảng để hình thành một hệ thống Active Directory. Các thành phần 4.1 Object (đối tượng) . Là thành tố căn bản nhất của dịch vụ thư mục . Gồm: máy in, người dùng mạng, các server, các máy trạm, các thư mục dùng chung, dịch vụ mạng, 28
  29. 4.2 Attribute (thuộc tính) . Một thuộc tính mô tả một đối tượng. Ví dụ: Mật khẩu và tên là thuộc tính của đối tượng người dùng mạng . Các đối tượng khác nhau có danh sách thuộc tính khác nhau . Tuy nhiên, các đối tượng khác nhau cũng có thể có một số thuộc tính giống nhau. Ví dụ: Như một máy in và một máy trạm cả hai đều có một thuộc tính là địa chỉ IP 4.3 Schema (cấu trúc tổ chức) . Là một danh bạ của các danh bạ Active Directory . Một schema định nghĩa danh sách các thuộc tính dùng để mô tả một lớp đối tượng nào đó. Ví dụ: cho rằng tất cả các đối tượng máy in đều được định nghĩa bằng các thuộc tính tên, loại, tốc độ. Danh sách các đối tượng này hình thành nên schema cho lớp đối tượng “máy in” . Các thuộc tính của schema dùng để định nghĩa một lớp đối tượng có thể sửa đổi được 4.4 Container (vật chứa) . Trong Active Directory, một vật chứa có thể chứa các đối tượng và các vật chứa khác . Cũng có các thuộc tính như đối tượng Có 3 lọai: o Domain o Site: là một vị trí. Site được dùng để phân biệt giữa các vị trí cục bộ và các vị trí xa. o OU (Organizational Unit): là một loại vật chứa, có thể đưa vào đó người dùng, nhóm, máy tính và những OU khác. 29
  30. • Một OU không thể chứa các đối tượng nằm trong domain khác, sử dụng OU để giảm thiểu số lượng domain cần phải thiết lập trên hệ thống. • Nhờ việc một OU có thể chứa các OU khác, bạn có thể xây dựng một mô hình thứ bậc của các vật chứa để mô hình hoá cấu trúc của một tổ chức bên trong một domain 4.5 Global Catalog . Dùng để xác định vị trí của một đối tượng mà người dùng được cấp quyền truy cập (bằng tên, hay đặc tính của đối tượng). . Khi một đối tượng được tạo mới trong Active Directory, đối tượng được gán một con số phân biệt gọi là GUID (Global Unique Identifier). GUID của một đối tượng luôn luôn cố định cho dù bạn có di chuyển đối tượng đi đến khu vực khác Ví dụ: Giả sử bạn phải in một tài liệu dày 50 trang thành 1000 bản, chắc chắn bạn sẽ không dùng một máy in HP Laserjet 4L. Bạn sẽ phải tìm một máy in chuyên dụng, in với tốc độ nhanh hơn và có khả năng đóng tài liệu thành quyển. Nhờ Global Catalog, bạn tìm kiếm trên mạng một máy in với các thuộc tính như vậy và tìm thấy được một máy Xerox Docutech 6135. Bạn có thể cài đặt driver cho máy in đó và gửi print job đến máy in. Nhưng nếu bạn ở Portland và máy in thì ở Seattle thì sao? Global Catalog sẽ cung cấp thông tin này và bạn có thể gửi email cho chủ nhân của máy in, nhờ họ in giùm Giả sử bạn nhận được một thư thoại từ một người tên Betty Doe ở bộ phận kế toán. Đoạn thư thoại của cô ta bị cắt xén và bạn không thể biết được số điện thoại của cô ta. Bạn có thể dùng Global Catalog để tìm thông tin về cô ta nhờ tên, và nhờ đó bạn có được số điện thoại của cô ta 30
  31. Hình 2.2: Tìm kiếm trên Global Catalog 4.6 Objects class . Là một khuôn mẫu cho các loại đối tượng mà có thể tạo ra trong Active Directory Có ba loại object classes thông dụng là: User, Computer, Printer o Attributes là tập các giá trị phù hợp và được kết hợp với một đối tượng cụ thể o Object là một đối tượng duy nhất được định nghĩa bởi các giá trị được gán cho các thuộc tính của object classes o Ví dụ hình sau minh họa hai đối tượng là: máy in ColorPrinter1 và người dùng KimYoshida. Hình 2.3: Objects class 31
  32. Organizational Units hay OU là đơn vị nhỏ nhất trong hệ thống AD . Một vật chứa các đối tượng (Object) được dùng để sắp xếp các đối tượng khác nhau phục vụ cho mục đích quản trị . OU có hai công dụng chính o Trao quyền kiếm soát một tập hợp các tài khoản người dùng, máy tính hay các thiết bị mạng cho một nhóm người hay một phụ tá quản trị viên nào đó (sub-administrator), từ đó giảm bớt công tác quản trị cho người quản trị toàn bộ hệ thống o Kiểm soát và khóa bớt một số chức năng trên các máy trạm của người dùng trong OU thông qua việc sử dụng các đối tượng chính sách nhóm (GPO) 4.7 Domain . Là đơn vị chức năng nòng cốt của cấu trúc logic Active Directory . Là phương tiện để qui định một tập hợp những người dùng, máy tính, tài nguyên chia sẻ có những qui tắc bảo mật giống nhau từ đó giúp cho việc quản lý các truy cập vào các Server dễ dàng hơn Có 3 chức năng sau o Đóng vai trò như một khu vực quản trị (administrative boundary) các đối tượng, là một tập hợp các định nghĩa quản trị cho các đối tượng chia sẽ như: có chung một cơ sở dữ liệu thư mục, các chính sách bảo mật, các quan hệ ủy quyền với các domain khác Hình 2.4: khu vực quản trị 32
  33. o Giúp chúng ta quản lý bảo mật các các tài nguyên chia sẻ. Hình 2.5 : Bảo mật tài nguyên chia sẻ o Cung cấp các Server dự phòng làm chức năng điều khiển vùng (domain controller), đồng thời đảm bảo các thông tin trên các Server này được được đồng bộ với nhau Hình 2.6: Đồng bộ thông tin trên các server 4.8 Domain tree . Là cấu trúc bao gồm nhiều domain được sắp xếp có cấp bậc theo cấu trúc hình cây . Domain root: Tạo đầu tiên. Nằm ở gốc cây thư mục . Child domain: Tạo ra sau. Tên khác nhau 33
  34. . Domain tree = domain root + ít nhất 1 child domain Hình 2.7: Cây Domain Hình 2.8 : Rừng Hình 2.9 : Công cụ quản lý các đối tượng (object) trong Active Directory 34
  35. o Builtin: chứa các nhóm người dùng đã được tạo và định nghĩa quyền sẵn. o Computers: chứa các máy trạm mặc định đang là thành viên của miền. Bạn cũng có thể dùng tính năng này để kiểm tra một máy trạm gia nhập vào miền có thành công không. o Domain Controllers: chứa các vùng điều khiển (Domain Controller) hiện đang hoạt động trong miền. Chức năng này để kiểm tra việc tạo thêm Domain Controller đồng hành có thành công không. o ForeignSecurityPrincipals: là một vật chứa mặc định dành cho các đối tượng bên ngoài miền đang xem xét, từ các miền đã thiết lập quan hệ tin cậy (trusted domain) o Users: chứa các tài khoản người dùng mặc định trên miền. Microsoft Active Directory là dạng LDAP dành cho môi trường Windows. Ở các dòng hệ điều hành Linux cũng có các phần mềm server LDAP gồm có: 1. Apache Directory Server 2. Fedora Directory Server 3. IBM Tivoli Directory Server 4. Novell eDirectory 5. OpenDS 6. OpenLDAP 7. Oracle Internet Directory Phần tiếp theo, chúng ta sẽ cùng nhau tìm hiểu phần mềm mã nguồn mở Openldap trên Linux, để hiểu rõ hơn về hiện thực của giao thức LDAP. 35
  36. Chương IV: Tìm hiểu OPENLDAP 1. Tổng quan Bekerley DB Ngày 13-3-2006, Oracle đã công bố bổ sung Berkeley DB vào danh sách sản phẩm cơ sở dữ liệu nhúng của hãng này gồm Oracle® Lite cho các thiết bị di động và Oracle TimesTen cho các ứng dụng cơ sở dữ liệu hoạt động bằng bộ nhớ có hiệu suất cao Sản phẩm Berkeley DB là cơ sở dữ liệu nguồn mở được sử dụng rộng rãi nhất thế giới với khoảng 200 triệu sản phẩm được triển khai. Berkeley DB được phân phối dưới hình thức cấp phép kép, nghĩa là cả dưới hình thức cấp phép rộng rãi lẫn bản quyền thương mại. Các dự án nguồn mở nổi tiếng như là Linux và hệ điều hành BSD UNIX, máy chủ web Apache, OpenLDAP Directory, phần mềm sản xuất OpenOffice, và nhiều công nghệ Berkeley DB nhúng khác. Berkeley DB cung cấp nhiều các dịch vụ lưu trữ, truy xuất và phục hồi cơ sở dữ liệu. Nó gần gũi hơn với một hệ thống tập tin trong đó các loại dữ liệu được lưu trữ với bất kỳ hình thức nào, nhưng không dễ dàng cung cấp các công cụ cho truy vấn. Những nhà phát triển phải viết code để tìm kiếm rên một cơ sở dữ liệu Berkeley BD. Hình 3.1: Phạm vi của dịch vụ lưu trữ và truy vấn 36
  37. Một số ứng dụng cần thiết truy xuất và phục hồi, nhưng không phải là khả năng hỗ trợ chuyển quyền cuối cùng đối với người sử dụng tìm kiếm dữ liệu, lưu trữ chúng. Đối với những ứng dụng, Berkeley DB thường là một sự lựa chọn tốt hơn, hoặc các hệ thống tập tin hoặc một cơ sở dữ liệu. Berkeley DB kết hợp đơn giản với hệ thống tập tin lưu trữ với các doanh nghiệp, cấp quy mô, độ tin cậy và đảm bảo truy xuất cao như hệ thống cơ sở dữ liệu Oracle. 1.1 Oracle Berkeley DB có các dòng sản phẩm khác nhau: Các nhà Phát triển xây dựng ứng dụng dựa trên XML có thể chọn Berkeley DB XML sản phẩm, trên nền C. Berkeley DB XML hiểu XML schemas, có thể phân tích cú pháp và lập chỉ mục XML, và sử dụng XPATHXQuery dữ liệu. Nó hỗ trợ C/C++, Java và nhiều loại ngôn ngữ scripting phổ biến. Sản phẩm có tên Berkeley DB nhúng là một thư viện viết bằng ngôn ngữ lập trình C. Nó hỗ trợ khác nhau trên cấu trúc đĩa lưu trữ, cung cấp đầy đủ các dịch vụ lưu trữ, cơ chế dung lỗi và tính thông dụng cao. Các sản phẩm hỗ trợ: C, C/C + + và ngôn ngữ truy cập Java, cũng như nhiều loại ngôn ngữ scripting phổ biến. 37
  38. Các nhà phát triển java muốn một dịch vụ lưu trữ nhúng như những chương trình C, nhưng với ai cần triển khai với 100% hệ thống Java trắng, có thể chọn Berkeley DB Java. Chạy như một JAR trong một máy tính ảo. Nó cung cấp cùng một trao đổi và lưu trữ lại như các dịch vụ sản phẩm C, nhưng cũng được thực hiện hoàn toàn bằng Java. 1.2 Tại sao sử dụng Berkeley DB ? (Chọn đúng công cụ cho các công việc) Đôi khi, rất dễ dàng để quyết định như thế nào để lưu dữ liệu trong một ứng dụng. Ví dụ, nhiều kế toán hoặc các hệ thống hỗ trợ khách hàng thường xuyên tích hợp với một cơ sở dữ liệu đáng tin cậy. Các hệ thống này để lưu và phục hồi dữ liệu mà họ quản lý, và cho phép các quản trị viên và những người khác truy vấn và thao tác trên dữ liệu riêng rẽ, bằng cách sử dụng SQL và SQL dựa trên công cụ truy vấn. Trong các trường hợp khác, tất cả các hệ thống tập tin đó là cần thiết. Xử lý các ứng dụng, các bảng tính, phát triển phần mềm biên tập cùng các công cụ như biên soạn, và viết thư, các hệ thống tập tin. Người sử dụng các ứng dụng làm việc với các kết quả được ghi nhớ trong các thư mục, và những gì được đặt tên. Không có thêm các dịch vụ truy vấn phức tạp bắt buộc. Đôi khi, một ứng dụng nhỏ hơn nhu cầu, nhưng nhiều hơn các dịch vụ của một hệ thống tập tin. Trong các trường hợp, một RDBMS cung cấp nhiều tính năng, và thường là quá lớn và phức tạp. Một hệ thống tập tin, ngược lại, nó cung cấp ít hoặc không có sự tích hợp, lợi thế và hiệu quả hoạt động của một cơ sở dữ liệu hệ thống. Berkeley DB là nằm ở trung nhất. 38
  39. • Berkeley DB cung cấp các tính năng lưu trữ dữ liệu mạnh mẽ: cũng như truyền thống, các hệ thống cơ sở dữ liệu nhúng, chẳng hạn như các truy xuất và phục hồi ACID; sao lưu nóng và lạnh, và cho quản trị các ứng dụng cao, tính khả dụng. Berkeley DB có thể quản lý cơ sở dữ liệu trong bộ nhớ, trên đĩa hoặc cả hai. Berkeley DB được thiết kế để chạy hoàn toàn phù hợp. Do đó, tất cả các thời gian chạy được lập trình quản lý kiểm soát bởi các ứng dụng, không phải của một con người quản lý. Nó đã được thiết kế để đơn giản, nhanh chóng, vừa và nhỏ, đáng tin cậy. • Berkeley DB hỗ trợ mở rộng trên nhiều hệ thống, tạo điều kiện cho các ứng dụng có độ trễ thấp và cung cấp các dung lỗi đối với các giải pháp khả dụng cao: Kỹ thuật này hoạt động bằng cách cập nhật tất cả các kết nối một máy chủ, mà sẽ tự động thay đổi phân phối cho một bộ mô phỏng. Các khối lượng công việc có thể truyền trên khắp bộ mô phỏng, và mô phỏng mới có thể tham gia nhóm bất cứ lúc nào để có quy mô hệ thống. Nếu máy chủ không hoạt động, đơn giản là chỉ định một máy chủ mới. Một khi các máy chủ mới đã được chọn, tất cả các mô phỏng đồng bộ hóa với các máy chủ mới và chuyển biến bình thường không có trong dịch vụ. • Berkeley DB là rất linh hoạt: cho phép sử dụng trên một loạt các ứng dụng giống như thay thế cho các tùy chỉnh của nhà phát triển giải pháp. Ví dụ, phát triển như thế nào có thể kiểm soát các nguồn lực được phân bổ, số lượng bộ nhớ dành riêng cho hồ sơ trong bộ nhớ đệm, trên đĩa lưu trữ cấu trúc được sử dụng cho từng bàn, đảm bảo độ bền và tách biệt, và nhân rộng các chính sách. Nó bao gồm toàn bộ mã nguồn dễ dàng hơn, hội nhập, gỡ lỗi và tối ưu hóa. 39
  40. • Berkeley DB cung cấp truy xuất dữ liệu nhanh, đáng tin cậy và mở rộng: cho phép các ứng dụng cố chấp cần phải lưu trữ dữ liệu ở cục bộ, chạy không gián đoạn, và truy cập dữ liệu trong một dự đoán. 1.3 Chức năng của Berkeley DB a. Lưu dữ liệu: Berkeley DB lưu dữ liệu một cách nhanh chóng và dễ dàng mà không tốn phí tìm kiếm trong cơ sở dữ liệu. Berkeley DB là một thư viện C chạy trong một quá trình đơn lẻ, tránh những độ trễ của tiến trình giao tiếp bằng cách sử dụng một máy chủ cơ sở dữ liệu từ xa. Chia sẻ bộ nhớ đệm giữ hầu hết các hoạt động dữ liệu trong bộ nhớ, tránh tốn kém đĩa truy cập. • Cục bộ, trong quá trình lưu trữ dữ liệu • Schema-neutral, ứng dụng các định dạng dữ liệu • Liên tiếp và lập chỉ mục (B-tree, Xêp Hang, Recno, hash) • Nhiều quy trình cho mỗi ứng dụng và nhiều chủ đề cho mỗi quá trình • Khóa và cấu hình cao cho các hệ thống đồng bộ • Nhiều phiên bản cùng kiểm soát (MVCC) • Trong bộ nhớ, trên đĩa hoặc cả hai • Btree compaction • Btree dung lượng đĩa reclamation • Online bỏ khóa gỡ bỏ • Mã hóa dữ liệu trên đĩa (AES) • Lưu trữ hồ sơ lên đến 4GB và Table lên tới 256TB b. Giao dịch Berkeley DB lưu trữ dữ liệu đáng tin cậy và bảo đảm tính công bằng, tất cả các cơ sở dữ liệu được dự kiến sẽ làm được. Berkeley DB cho phép một nhóm các hoạt động kinh doanh cơ sở dữ liệu sẽ được nhóm lại với nhau. Trong trường hợp 40
  41. hệ thống bị trục trặc, Berkeley DB sẽ tự động phục hồi, và một phần hoàn thành các truy xuất sẽ tạm ngưng lại để bảo đảm là hệ thống ổn định. • ACID tuân thủ đầy đủ • Lựa chọn mức độ tách biệt và đảm bảo độ bền, cấu hình trên một cơ sở cho mỗi lần giao dịch • Lồng nhau, hỗ trợ cho các giao dịch • Phân phối các giao dịch • Thảm và các chế độ phục hồi thường xuyên, không thành công • Tự động phục hồi serialization • Linh hoạt và cấu hình phát hiện deadlock • Hỗ trợ cho các ứng dụng cụ thể đăng nhập và khôi phục tập tin hồ sơ • Nóng và lạnh, sao lưu, hãy đăng nhập tập tin lưu trữ, và toàn bộ cơ sở dữ liệu dumps c. Mở rộng Berkeley DB cung cấp khả năng cho phép một nhóm các hệ thống dịch vụ cho các khối lượng công việc. Có thể được nhân rộng giữa các bảng trong một chassis, nhiều máy phục vụ trong một hoặc Datacenter geographically phân phối trên các trang web. Tích hợp dữ liệu, truy xuất đảm bảo, mạng lưới giao thông, và nhiều hơn nữa, có cấu hình và có thể được điều chỉnh của bạn để đáp ứng các yêu cầu cụ thể của ứng dụng. • Máy chủ đơn, nhiều mô hình sao • Tự động failover / tái bầu cử • Paxos-tuân thủ thuật toán bầu cử • Replicas mới có thể tham gia nhóm vào bất cứ lúc nào • Hot standby • Không ngừng nâng cấp • Geographically phân phối nodes • Trong bộ nhớ rộng tùy chọn 41
  42. • Khách hàng của khách hàng để nhân rộng • Chậm trễ của khách hàng đồng bộ hóa • Đồng bộ hóa Thông • Mạng lưới giao thông agnostic • Cung cấp quy mô vào hàng ngàn sao nodes • Xây dựng khuôn khổ cho phát triển nhanh hơn d. Phát triển Berkeley DB là rất linh hoạt, dễ triển khai và dễ dàng để tích hợp. Với tư cách là một thư viện C, nó có thể được cài đặt và cấu hình. Berkeley DB được thiết kế để vận hành hoàn toàn phù hợp, do đó, tất cả các cơ quan hành chính được kiểm soát các chức năng lập trình. Nó hỗ trợ nhiều loại ngôn ngữ lập trình và nền tảng hệ điều hành. Berkeley DB là minh chứng trong triển khai, từ nhiệm vụ quan trọng, nhà cung cấp các ứng dụng cho máy tính để bàn và các thiết bị di động ứng dụng. • Lập trình quản lý và quản lý - không có con người quản lý • Hỗ trợ ngôn ngữ (C, C / C + +, Java, Perl, Python, PHP, TCL, Ruby, vv) • Hỗ trợ hệ điều hành (Linux, Windows, BSD Unix, Solaris, hệ điều hành Mac OS / X, VxWorks và posix-tuân thủ bất kỳ hệ điều hành) • Cài đặt cho Microsoft Windows • Apache • Rpc bật API • Hỗ trợ cho bộ nhớ thiết bị • Mở rộng đến dữ liệu Terabytes, hàng tỷ hồ sơ • Các mã nguồn, bao gồm các kiểm tra Phần tiếp theo, ta sử dụng Berkeley DB để phục vụ cho việc lưu trữ dữ liệu cho OpenLDAP server. 42
  43. 2. Tổng quan OPENLDAP Trong môi trường máy tính mạng thì việc cấp phát và quản lý account là một việc không hoàn toàn đơn giản. Nếu tất cả các máy tính không nối mạng với nhau và mỗi một nhân viên đều chỉ đơn thuần sử dụng một máy tính cụ thể thì mọi việc sẽ trở nên tầm thường. Tuy nhiên, trong điều kiện làm việc ngày nay thì hầu hết các máy tính đều được nối mạng và nhu cầu đặt ra là mỗi người nhân viên có thể cơ động làm việc ở các máy khác nhau đã khiến cho việc quản lý đăng nhập tập trung trở nên cầp thiết. Giải pháp cho vấn đề này là tạo tất cả các account trên tất cả các máy để mọi người có thể linh động làm việc ở bất cứ máy nào. Tuy nhiên giải pháp này dẫn đến sự khó khăn trong công tác quản lý ở các khía cạnh như: quản lý user id (uid), group id (gid), quyền hạn sử dụng (level of access), Trước đây NIS (Network Information Services) là một giải pháp được nhiều người sử dụng, là một giao thức dựa trên RPC và tương tự như NFS. Tuy nhiên NIS lại tỏ ra không thực sự ổn định và LDAP xuất hiện như một sự thay thế phù hợp. OPENLDAP là một phần mềm mã nguồn mở. Là sự thi hành của giao thức LDAP “Lightweight Directory Access Protocol”. Các dự án OPENLDAP là một nỗ lực phát triển mạnh mẽ, cấp thương mại, đầy đủ tính năng, bộ công cụ và phát triển của mã nguồn mở LDAP. Dự án được quản lý bởi cộng đồng những tình nguyện viên trên toàn thế giới sử dụng Internet để giao tiếp, lập kế hoạch và phát triển OPENLDAP suite cùng các tài liệun. Tất cả chi tiết về thư viện OPENLDAP, cài đặt và cấu hình, thì đều được hướng dẫn trong địa chỉ URL sau: 43
  44. Điều kiện cho cài đặt OPENLDAP: OpenLDAP sử dụng một cơ sở dữ liệu lưu trữ thông tin, cơ sở dữ liệu này được gọi là Berkeley DB từ tổ chức Oracle. Chúng ta cần đảm bảo rằng Berkeley DB đã được cài đặt trước khi chúng ta cài đặt OpenLDAP. Berkeley DB có thể được tải về từ Cài đặt Berkeley DB Để cài đặt Berkeley DB ta làm theo các bước sau đây: Trích xuất các Berkeley DB và vào trong thư mục build_unix. o tar –zxf db-4.7.25.tar.gz o cd /root/Desktop/db-4.7.25/build_unix Trước khi “build” BerkeleyDB, ta patch để vá lỗi của gói db-4.7.25 này. Hình 3.2 : Patch vá lỗi Berkeley DB Vào trong folder build_unix o “build” Berkeley DB bằng lệnh “ /dist /configure”. o Nếu các tập lệnh cấu hình được thực hiện đúng, ta thực hiện lệnh “make”. 44
  45. o Nếu thực hiện thành công, ta tiếp tục lệnh “make install”. o Bạn muốn bỏ cài đặt Berkeley DB thực hiện “make uninstall”. Cài đặt Openldap Tải gói phần mềm Openldap Ta có thể copy phần mềm theo sự hướng dẫn từ website Download phiên bản phù hợp với hệ điều hành Linux mình sử dụng. “Buid” source Openldap: Ở đây ta sử dụng là gói source openldap-2.4.15 Trích xuất Openldap vào vị trí thuận tiện o tar –xzf openldap-2.4.15.tgz o cd /root/Desktop/openldap-2.4.15 o “build” Openldap bằng lệnh: “./configure” o Nếu các thực hiện thành công ta dùng lệnh “make depend” để kiểm tra phụ thuộc o Sau đó ta thực hiện lệnh “make” o Và cuối cùng, sử dụng lệnh “make install” Chú ý: Trong quá trình cấu hình OpenLDAP chúng ta có thể gặp lỗi BerkeleyDB: checking for db.h no configure: error: BDB/HDB: BerkeleyDB not available Để giải quyết vấn đề này sẽ có một số biến để Export trước khi cấu hình OpenLDAP. Ở đây cần xác định đường dẫn cài đặt Berkeley DB. export CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" export LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.7/lib - R/usr/local/BerkeleyDB.4.7/lib" export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.7/lib" 45
  46. Mô hình: Hình 3.3: Mô hình client – Server ldap Chuẩn bị: Mọi cấu hình chính của OpenLDAP đều được lưu trong tập tin slapd.conf . Để cấu hình lại cho OpenLDAP thì ta sẽ chỉnh sửa lại tập tin với nội dung sau: # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/nis.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/misc.schema # Define global ACLs to disable default read access. # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args # Load dynamic backend modules: # modulepath/usr/local/libexec/openldap # moduleloadback_bdb.la # moduleloadback_hdb.la 46
  47. # moduleloadback_ldap.la # Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64 # Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access # Allow authenticated users read access # Allow anonymous users to authenticate # Directives needed to implement policy: # access to dn.base="" by * read # access to dn.base="cn=Subschema" by * read # access to * # by self write # by users read # by anonymous auth # # if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., "access to * by * read") # # rootdn can always read and write EVERYTHING! ################################################################## ##### # BDB database definitions ################################################################## ##### database bdb suffix "dc=ntt,dc=edu" rootdn "cn=Manager,dc=ntt,dc=edu" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # rootpw {MD5}ijFYNcSNctBYg= 47
  48. # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /usr/local/var/openldap-data # Indices to maintain index objectClass eq Giải thích file slapd.conf include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/nis.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/misc.schema Schema là một tập hợp các định nghĩa và các cấu trúc liên quan đến của DIT ( Directory Information Tree -Thông tin cây thư mục ), các thông tin có thể được tổ chức tại mục mới, các thuộc tính được sử dụng để đại diện cho rằng thông tin và các tổ chức để tạo điều kiện thuận lợi tìm kiếm thông tin và cách thức mà trong đó giá trị của các thuộc tính có thể phù hợp với thuộc tính trong giá trị và phù hợp với quy định xác nhận. Đoạn này "include" các schema đang được dùng cho openldap server trên. o core.schema là schema chính, cần thiết cho LDAP server. Schema này hiệu chỉnh các attributes và các objects cho LDAP server. o cosine.schema là schema hỗ trợ COSINE và X.500 directory o inetorgperson.schema là schema dùng để hiệu chỉnh các objects inetOrgPerson. Schema này cần thiết cho mục đích chứa các thông tin cá nhân của người dùng trong LDAP. o misc.schema là schema "lặt vặt", thường dùng để hiệu chỉnh các attributes và objects "phụ". Schema này thường dùng cho mục đích "mail routing" cho Sendmail. o nis.schema là schema dùng để hiệu chỉnh các objects dùng cho NIS (Network Information System), một dịch vụ thông dụng trên UNIX. Ngoài ra còn nhiều schame khác, không nằm trong mặc định của OPENLDAP 48
  49. # Define global ACLs to disable default read access. Đây là configuration chỉ định quyền truy cập đến dịch vụ LDAP. # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org Referral thường dùng cho mục đích nối liền (chain) các LDAP servers. Đối với LDAP clients, tính chất “chain” hoàn toàn trong suốt vì hoạt động "chain" xảy ra trên server. pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args Dòng 1 chỉ định cho process ID (pid) của LDAP daemon được giữ trong thư mục /var/run/ldap khi ldap daemon khởi động. pid được dùng để giám sát tình trạng tắt / mở của slapd daemon. Dòng 2 chỉ định cho các thông số cần thiết được "gọi" khi ldap daemon khởi động, các "thông số" này được giữ trong hồ sơ slapd.args và nằm trong thư mục /var/run/ldap # Load dynamic backend modules: # modulepath/usr/local/libexec/openldap # moduleloadback_bdb.la # moduleloadback_hdb.la # moduleloadback_ldap.la Đoạn này chỉ định đường dẫn đến các module của openLDAP ở /usr/lib/openldap. Các module trên được commented cho nên chúng không tải dụng khi ldap daemon khởi động. ################################################################## ##### # BDB database definitions ################################################################## ##### database bdb suffix "dc=ntt,dc=edu" rootdn "cn=Manager,dc=ntt,dc=edu" 49
  50. Database bdb chỉ định cho loại database dùng với LDAP server này. Có hai loại thông dụng: o ldbm là dạng local database storage, loại này dùng GNU Database Manager hoặc Sleepycat Berkerley DB là phổ biến nhất. o bdb là dạng backend database storage, loại này dùng một database riêng biệt. “suffix” là suffix ở root level của một LDAP server. “rootdn” có giá trị superuser cho một LDAP. # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # rootpw {MD5}ijFYNcSNctBYg= LDAP cho phép mã hoá password. rootpw {MD5} có thể đáng để quan tâm vì nó dùng để quy định password tối cao của LDAP server (tương tự như root password trên 1 *nix server). Password này được "mã hoá" bằng MD5. # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /usr/local/var/openldap-data Đây là thư mục database files của ldap. Thư mục này chỉ nên được truy cập bằng các tiện ích trong slapd và "gán" quyền ở chế độ 700. Thư mục này có thể được tạo ở nơi thích hợp, không nhất thiết phải ở /var/lib/ldap. # Indices to maintain index objectClass eq Dùng để chỉ định cho ldap "index" (lập danh mục) của các objectClass, user ID (uid), uidNumber (user ID number) và gidNumber (group ID number), thông 50
  51. số "eq" là "equality". Có nghĩa các giá trị nào mà bằng objectClass, uid, uidNumber, gidNumber thì được index. Indexing giúp cho ldap tìm và tải kết quả nhanh hơn là không index. Tuy nhiên, nếu điều chỉnh index không đúng hoặc không thích hợp (vì quá nhiều chẳng hạn) thì sẽ tạo ra nhiều khó khăn, nhất là khó khăn trong quá trình tìm lỗi của LDAP. 2.1 Kiểm tra hoạt động của OpenLDAP  Khởi động OpenLDAP: Để bắt đầu dịch vụ, chúng ta thực hiện lệnh sau đây: /etc/init.d/slapd -h "ldap://192.168.1.4:9011" -d 261 -h: URLs, danh sách địa chỉ URL để phục vụ -d: debug level Hình 3.4 : Start ldap server 51
  52. Tạo file passwd.ldif với nội dung sau : Hình 3.5 : Passwd.ldif LDIF (LDAP Interchange Format), được định nghĩa trong RFC 2849, là một chuẩn định dạng file text lưu trữ những thông tin cấu hình LDAP và nội dung thư mục. Thông thường một file LDIF sẽ theo khuôn dạng sau: - Mỗi một tập entry khác nhau được phân cách bởi một dòng trắng - Sự sắp đặt của tên thuộc tính là theo giá trị - Một tập các chỉ dẫn cú pháp để làm sao xử lý được thông tin File LDIF thường được sử dụng để import dữ liệu mới vào trong directory hoặc thay đổi dữ liệu đã có. Dữ liệu trong file LDIF cần phải tuân theo một quy tắc có trong schema của LDAP directory. 52
  53.  Import thông tin trong file passwd.ldif ldapmodify -a -D "cn=Manager,dc=ntt,dc=edu" -h 192.168.1.4 -p 9011 -W < /root/passwd.ldif -a: thêm các giá trị -D: binddn, bind DN (DN ràng buộc) -p: port của LDAP server -W: prompt for bind password ( lời nhắc mật khẩu ràng buộc ) nhập vào passwd: secret ( giống như trong file slapd.conf ) Hình 3.5 : Add entry vào OpenLDAP 53
  54.  Kiểm tra kết quả Import ldapsearch -h 192.168.1.4 -p 9011 -D "cn=Manager,dc=ntt,dc=edu" -w secret -b "dc=ntt,dc=edu" 'objectclass=*' -h: host LDAP server -w: bind password (for simple authentication) -b: base dn for search Hình 3.6 : Tìm kiếm entry trên LDAP server 54
  55.  Tìm kiếm các entry ldapsearch -h 192.168.1.4 -p 9011 -D "cn=Manager,dc=ntt,dc=edu" -b "dc=ntt,dc=edu" -w secret -LLL 'cn=md5' –LLL: in ra câu trả lời trong định dạng LDIF không có chú thích -b: cơ sở DN để tìm kiếm Tương tự với các entry khác. Hình 3.7 : Tìm kiếm entry có cn =md5 55
  56.  Xóa entry: sử dụng câu lệnh ldapdelete ldapdelete -h 192.168.1.4 -p 9011 -D "cn=Manager,dc=ntt,dc=edu" -b "dc=ntt,dc=edu" -w secret 'cn=sha,dc=ntt,dc=edu' Hình 3.8 : Xóa Entry cn=ssha, kiểm tra lại. 56
  57. 2.2 Cấu hình kiểm tra username/password bằng OPENLDAP Các bước cấu hình để hệ thống kiểm tra user/passwd bằng openldap (thay vì bằng file /etc/passwd) như sau: o Sử dụng những script để migrate dữ liệu từ file /etc/passwd sang openldap o Đầu tiên sử dụng script /usr/share/openldap/migrationTools/migrate_common.ph. Thay thế nội dung như sau: Hình 3.9 : Thay đổi nội dung migrate_common.ph o Tiếp theo chạy script migrate_base.pl: ./migrate_base.pl > /root/Desktop/base.ldif o Sau đó, Import các đối tượng từ base.ldif 57
  58. Hình 3.10 : Thêm base.ldif o Chuyển đổi file /etc/passwd và /etc/group thành file ldap-users.ldif với groups.ldif để Import vào ldap server: ./migrate_passwd.pl /etc/passwd > /root/Desktop/ldap-users.ldif ./migrate_passwd.pl /etc/group > /root/Desktop/groups.ldif 58
  59. Hình 3.11 : Import ldap-users.ldif Hình 3.12 : Import ldap-groups.ldif 59
  60.  Kiểm tra lại thông tin user đã được Import vào LDAP bằng Softera LDAP administrator từ Windows Softerra LDAP administrator là sản phẩm công nghiệp dẫn đầu về sản phẩm phần mềm cho các trình duyệt và quản lý các thư mục LDAP. Nó cung cấp nhiều tính năng cần thiết cho những người tham gia vào phát triển LDAP, triển khai và quản lý. Mục tiêu chính của LDAP administrator là cung cấp công cụ mạnh mẽ, tích hợp để sử dụng có khả năng làm việc với bất kỳ máy chủ LDAP nào. Kết nối: Hình 3.13a : Cấu hình công cụ LDAP admin2008.1 từ windows Hình 3.13b : Kiểm tra bằng công cụ LDAP admin2008.1 từ Windows 60
  61.  Cấu hình chứng thực bằng giao diện trên LDAP server Hình 3.14 : Cấu hình chứng thực tại server trên giao diện 61
  62. 2.3 Cấu hình LDAP client LDAP client là fedora core 4 (ip addresss : 192.168.1.40/24 ), đã cài gói authconfig phục vụ cho việc chứng thực bằng LDAP. Ta thực hiện lệnh: authconfig cấu hình chứng thực như hình 3.15 và 3.16 Chọn: o [*] Use LDAP o [*] User MD5 Passwords o [*] User Shadown Passwords o [*] Use LDAP Authentication Hình 3.15 : Cấu hình chứng thực tại client 62
  63. Thêm: o Server: 192.168.1.4:9011 o Base DN: dc=ntt,dc=edu Hình 3.16 : Cấu hình chứng thực tại client 63
  64. Tạo account trên LDAP server: Trên LDAP server tạo user liem o Useradd: liem o Passwd: 123 Sau đó migrate user liem thành file liem.ldif o grep liem /etc/passwd > /root/Destop/liem o ./migrate_passwd.pl /root/Desktop/liem > /root/Desktop/liem.ldif Hình 3.17 : liem.ldif 64
  65.  Dùng LDAP client chuyển sang account vừa tạo ra o Dùng lệnh: su – liem o Passwd: 123 Kiểm tra thư mục hiện hành của user o Dùng lệnh “echo ~” /home/liem o List để tìm xem có thư mục liêm trong /home bằng lệnh “ls /home” không có thư mục liem, đồng nghĩa trên client không có user này. Từ 2 điều trên ta nhận biết được rằng LDAP client sử dụng Account đã được chứng thực trên LDAP server Hình 3.18 : Sử dụng account liem trên LDAP server 65
  66.  Kiểm tra bằng lệnh ldapsearch để tìm kiếm trên LDAP server Hình 3.19 : Tìm kiếm trên LDAP server  Thử lại bằng công cụ PuTTY terminal máy LDAP client Hình 3. 20: Đăng nhập với account liem từ LDAP client bằng Putty 66
  67. Chương V: DỊCH VỤ SAMBA DOMAIN CHỨNG THỰC BẰNG GIAO THỨC LDAP Hình 4.1: Mô hình Samba – LDAP server 1. Giới thiệu dịch vụ Samba Ngày nay nhu cầu chia sẻ tài nguyên trên mạng là không thể thiếu. Linux với Windows sử dụng giao thức Server Message Block (SMB), hay còn gọi là Session Message Block để giao tiếp và chia sẻ tài nguyên, máy in với nhau. Samba là giải pháp cho các ứng dụng Unix khi làm việc với các giao thức SMB (Server Message Block). Rất nhiều hệ thống, bao gồm Windows và OS/2 sử dụng SMB để thực hiện quá trình trao đổi thông tin giứa clien-server trong mạng. Dưới sự đảm bảo của giao thức trên, Samba cho phép Server Unix thực hiện kết nối đến các sản phẩm của Microsoft Windows cũng bằng giao thức smb. Sử dụng công cụ Samba trên Linux có thể chia sẻ tài nguyên của Linux cho Windows. Bốn điều cơ bản Samba có thể làm: - Chia sẻ tài nguyên Linux cho Windows - Chia sẻ SMB với máy Linux - Chia sẻ máy in trên Linux cho Windows - Chia sẻ máy in trên Windows cho Linux 67
  68. Trên Linux chúng ta dùng SAMBA như một Domain Controller (Primary hoặc Backup) để chứng thực user dùng các dịch vụ, các nguồn tài nguyên trên domain đó. Có thể vào website www.samba.org theo hướng dẫn của trang web để tải về sử dụng. Hay sử dụng gói RPM samba trong đĩa cài đặt Kiểm tra cài đặt sử dụng lệnh: rpm –qa | grep samba Từ Version 2.0 trở đi Samba kèm theo tện ích Swat ( công cụ quản trị Samba qua giao diện Web), công cụ này cho phép cấu hình Samba một cách dễ dàng. Swat cho phép bạn dùng trình duyệt web thay đổi trực tiếp lên tập tin cấu hình chính của Samba /etc/smb.conf 2. Cấu hình Samba Domain chứng thực bằng giao thức LDAP Để cấu hình Samba Domain, ta thực hiện các bước sau: Bước 1: Cấu hình /etc/samba/smb.conf Hình 4.2: Cấu hình samba chứng thực bằng LDAP Server 68
  69. [Global] là phần đầu tiên của smb.conf, mỗi phần trong smb.conf gồm lựa chọn và giá trị định dạng: option = values .Bạn có hàng trăm lựa chọn và giá trị định dạng khác nhau. o Workgroup = ntt.edu //tên của workgroup xuất hiện trong network properties trên máy windows o Server string = Samba Server //tên của Samba server o Security = user //mức độ quyền trên Server, các mức độ khác: User, Default, Domain, Server. Sử dụng Share sẽ dễ dàng tạo chia sẻ cho anonymous, không cần chứng thực. o Passdb backend = ldapsam: ldap : //192.168.1.4:9011 //chứng thực bằng LDAP server o max log size = 50 //dung lượng tối đa của tập tin log tính bằng KB o ldap admin dn = cn=Manager,dc=ntt,dc=edu //người quản lý miền tạo ra o ldap group suffix = ou = Groups o ldap idmap suffix = ou = Users o ldap machine suffix = ou = Computers o ldap passwd sync = yes o ldap suffix = dc= ntt, dc= edu 69
  70. Hình 4.3: Cấu hình thư mục chia sẻ Cấu hình chia sẻ thư mục [Homes] o comment = Home Directories o read only = No //là không cho phép client thay đổi nội dung. [netlogon] o comment = Network Logon Service o path = /home/samba/netlogon //là đường dẫn đến folder cần được chia sẻ trên server. Nên thiết lập đường dẫn tuyệt đối cho folder chia sẻ o writable = no o share modes = no [Profiles] o path = /home/samba/profiles o browseable = no //không hiện thư mục này trong trình duyệt mạng 70
  71. Sau đó lưu cấu hình smb.conf Bước 2: Tạo thư mục netlogon và profiles cho Samba: o mkdir -m 0775 /home/samba /home/samba/netlogon o chown root.admins /home/samba/netlogon o mkdir /home/samba/profiles o chown 1757 /home/samba/profiles Phải tạo những thư mục trên vì lý do an toàn thông tin cho file có quyền truy nhập domain trên linux. Bước 3: Vào trong thư mục /usr/share/doc/samba-3.0.14a/LDAP/smbldap-tools- 0.8.7/ Copy các công cụ vào /usr/sbin/ bằng lệnh: cp /usr/share/doc/samba-3.0.14a/LDAP/smbldap-tools-0.8.7/smbldap-* /usr/local/sbin/ Thêm quyền thực thi: chmod +x /usr/local/sbin/smbldap* Bước 4: copy file smbldap.conf và smbldap_bind.conf cp /usr/share/doc/samba-3.0.14a/LDAP/smbldap-tools-0.8.7/smbldap_* /etc/opt/IDEALX/smbldap-tools/ 71
  72. Hình 4.4: Công cụ samba Hình 4.5: Thêm schema chứa các thuộc tính của samba 72
  73. Bước 6: Đặt password cho administrator Hình 4.6: Đặt password cho admin quản trị samba domain Hình 4.7: Tạo password samba cho super user 73
  74. Bước 7: Sau đó chúng ta bắt đầu build LDAP directory Hình 4.8: Thêm các entry vào LDAP server Bước 8: Cấu hình Samba chứng thực bằng LDAP server Hình 4.9: Cấu hình smbldap.conf 74
  75. Bước 8: Cấu hình file smb_bind.conf Hình 4.10: smbldap_bind.conf Bước 9: Tạo group cho các máy Client trong domain bằng lệnh: groupadd -g 200 admin groupadd -g 201 machine Bước 10: Thêm tên máy client muốn vào domain bằng lệnh: useradd -g machine -d /dev/null -c thanhliem -s /bin/false thanhliem$ - Mỗi máy tính muốn truy nhập vào domain phải cần một account được ủy quyền. account này do máy PDC (primary domain controler) tạo, nằm trên máy PDC. Có thể vào file /etc/passwd để kiểm tra xem tên máy đã được add thêm chưa. - Sau tên máy phải có kí tự $ để phân biệt với các user thông thường khác 75
  76. Hình 4.11: Kiểm tra tên máy liem$ Bước 11: Tạo password samba cho máy liem$: smbpasswd -a -m thanhliem$ //đặt password trong Samba, cần phân biệt với password của Linux passwd -l thanhliem$ // Tạo password chứng thực cho máy tính Bước 12: Khởi động lại dịch vụ samba: service smb restart Bước 13: Cấu hình chứng thực LDAP server o Setup authentication o Chọn LDAP Next chọn các suffix là ntt.edu Thực hiện như hình 4.12, 4.13, 4.14 76
  77. Hình 4.12: Authentication Hình 4.13: Chọn chứng thực bằng giao thức LDAP 77
  78. Hình 4.14: Server 192.168.1.4 và suffix ntt.edu Bước 14: Cấu hình DNS server để phân giải tên miền Hình 4.15: Cấu hình named.conf 78
  79. Hình 4.16: Cấu hình ntt.edu.zone Hình 4.17: Cấu hình 192.168.1.zone phân giải ngược 79
  80. Start dịch vụ named: Service named start Bước 15: Cấu hình máy client Windows XP tham gia vào Domain Kiểm tra kết nối với LDAP server, phân giải tên miền Hình 4.18: Kiểm tra kết nối với ldap server  Để tham gia vào Domain • Right-click My Computer Properties thực hiện như hình 4.19 • Check vào Domain, thêm tên miền ntt.edu tiếp đó click OK • Thêm User name: root, password: secret (giống như password Samba Domain) 80
  81. Hình 4.19: Đăng nhập vào domain ntt.edu Hình 4.20: Đăng nhập thành công 81
  82. Hình 4.21: Restart máy tính để gia nhập domain Sau khi khởi động, ta đăng nhập bằng tài khoản liem được tạo ra trên LDAP server Hình 4.22: Đăng nhập bằng user liem 82
  83. Hình 4.23: Đăng nhập thành công Kết luận: Từ các bước thực hiện trên, ta nhận thấy dịch vụ Samba cho phép server Linux thực hiện kết nối đến sản phẩm Windows của Microsoft. Qua đó, cho phép máy client Windows có thể truy cập bằng user do LDAP server quản lý. Đây là một hiện thực của việc sử dụng giao thức LDAP dùng để quản lý tập trung các tài khoản người dùng trong mạng. 83
  84. Chương VI: HỆ THỐNG MAIL CHỨNG THỰC BẰNG GIAO THỨC LDAP Hình 5.1: Mô hình Mail server – Ldap server 1. Giới thiệu Mail server MDaemon Hiện nay trên thị trường có rất nhiều phần mềm cho phép cài đặt và quản trị hệ thông thư điện tử và nói chung chúng đều có tính năng cơ bản là tương tự như nhau. Ở đây xin giới thiệu phần mềm quản trị thư điện tử MDaemon. MDaemon là phần mền quản lý thư điện tử chạy trên window và được thiết kế có thể sử dụng đến hàng nghìn account. MDaemon rất đơn giản và dễ cấu hình, đồng thời là một phần mền có giá thành rất hợp lý như lại có rất nhiều đặc tính cho phép dễ quản lý hơn các hệ thống thư điện tử khác trên thị trường. MDaemon được thiết kế trên ý tưởng sử dụng cả kết nối dial-up (khi địa chỉ ip tĩnh có không thể cung cấp) và các kết nối trực tiếp. Một số đặc điểm : • MDaemon là một phần mềm có giao diện thân thiện với người dung. • Chạy trên các hệ điều hành của Microsoft. • Có khả năng quản lý hàng trăm tên miền và hàng nghìn người dùng (phụ thuộc vào nhiều yếu tố như dung lượng đường truyền, phần cứng của server). • Có cung cấp nhiều công cụ hữu ích cho việc quản trị hệ thống cũng như đảm bảo an toàn cho hệ thống thư điện tử như : 84
  85. o Contant filter : Cho phép chống Spam và không cho phép gửi và nhận thư đến hoặc từ một địa chỉ xác định o MDaemon Virus Scan : Quét các thư đi qua để tìm và diệt virus email o LDAP : MDaemon có hỗ trợ sử dụng thủ tục LDAP cho phép các máy chủ sử dụng chung cơ sở dữ liệu account o Domain Gateway: Hỗ trợ cho phép quản lý thư như một gateway sau đó chuyển về cho các tên miền tương ứng o Mailing list: Tạo các nhóm người dùng o Public/Shared folder: Tạo thư mục cho phép mọi người được quyền sử dụng chung dữ liệu ở trong thư mục o DomainPOP: Sử dụng POP để lấy thư o WorldClient: Cho phép người dùng có thể quản lý hộp thư của mình sử dụng web brower o MDconf và WebAdmin : Cho phép quản trị hệ thống thư điện tử từ xa và webadmin cho phép quản trị trên web brower . . . 2. Cấu hình LDAP trên MDaemon MDaemon có cung cấp khả năng dùng thủ tục LDAP (Lightweight Directory Access Protocol) để lưu trữ và truy vấn cơ sử dữ liệu về người sử dụng. Vào "Setup¡LDaemon/Address book options" để thiết lập thông số cho LDAP MDaemon Server để lưu giữ cập nhập account sử dụng bằng cách kết nối với LDaemon mỗi khi MDaemon thêm hay bớt account. Ta có thể sử dụng LDAP để lưu trữ cơ sở dữ liệu người dùng của MDaemon hơn là lưu trữ tại file USERLIST.DAT của hệ thống. Vì sử dụng LDAP ta có thể cho phép dữ liệu sử dụng chung với các Server khác tại các địa điểm khác nhau. 85
  86. 2.1 LDaemon Phần điều khiển LDAP Server sẽ không có nếu như LDaemon chưa được cài đặt. LDaemon được download free tại Hình 5.2: Cài đặt và cấu hình cơ bản LDaemon Với: • Root user name: editevil \\ tên user quản trị ( cn=editevil ) • Password: secret \\ mật khẩu quản trị • Root email: editevil@ntt.edu • Select your country: VN \\ quốc gia ( c=VN ) • Company or organization name: Home \\ tên tổ chức ( o=Home ) 86
  87. Hình 5.3: Start LDaemon trên “port 9011” LDaemon LDAP Server Properties • Start & Stop LDaemon when MDaemon start & stops: Lựa chọn khi MDaemon khởi động và dừng khi dừng. • LDaemon command line (optional): câu lệnh điều khiển cho LDaemon • Edit LDaemon configuration file: sửa chữa câu lệnh cho LDaemon • Stop & Resart LDaemon: thay đổi cho LDaemon dừng và bắt đầu lại LDAP Server kích hoạt sự thay đổi. • LDaemon Logging/Debugging Options: Để thay đổi lại chế độ ghi log file và tìm lỗi. 87
  88. LDAP Options Hình 5.4: Cấu hình LDAP Options sử dụng LDaemon • Store account data in an LDAP accessible store (PRO version only): Lựa chọn nếu muốn MDaemon sử LDAP server để lưu cơ sở dữ liệu về người dùng của MDaemon. • User LDAP server for address book and remote verification: Nếu sử dụng ODBC hoặc mặc định là file USERLIST.DAT để chứa dữ liệu về account như bạn vẫn có thể cho phép LDAP Server cập nhập thống tin về người dùng, địa chỉ email bằng cách lựa chọn mục này và lúc này LDAP Server vẫn chạy và cho phép email client truy vấn dữ liệu dữ liệu tại USERLIST.DAT hoặc ODBC. 88
  89. LDAP Server Properties • Host name or IP: host name IP của LDAP server • RDN filter: Điều khiển này cho phép tạo ra RDN ( relative distinguished name ) là tên để phân biệt các người dùng trong LDAP, RDN phải là duy nhất cho mỗi người dùng và để tránh sự xung đột. Sử dụng macro $EMAIL$ như giá trị trong điều khiển này và nó sẽ được điền là địa chỉ email của người dùng. • Bind DN: DN để gán quyền truy nhập truy nhập vào LDAP Server. • Bind Password: Password đi kèm với BindDN để chứng thực • Port: Cổng mà LDAP truy vấn lấy thông tin • Base entry DN (database): Base entry (root DN) sẽ được tất cả MDaemon user entry khi sử dụng LDAP Server. Base entry DN kết hợp với RDN để phân biệt các người dung . • Base entry DN (address book): Sẽ tạo một bản về thông tin của account vào dữ liệu LDAP. Điền vào đây base entry (root DN) mà sẽ được sử dụng trong tất cả MDaemon user address book. Base entry DN kết hợp với RDN để phân biệt các người dùng. • Object class (database): Xác định object class điều khiển dữ liệu người dùng của Ldap MDaemon • Object class (address book): Xác định object class điều khiển dữ liệu của LDAP address book • Base entry DN (remote verification): Một vấn đề với domain gateways và backup servers là nó không thực sự có giải pháp để xác định chấp nhận hay không thư gửi đến là đúng. Ví dụ : nếu thư đến backup server có tên là example.com cho frank@example.com thì backup server không có cách nào để thực sự biết có hay không có mailbox, alias hoặc maillist tại example.com có người dùng là "frank" hay không ?. Do đó backup server sẽ không có lựa chọn nào ngoài chấp nhận tất cả thư. Từ MDaemon version 89
  90. 6.8 có một giải pháp để xác định địa chỉ đó và giải quyết vấn đề bằng cách điền Base entry DN. Nó sẽ sử dụng cho tất cả mailbox, aliases và maillist sẽ được LDAP server giữ thông tin và backup server sẽ đơn giản là truy vấn LDAP server mỗi thư đến và xác định địa chỉ gửi đến có đúng không, nếu không đúng thì thư sẽ đơn giản là bị từ chối. • Configure: Bấm vào nút này để mở LDAP.DAT file dưới dạng text để thay đổi các thuộc tính của của các trường của MDaemon account  Kiểm tra hoạt động của LDaemon: Để kiểm tra LDaemon có hoạt động, ta vào Accout Manager tạo thêm 2 account test1 và test2. Thông thường các account được tạo ra sẽ được lưu trên file UserList.DAT. Hình 5.5: Tạo user để kiểm tra 90
  91. Hình 5.6: Kiểm tra UserList.DAT Ở đây ta thấy trong file UserList.DAT không chứa các account vừa tạo ra. Các account test1 và test2 sẽ được lưu trên ldap server của LDaemon. Để kiểm chứng điều đó, ta sử dụng phần mềm softera LDAP administrator kết nối đến LDAP server, kết quả sẽ cho ta biết được câu trả lời chính xác. 91
  92. Hình 5.7: Kiểm tra bằng softerra LDAP Administrator Vậy, qua hình 5.7 trên ta thấy được các account vừa tạo ra đã được lưu trữ trên LDaemon LDAP server. Điều đó cho phép nhiều máy chủ có thể sử dụng chung tài nguyên trên ldap server. Tương tự LDaemon, ta thực hiện trên Openldap server. 92
  93. 2.2 Mail server MDaemon và OpenLDAP Server Trước tiên, chúng ta tạo thêm trên Openldap server ou= addressbook và ou= accounting để làm lưu trữ addressbook cho MDaemon server. Bổ sung bằng câu lệnh ldap ldapmodify. Hình 5.8: Tạo ou=addressbook, ou=accounting 93
  94. Tiếp theo thêm schema mdaemon vào ldap server. Hình 5.9: Thêm schema mdaemon vào slapd.conf Sau đó cấu hình kết nối đến Openldap server Hình 5.10: Cấu hình kết nối đến OpenLdap server 94
  95. Kiểm tra lại bằng việc tạo 2 account user123 và user234. Kiểm tra trong file UserList.DAT, không lưu 2 account vừa tạo trên, đồng nghĩa với việc các account đó đã được lưu trên Openldap server. Hình 5.11: Tạo tài khoản để kiểm tra 95
  96. Hình 5.12: Kiểm tra file UserList.DAT Hình 5.13: Kiểm tra bằng softerra LDAP administrator 96
  97. Hình 5.14: Sử dụng Web client đăng nhập bằng user123 Hình 5.15: Vào trong mail của user123 97
  98. 3. Cấu hình Outlook Express sử dụng giao thức LDAP Outlook Express là bộ phần mềm không thể thiếu trong bộ phần mềm Offlce của Microsoft. Khi cài đặt Window9x, WindowsME, WindowsME hay cài đặt MS Office thì mặc nhiên bộ phần mềm này cũng được cài đặt theo. Tùy theo mỗi phiên bản Windows hay MS Offlce khác nhau mà bộ phần mềm Outlook Express này cũng có những phiên bản khác nhau. Các đặc tính của Outlook Express: - HTML E-mail: Outlook Express cho phép nhận và gửi thư điẻn tử bao gồm cả HTML code, có thể gửi một trang Web trực tiếp từ màn hình của bạn. Thư có thể trang trí hình nền, hình ảnh, âm thanh, - Automatic Address Seach: Outlook Express tích hợp tiện ích tìm kiếm các địa chỉ E-mail trên Internet. - Universal Address Book: Danh bạ E-mail tổng quát - Automatic Address Seaching: Cho phép tìm kiếm các địa chỉ đặc biệt trên Internet Cấu hình Outlook Express sử dụng giao thức LDAP: • Vào Menu Tools Accounts • Sau đó, chọn Add Directory service. Công việc tiếp đó là chúng ta cấu hình kết nối đến LDAP server. 98
  99. Hình 5.16: Cấu hình Outlook Express kết nối đến ldap server Hình 5.17: Cấu hình Outlook Express 99
  100. Hình 5.18: Tìm kiếm Account trên LDAP Server 100
  101. Hình 5.19: Thêm account vào address book Kết luận: Thông qua các bước thực hiện trên, ta chứng minh được rằng giao thức LDAP không chỉ sử dụng đề quản lý tập trung các tài khoản người dùng, mà giao thức này còn được dùng để lưu trữ tài nguyên trên mạng (addressbook). 101
  102. Chương VII: MÔ HÌNH ỨNG DỤNG GIAO THỨC LDAP Từ những mô hình trên, chúng ta áp dụng vào thực tiễn là thiết lập một mô hình nhỏ ứng dụng giao thức LDAP để chứng thực người dùng và lưu trữ tài nguyên trên mạng. Hình : Mô hình nhỏ Máy Openldap server Ip address: 192.168.1.4/24 Dịch vụ: Openldap Server, Samba Server, DNS Server Máy Mail server Ip address: 192.168.1.111/24 Dịch vụ: Mail Server Máy Windows XP Ip address: 192.168.1.222/24 1. Sơ lược mô hình Mạng nhỏ gồm 3 máy tính: • Openldap server: Dùng để phục vụ cho việc lưu trữ, chứng thực và quản lý tập trung các tài khoản, tài nguyên người sử dụng thông qua giao thức LDAP trên Berkeley DB. 102
  103. Kết hợp dịch vụ Samba Domain để chia sẻ dữ liệu trong mạng. DNS server làm nhiệm vụ phân giải tên miền. • Mail server: Mail server MDaemon quản trị hệ thống thư điện tử. Lưu trữ tài khoản người dùng và tài nguyên trên LDAP server. • Windows XP: Máy client, sử dụng các dịch vụ trong mạng. 2. Cơ chế quản lý mạng tập trung theo mô hình Một cơ chế trong quản lý mạng là ứng dụng mô hình mạng kết hợp giao thức lưu trữ và truy nhập thư mục LDAP, để tập trung thông tin mạng quản lý trong một cơ sở dữ liệu Berkeley DB duy nhất nhưng được khai thác sử dụng trên toàn mạng. Openldap server đảm nhiệm việc quản lý các tài khoản, tài nguyên thông qua giao thức LDAP. Ứng dụng dịch vụ Samba Domain cho phép các máy client có thể tham gia vào miền quản lý, để thông qua giao thức LDAP có thể liên lạc với máy LDAP server, đồng thời giao thức LDAP cũng dùng liên lạc giữa các ứng dụng client và server. Thực hiện lưu trữ, chứng thực và quản lý tập trung các tài khoản, tài nguyên người sử dụng trên Berkeley DB. Mail server MDaemon quản trị hệ thống thư điện tử, cung cấp nhiều công cụ hữu ích cho việc quản trị hệ thống cũng như đảm bảo an toàn cho hệ thống thư điện tử. Trong đó có sử dụng thủ tục LDAP cho phép các máy chủ sử dụng chung tài khoản, cơ sở dữ liệu. 3. Vài nhận xét Dịch vụ Openldap server đóng vai trò quan trọng trong mạng qua việc quản lý tập trung các thông tin dùng chung về người dùng và tài nguyên trên mạng. Các ứng dụng có thể chia sẻ dùng chung không gian lưu trữ. Điều này giúp cho các ứng dụng cài đặt qua mạng dễ dàng và phù hợp hơn. 103
  104. Bằng cách tập trung thông tin tại một điểm, Openldap server giúp tránh việc lưu trữ thông tin người dùng, tài nguyên phân tán nhiều nơi, khó khăn cho người quản trị quản lý, bảo dưỡng và kiểm soát mạng một cách dễ dàng. 4. Cách hiện thực (Cấu hình tham khảo chương III, IV, V) Trên máy Openldap server: • Sử dụng hệ điều hành Linux Fedora core 4 • Cài đặt dịch vụ Openldap, cơ sở dữ liệu là Berkeley DB. • Cài đặt dịch vụ Samba Domain, phục vụ cho việc chia sẻ dữ liệu cho hệ thống mạng. Cấu hình dịch vụ DNS server phân giải tên miền, miền quản lý là ntt.edu. Trên máy Mail server: • Sử dụng hệ điều hành Windows XP • Tham gia vào miền ntt.edu của samba domain • Cài đặt dịch vụ mail server MDaemon, chứng thực người dùng thông qua Openldap server. Cấu hình MDaemon sử dụng giao thức LDAP cho phép lưu trữ các tài khoản, tài nguyên trên OpenLDAP server. Trên máy Windows XP • Tham gia vào miền ntt.edu của dịch vụ Samba domain. • Sử dụng Outlook Express kết nối với Openldap server để lấy danh sách address book địa chỉ mail. • Kiểm tra lại kết quả bằng việc gửi nhận thư giữa các tài khoản trong address book 104
  105. Chương VIII: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 1. Kết quả đạt được Sau thời gian làm luận án tốt nghiệp, chúng em đã được học hỏi thêm được rất nhiều kiến thức về mạng máy tính, hệ điều hành Linux, và đặc biệt là về giao thức LDAP, các ứng dụng của giao thức này vào thực tế. Đây sẽ là nên tảng giúp ích cho công việc của chúng em sau này. Em xin cám ơn thầy cô khoa Công Nghệ Thông Tin và đặc biệt là thầy Cái Phúc Thiên Khoa đã tận tâm giúp đỡ trong thời gian làm luận án này. 1.1 Việc làm được: • Tìm hiểu và ứng dụng LDAP. • Cài đặt OpenLDAP server phục vụ cho việc quản lý tập trung tài khoản người dùng và tài nguyên trên mạng. • Kết hợp OpenLDAP với dịch vụ Samba Domain • Dùng OpenLDAP lưu danh bạ cho Mail server MDaemon 1.2 Việc chưa làm được: • Tìm hiểu cách sử dung OpenLDAP để quản lý, thiết lập các chính sách phục vụ cho việc bảo mật. • Xây dựng LDAP server backup, phòng trường hợp LDAP server gặp sự cố. 2. Hướng phát triển: Trong thời gian sắp tới, chúng em sẽ cố gắng khắc phục những hạn chế: • Xây dựng một OpenLDAP server để Backup dữ lệu, phòng khi Server gặp sự cố. • Kết hợp OpenLDAP với các dịch vụ khác. 105
  106. Phụ lục: Acroynms • LDAP: Lightweight Directory Access Protocol • RFC: Request for Comments - Đề nghị duyệt thảo và bình luận • XML: eXtensible Markup Language - Ngôn ngữ Đánh dấu Mở rộng • RDBMS: Relational database management system • DN: Distinguish Name ( Tên phân biệt ) • RDN: Relative Distinuished Name • DIT: Directory Information Tree ( Thông tin cây thư mục ) • LDIF: LDAP Data Interchange Format ( Định dạng dữ liệu giao LDAP ) • OID: Object Identifier ( Đối tượng Nhận Biết ) • Uid: User id • Cn: Common Name (Tên Phổ biến) • Sn: Surname (Họ ) • ou: Organisational Unit (Đơn vị tổ chức) • o: Organisation (Tổ chức ) • dc: Domain Component (phần tên miền) • st: State • c: Country (Đất nước) 106
  107. Tài liệu tham khảo 1. Book mark: A Comparison of Oracle Berkeley DB and Relational Database Management Systems - An Oracle Technical White Paper March 2009 2. Book mark: LDaemon_en của Alt-N Technologies 3. Ebook: Thiết lập quản trị thư điện tử - Trung tâm điện toán truyền số liệu KV1 (ICT) 4. SAMBA DOMAIN CONTROLLER WITH OPEN LDAP BACKEND ON CENTOS - Trần Hữu Nhân - nhanth87@gmail.com - MaIT Research Team 5. Bài Lab OPENLDAP – Trung tâm Nhất Nghệ 6. Thiết lập hệ thống mạng Ubuntu – Quangtrimang.com 7. Outlook_Express_LDAP - Medicare Australia WEBSITE 1. 2. 3. 4. 5. 6. 7. ubuntu7.10 8. 107