Phần 2. Triển khai cấu hình đăng nhập 1 lần SSO giữa Moodle và AD server ROBUSTA Distance Learning 2015


10. Cấu trúc hệ thống đăng nhập 1 lần – SSO:

1. Đăng nhập một lần (SSO – Single Sign On): Khi người dùng đăng nhập lần đầu vào một WBT, tài khoản đăng nhập đó sẽ tự động được sử dụng cho phiên làm việc của người đó trong toàn bộ hệ thống.

Hệ thống đào tạo ở đây được hiểu là tập hợp các ứng dụng khác nhau có thể được dùng thông qua giao diện Web. Cơ chế này có thể xây dựng dựa vào một điểm chứng thực trung tâm (Central Authentication Service – “CAS”), dựa vào giao thức LDAP (Lightweight Directory Access Protocol), hoặc hoặc thậm chí dựa vào cookie của trình duyệt để giữ xác thực.

image

image

 

2. Sơ đồ đăng nhập 1 lần với LMS vs LCMS:

screenshot_technologists_03 image

3. Khả năng đáp ứng đăng nhập 1 lần với các ứng dụng hiện nay:

image

image

4. Khả năng tích hợp giữa e-learning với các mô hình hệ thống dịch vụ khác:

image

Dựa trên các phân tích và thực tế triển khai, phát triển sản phẩm công nghệ đào tạo trực tuyến hiện nay, chúng ta thấy được Moodle là một trong các mô hình E-learning phát triển mạnh mẽ nhất trên thế giới.

5. Cấu trúc vận hành xác thực trong SSO:

image

Với mô hình cấu trúc xác thực SSO nói trên đã có rất nhiều các gói ứng dụng, giao thức và giải pháp xác thực, đăng nhập 1 lần khác nhau.

Nhưng tất cả đều phải tuân thủ 1 nguyên tắc cơ bản là bảo mật, quản lý và vận hành theo nguồn dữ liệu người dùng đơn giản và hiệu quả nhất.

 

6. Lý do lựa chọn giải pháp tích hợp Moodle với AD Server:

    • ROBUSTA Distance Learning 2015 đã và đang sử dụng hạ tầng quản lý người dùng trên nền Windows Active Directory (AD Server) và tích hợp các nền tảng dịch vụ Office 365 – Exchange – Lync – SharePoint Online, CRM online. Do vậy, việc lựa chọn giải pháp tích hợp đăng nhập 1 lần giữa Moodle và AD là hiển nhiên.
    • Ngoài ra, các hệ thống thực hành Labs trên Private Cloud, Hybrid Cloud, Public Cloud, VMware vSphere đều được kết nối, đồng bộ tài khoản giữa các ứng dụng đó với AD Users.
    • Đây là 1 phần quan trọng để thống nhất quản lý người dùng, đồng thời đem lại sự đơn giản hóa cho người dùng khi sử dụng hệ thống Đào tạo trực tuyến của ROBUSTA.

image

7. Các bước cấu hình đăng nhập 1 lần trên Moodle Admin:

Tham khảo link: https://docs.moodle.org/28/en/Active_Directory#Troubleshooting_AD_and_LDAP_authentication 

Tham khảo link: Tích hợp Moodle với Microsoft Office 365 thông qua AD: http://www.moodlenews.com/2013/integrate-moodle-and-microsoft-office-365-through-ad/ 

Tham khảo link:  Lỗi tích hợp xác thức trên nền IIS http://support.microsoft.com/kb/896861 

Tham khảo link: cấu hình SMTP relay gửi thư qua Office 365 trên windows server 2008 http://www.configureoffice365.com/configure-office-365-smtp-relay/ 

Tham khảo link: cấu hình phân quyền và chức năng sử dụng trong Moodle: https://docs.moodle.org/28/en/Standard_roles 

Tham khảo link: cách xóa quyền truy cập của Guest / Anonymous: https://moodle.org/mod/forum/discuss.php?d=65614

 

8. Chi tiết các bước tích hợp Moodle với AD  thông qua giao thức xác thực LDAP Authentication và NTLM SSO:

Bước 1:  chuẩn bị

– Moodle 2.8 Server đang chạy trên máy chủ Windows Server 2012 đã Join domain.

– 1 máy chủ Domain Control Center “DCC” chạy trên windows server 2008 r2.

Bước 2:  kiểm tra tình trang kết nối LDAP qua cổng 389 từ máy chủ Moodle 2.8 tới máy chủ DCC.

– Bạn nên download công cụ LDP.zip để kiểm tra các công việc trên máy chủ Moodle 2.8

(tham khảo hướng dẫn dùng ldp.exe : https://technet.microsoft.com/en-us/library/cc794810%28v=ws.10%29.aspx )

– Giải nén file ldp.zip vào thư mục c:\LDAP trên máy chủ Moodle.

– Chạy file ldp.exe

image

 

– Chọn menu Connection sau đó bấm chọn Connect.

– Nhập tên máy chủ AD server bạn cần để kiểm tra tình trạng làm việc của LDAP. (nếu bạn không chắc chắn tên hoặc ip của máy chủ AD thì hãy nhập dòng lệnh sau:

nltest/dclist:yourdomain.name.com nó sẽ giúp bạn nhìn được danh sách các máy chủ Domain controllers trong hệ thống mạng LAN của bạn.) sau đó bấm OK.

– Nếu mọi thứ thực hiện đúng nó sẽ kết nối và nó sẽ hiển thị tất cả cấu hình LDAP server /phiên bản của máy chủ AD.

image

– Bấm menu ConnectionBind.

– Bây giờ chúng ta cần nhập username, password và domain (nhập tài khoản administrator username và mật khẩu, tên miền domain).

– Nếu thực hiện thành công sẽ thấy xuất hiện Authenticated as dn:’username’. (cần khởi tạo hoặc kiểm tra tài khoản này với quyền admin privileges).

– Chúng ta có thể bấm menu View sau đó chọn popbar  Tree.

– Một menu sổ xuống và bạn chọn BaseDN cho việc hiển thị thông tin trong domain của bạn.

image

– Bạn sẽ nhìn thấy phía bên trái domain của bạn, các thông tin về OU và CN trong máy chủ AD đang quản lý.

– Bước tiếp theo ta sẽ cần dùng các thông tin trong OU, CN và DC để khai báo vào máy chủ Moodle LDAP

 

Bước 3: kích hoạt Moodle LDAP

– Trước hết chúng ta cần kích hoạt LDAP plugin.

–  Đăng nhập vào Moodle bằng admin, bấm: Site administration, Plugins, Authentication và chọn Manage authentication.

– Trong danh sách các plug-in sẽ thấy kiểu xác thực có giá trị  “available authentication types” ta bấm tiếp vào hình “con mắt”  để kích hoạt “LDAP Server –> enable”.

image

Bước 4: Cấu hình Moodle LDAP:

– Bấm vào LDAP Server để truy cập trang cấu hình LDAP:

  • Host URL: ldap://ip (đây là tên FQDN hoặc IPv4 của máy chủ AD domain controller, nếu  có nhiều máy chủ DC bạn có thể nhập các địa chỉ phân cách nhau bằng dấu;  ví dụ: ldap://10.66.28.42;ldap://10.66.28.43 ).
  • Version: 3
  • Use TLS: No (bạn có thể nâng cấp dùng TLS sau)
  • LDAP encoding: ulf-8

Bind Settings

  • Hide password: yes (không cho lưu mật khẩu trong Moodle database.)
  • Distinguished Name: CN=LDAP,OU=Other,OU=Admin,OU=School Users,DC=***,DC=***,DC=****,DC=*** (có thể sao chép kết quả từ OU,CN,DC của công cụ ldp.exe).

image

  • Password: ******** (mật khẩu của account admin dùng cho Bind account)

User Lookup Settings

  • User Type: MS ActiveDirectory (đây là kiểm truy cập bằng account LDAP AD User).
  • Context: OU=school users,DC=***,DC=***,DC=***,DC=*** (nặp lại có thể sao chép kết quả từ OU,CN,DC của công cụ ldp.exe).
  • Search Subcontext: Yes (giúp tìm cấc tài khoản theo kiểu nặp lại OU nhiều cấp OU –> OU1 –> OU11).
  • User Attribute: samaccountname (các thuộc tính người dùng để tìm kiếu theo kiểu tên / email có trong cấu trúc cây LDAP user. Thông thường là kiểu domain\username hay còn gọi sAMAccountName hiếm khi có trường hợp đặc biệt kiểu UPN hoặc email address) , Nó thường dùng kiểu: cn (Novell eDirectory and MS-AD) , uid (RFC-2037, RFC-2037bis cho SAMBA 3.x LDAP extension), nhưng nếu bạn dùng MS-AD bạn cần nhớ rằng ta cần phải dùng theo chuẩn đăng nhập NTLM SSO nên thường dùng sAMAccountName (là kiểu đăng nhập The pre-Windows 2000 logon account name).

Force Change Password

  • Force Change Password: no (Chúng ta không nên cho user Moodle được phép thay mật khẩu, người dùng có thể thay từ AD server hoặc từ việc đăng nhập computer và dùng tổ hợp phím Ctrl+Alt+Del).

LDAP password expiration Settings

  • Expiration: no (Không nên giới hạn tuổi của mật khẩu ở Moodle LDAP vì sẽ rắc rối lớn nếu người dùng không đăng nhập được Moodle vì mật khẩu truy cập vào Moodle bị hết hạn sử dụng).
  • Grace Login: no (Nếu đã không đăng nhập được Moodle qua mạng thì hiển nhiên họ sẽ không vào được trang My Moodle cá nhân hoặc trang admin Moodle).

Enable User Creation

  • Create User Externally: no (Chúng ta muốn chỉ có những tài khoản thuộc AD mới truy cập được Moodle).

Course Creator

  • Creators: OU=Staff,OU=School Users,DC=***,DC=***,DC=***,DC=*** (nặp lại có thể sao chép kết quả từ OU,CN,DC của công cụ ldp.exe).

NTLM SSO (đây là cấu hình bắt buộc)

  • Enable: yes (cho phép sẽ đăng nhập tài khoản bằng Moodle single sign-on).
  • Subnet: IP/22 (đây là dải địa chỉ IP Subnet address  nhằm cho phép sử dụng truy xuất NTML SSO single sign-on, kiểm soát việc các computer có thuộc dải được phép SSO).
  • MS IE fast path: Yes, attempt NTLM other Browsers (đảm bảm mức tương thích với các phiên bản IE là tối đa).
  • Authentication Type: NTLM.
  • Remote Username Format: %domain%\%username% (default)

Data Mapping

  • First Name: givenname
  • Sure Name: sn
  • Email Address: mail

Tham khảo linK: các trường thông tin dùng trong AD  http://www.kouti.com/tables/userattributes.htm 

image

image

 

Bước 5: Lưu lại những thay đổi:

Bước 6: Cấu hình NTML trên IIS Server:

– Tìm đến file trong thư mục sau auth/ldap/ntlmsso_magic.php thông qua IIS Management Console,

Nếu dùng IIS 6.0 thì bấm phải chuột vào file và chọn properties:

    • Ở tab “file security” bấm quyền truy cập Authentication and Access control chọn nút edit.

 

  • Bỏ chọn  “Enable Anonymous Access” và bấm chọn “Integrated Windows Authentication”

Nếu dùng IIS 7.0 thì bấm phải chuột vào file và chọn properties

  • Sau mục chỉ dẫn navigating chọn thư mục ‘auth/ldap’ và bấm chuyển “switch to Content View”.
  • Bấm phải chuột trên file và chọn “Switch to Features View”.
  • Bấm vào biểu tượng Authentication icon nằm cửa sổ bên phải.
  • Chọn ‘Anonymous Authentication’ và  bấm nút ‘Disable’.
  • Chọn ‘Windows Authentication’ và bấm nút ‘Enable’.

Nếu dùng IIS 7.5  bạn sẽ cần chọn ‘Windows Authentication’ và chọn ‘Providers’. Nó sẽ hiển thị danh sách enabled providers Negotiate and NTLM. hãy chuyển đổi thứ tự để cho NTLM lên đầu danh sách.

Moodle_SSO

image

 

Bước cuối: Thử nghiệm

– Bấm chọn (Đăng nhập):

image

– Nhập domain name\username và mật khẩu của AD:

image

– Màn hình tự động đăng nhập Moodle bằng NTML:

image

– Bạn sẽ nhận được thư gửi có nội dung và link để kích hoạt tài khoản truy cập sử dụng các dịch vụ của Moodle sau khi khai báo thêm các thông tin về User Profile (đặc biệt là địa chỉ email)

image

Tham khảo: Phần 3. Triển khai cấu hình đăng nhập 1 lần SSO giữa AD server On-Premise với Microsoft Office 365 – ROBUSTA Distance Learning 2015

P.S: Rất tiếc phần 3, chỉ công bố trong chương trình đào tạo MS Office 365, Private Cloud.

Các bạn hãy đăng ký tham gia các khóa học của http://robusta.vn để được trải nghiệm, hỗ trợ và thực hành tốt hơn.

 

Chúc các bạn thành công !

 

Phần 1. Cấu hình Hệ thống đào tạo trực tuyến thế hệ mới – ROBUSTA Distance Learning 2015


1. Tổng quan:

Đào tạo từ xa (E-learning) với khả năng cung cấp bài giảng đa phương tiện và hỗ trợ việc dạy và học cho mọi người, ở mọi nơi và mọi lúc , đây là một phương pháp hữu hiệu để hỗ trợ bổ sung hoặc thậm trí thay thế một số bộ môn trong hình thức đào tạo truyền thống.

Mô hình E-learning phổ biến nhất hiện nay là phát triển các hệ thống đào tạo trực tuyến dựa trên nền web (Web-Based Training  “WBT”) cho phép quản lý một số lượng lớn người dùng thuộc 6 nhóm chính:

  1. Quản trị hệ thống mạng và dịch vụ (đảm bảo về kỹ thuật, cấu hình dịch vụ cho hoạt động ổn định của hệ thống).
  2. Quản trị hệ thống nội dung, chương trình đào tạo (Nhóm người quản lý các chức năng đào tạo, theo dõi qui mô, tiến trình, báo cáo và đánh giá chất lượng đào tạo để có thể ra các quyết sách hợp lý).
  3. Giảng viên (nhóm đối tượng khai thác chức năng của cả đào tạo “LMS” và quản lý nội dung giáo trình dạy “LCMS” để xây dựng bài giảng và quản lý việc sử dụng bài giảng).
  4. Trợ giảng, người theo dõi quản lý lớp/ khóa học.
  5. Học viên (nhóm đối tượng sử dụng đông đảo và đa dạng nhất của hệ thống. đối với một hệ WBT cho cộng đồng, học viên có thể là mọi đối tượng trong xã hội. Học viên chủ yếu khai thác trực tiếp các chức năng của phân hệ đào tạo “LMS”).
  6. Phụ huynh / người quản lý trực tiếp nhóm của học viên.

và cung cấp các hình thức tương tác giữa 6 nhóm phong phú như:

  1. Lưu sổ điểm, học bạ,điểm danh, chứng chỉ, theo dõi tình hình học tập, tiến trình ôn tập của từng cá nhân học viên.
  2. Hệ thống tương tác qua email, sms, trao đổi qua văn bản / hình ảnh / âm thanh, streaming media.
  3. Cung cấp các nguồn thư viện điện tử, media, video/audio, giáo trình tham khảo điện tử , trình chiếu powerpoint slides, adobe flash, silverlight …
  4. Hệ thống ôn tập thi chứng chỉ các chuyên ngành học dạng ngân hàng đề thi trắc nghiệm, thi mô hình simulators / hotspot, điều khiển Labs thực hành trên máy tính và mạng ảo, chấm điểm tự động.
  5. Khả năng remote hỗ trợ từ xa các máy desktop của giảng viên, học viên chuyên các bộ môn: ITIL, Helpdesk, chăm sóc khách hàng CRM …
  6. Khả năng học nhóm, họp phòng, hội thảo, triển lãm CNTT từ xa bằng tích hợp các hệ thống điện toán đám mây như: Google App, Office 365 hoặc Lync Conferencing 2010/2013, VMware Virtualization…
  7. Hệ thống thực hành trực tuyến điều khiển từ xa giúp học viên, giảng viên và quản trị hệ thống mạng xây dựng được các bài thực hành : Virtualization Data center, SharePoint, BizTalk, Virtualization System, Hybrid Cloud, Private Cloud…
  8. Tích hợp với các mạng xã hội như: facebook, linkedin, youtube, flickr, google, Microsoft Azure, Moodlenews… giúp việc ad/pr, marketing tin tức hoạt động, chương trình đào tạo của hệ thống hiệu quả cao hơn.

Moodle-social

Chính vì vậy đã có nhiều hệ thống WBT được phát triển và số người tham gia vào các hệ thống này ngày càng tăng.

 

2. Cấu trúc cơ bản của WBT:

Một hệ thống WBT hoàn chỉnh thường bao gồm hai thành phần chính:

  1. Phân hệ quản lý đào tạo (Learning Management System – LMS).
  2. Phân hệ quản lý nội dung đào tạo (Learning Content Management System-LCMS).

image

  • LMS là một hệ thống quản lý các quá trình học tập, bao gồm việc đăng ký khoá học của học viên, phân phối các nội dung học cho học viên, các hoạt động kiểm tra đánh giá, và các hoạt động tương tác trong cộng đồng người sử dụng. Một số LMS còn hỗ trợ nhà quản lý và giảng viên thực hiện giám sát tiến trình học và chất lượng học, hỗ trợ các hình thức tương tác trực tuyến và bài giảng đồng bộ.
  • LCMS là hệ thống hỗ trợ việc xây dựng nội dung học tập bao gồm việc tạo, cập nhật, tìm kiếm và sử dụng lại các module bài giảng. Bài giảng có thể được thể hiện dưới nhiều mức khác nhau từ văn bản cho đến bài giảng đa phương tiện chứa video và bài giảng dạng mô phỏng hỗ trợ tương tác. Hầu hết các hệ LCMS đều tiến tới hỗ trợ việc biểu diễn bài giảng theo các chuẩn thống nhất (ví dụ: SCORM hay XML) để dễ dàng chia sẻ và sử dụng lại.

image

 

3. Công nghệ đáp ứng nền tảng:

  1. Web Server: Apache / IIS 7.5 trở lên.
  2. Hệ quản trị CSDL: MySQL 5.x / MS SQL Server 2008 R2 trở lên.
  3. Directory: AD, LDAP / OpenLDAP.
  4. Ngôn ngữ lập trình: PHP 5.x / ASPX 2 trở lên, XML/XSL/ Notes.js
  5. Trình duyệt web: Internet Explorer 6 trở lên; Chrome; Firefox, Opera, Safari, WAP 1.x; Nescape 5.x trở lên

 

4. mô hình các thành phần của hệ thống đào tạo trực tuyến:

image

5. Cấu trúc các chức năng hệ thống:

image

6. Cấu trúc của một môn học trực tuyến:

image

 

7. Yêu cầu kỹ năng tương tác của giảng viên:

image

8. Triển khai mô hình LMS vs LCMS trong đào tạo trực tuyến:

MOOC

Lưu ý: Trong mô hình trên chúng ta sẽ vướng phải yêu cầu về đăng nhập 1 lần (SSO) sử dụng giao thức LDAP:// 389 hoặc LDAPS để trao đổi thông tin, đăng nhập xác thực 1 lần giữa WBT, web service với email, ftp, portal và LMS – LCMS của các sản phẩm công nghệ quản lý đào tạo sẵn có như: Moodle, Blackboard, SharePoint Learning gateway …

(xin xem phần 2. Triển khai cấu hình đăng nhập 1 lần giữa Moodle và AD server).

9. Triển khai mô hình hệ thống Cân bằng tải:

image

Hết phần 1.