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 9. Có những lỗi của SharePoint rất hiểm mà chỉ có IIS và ASPX.Net mới hiểu được ?


Một trong những lỗi mà dân lập trình, triển khai và quản trị MS SharePoint khó phát hiện ra cách sửa lỗi nhất đó là:

“Khi tạo ra 1 Portal site trên chính máy chủ SharePoint Farm, cài, cấu hình và khởi tạo đầy đủ các template site. Đăng nhập lại trang portal đó bằng chính account system admin của AD

đều bó tay không thể mở được, cho dù nhập rất đúng mật khẩu và kiểu account sAMAccountName hay UPN hay kiểu Email domain…” mọi thứ khác đều chạy ổn, riêng vấn đề này không ổn”.

SPS2010_not_access

Tại sao vậy ?

Nguyên nhân:

Khi bạn sử dụng tên miền đầy đủ (FQDN) hoặc một tiêu đề tùy chỉnh /IP để truy cập một trang web localhost được lưu trữ trên một máy tính đang chạy Microsoft Internet Information Services (IIS) 5.x, 6.x, 7.x, 8.x hoặc một phiên bản sau này, bạn có thể nhận được một thông báo lỗi tương tự như sau:

HTTP 401.1 – Unauthorized: Logon Failed

Vấn đề này xảy ra khi các trang web đó có sử dụng tích hợp xác thực “Integrate Windows Authentication” và có một cái tên được ánh xạ đến địa chỉ loopback localhost.

Chú ý: Bạn chỉ nhận được thông báo lỗi này nếu bạn cố gắng để duyệt qua các trang web trực tiếp trên chính máy chủ host URL đó.

Nếu bạn duyệt qua các trang web từ một máy tính khác, các trang Web đó vẫn sẽ hoạt động như bình thường.

Luận thuyết về lỗi trên SharePoint Farm:

Vấn đề này xảy ra nếu bạn cài đặt Microsoft Windows Server 2003 Service Pack 1 (SP1). Windows Server 2003, Windows 2008 server/R2 và MS SharePoint bao gồm một tính năng bảo mật kiểm tra loopback được thiết kế để giúp ngăn chặn các cuộc tấn công ánh xạ ngay trên máy tính chủ dịch vụ của bạn.

Vì vậy, xác thực không thành công nếu FQDN hoặc header tùy chỉnh mà bạn sử dụng không phù hợp với tên máy tính localhost.

Cách xử lý:

Bạn hãy mở Registry của chính máy chủ windows server 2008 standard/r2 đang chạy

SPS2010_not_access1

Có hai phương pháp để xử lý vấn đề này, sử dụng một trong các phương pháp sau đây sao cho thích hợp với tình hình của bạn.

Phương pháp 1: Xác định tên host (phương pháp Preferred nếu NTLM xác thực được mong muốn):

Để xác định tên máy chủ được ánh xạ đến địa chỉ loopback và có thể kết nối đến các trang web trên máy chủ của bạn, hãy làm theo các bước sau:

1. Thiết lập DisableStrictNameChecking trong registry với giá trị  1.

2. Nhấp vào Bắt đầu, bấm Chạy, loại regedit, và sau đó nhấn OK.

3. Trong Registry Editor, xác định vị trí và sau đó nhấp vào khóa registry sau đây:  HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0

4. Kích chuột phải vào MSV1_0, chọn New, và sau đó nhấp vào Multi-String Value.

5. Gõ BackConnectionHostNames, và sau đó nhấn ENTER.

6. Kích chuột phải vào BackConnectionHostNames, và sau đó nhấp vào Modify.

7. Trong value gõ tên máy chủ hoặc các tên máy chủ cho các trang web có trên máy tính localhost, và sau đó nhấn OK.

8. Thoát khỏi Registry Editor, và sau đó khởi động lại dịch vụ IISAdmin.

Phương pháp 2: Vô hiệu hoá việc kiểm tra loopback (phương pháp ít được đề nghị – nhưng phù hợp với trường hợp của Microsoft SharePoint)

Phương pháp thứ hai là để vô hiệu hóa việc kiểm tra loopback bằng cách thiết lập các khóa registry DisableLoopbackCheck.
Để thiết lập các khóa registry DisableLoopbackCheck, hãy làm theo các bước sau:

  1. Thiết lập DisableStrictNameChecking sửa trong registry để giá trị bằng 1.
  2. Nhấp vào Bắt đầu, bấm Chạy, loại regedit, và sau đó nhấn OK.
  3. Trong Registry Editor, xác định vị trí và sau đó nhấp vào khóa registry sau đây:  HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  4. Kích chuột phải vào Lsa, chọn New, sau đó bấm Value DWORD.
  5. Gõ DisableLoopbackCheck, và sau đó nhấn ENTER.
  6. Kích chuột phải vào DisableLoopbackCheck, và sau đó nhấp vào Modify.
  7. Trong phần Data value nhập giá trị bằng 1, và sau đó nhấn OK.
  8. Thoát khỏi Registry Editor, và sau đó khởi động lại máy chủ của bạn.
  9. SPS2010_not_access2

Thực tế, mình sửa tới đây rồi và lưu lại register đợi sau 5 phút thì mở lại trang Portal site của Microsoft SharePoint thì đăng nhập được luôn (không khởi động lại máy chủ SharePoint).

P.S: Các bạn hãy đến học chương trình MS SharePoint tại ROBUSTA để có những kinh nghiệm thực tế, vững vàng trong công tác phát triển thông tin thông tấn tại Doanh nghiệp bạn.

Chúc các bạn yêu MS SharePoint yêu luôn cả lỗi bực mình này nhé !

Phần 8. Cấu hình Search SharePoint 2010 trên 3 Tier SharePoint Farm


Trên các công cụ Search áp dụng cho công nghệ SharePoint của Microsoft thường có 5 công nghệ Search sau:

 

1. Microsoft SharePoint Foundation 2010 Search

image

Tham khảo:

How to Scale Out a SharePoint 2010 Farm From Two-Tier to Three-Tier By Adding A Dedicated Application Server:

http://sharepointsolutions.com/sharepoint-help/blog/2011/02/how-to-scale-out-a-sharepoint-2010-farm-from-two-tier-to-three-tier-by-adding-a-dedicated-application-server/ 

 

2. Microsoft Search Server Express

image

3. Miccrosoft Search Server 2010

image

4. Microsoft SharePoint Server 2010

image

5. FAST Search Server 2010 for SharePoint

image

 

Trong đó công nghệ search default chúng ta hay dùng nhất là cấu hình search 4. SharePoint Server 2010

 

Các bước cài đặt và cấu hình SharePoint Enterprise Search xin hãy tham khảo link sau:

Create and configure a new Search service application (SharePoint Server 2010).

Cách tạo cấu hình 1 “SSA” Search service application trên Microsoft SharePoint Server 2010:

 

Video hướng dẫn cách cấu hình Search 4. SharePoint Server 2010:

http://hub.video.msn.com/embed/f136e2b0-4c6f-4003-bb36-b1028d6e5fee/?vars=Y29uZmlnQ3NpZD1NU05WaWRlbyZzeW5kaWNhdGlvbj10YWcmbGlua2JhY2s9aHR0cCUzQSUyRiUyRnd3dy5iaW5nLmNvbSUyRnZpZGVvcyZsaW5rb3ZlcnJpZGUyPWh0dHAlM0ElMkYlMkZ3d3cubWljcm9zb2Z0LmNvbSUyRnJlc291cmNlcyUyRnRlY2huZXQlMkZlbi11cyUyRm9mZmljZSUyRm1lZGlhJTJGdmlkZW8lMkZ2aWRlby5odG1sJTNGY2lkJTNEZXN0YyUyNmZyb20lM0Rtc2NvbW9mZmljZSUyNlZpZGVvSUQlM0QlN0IwJTdEJmJyYW5kPXY1JTVFNTQ0eDMwNiZmcj1zaGFyZWVtYmVkLXN5bmRpY2F0aW9uJm1rdD1lbi11cyZjb25maWdOYW1lPXN5bmRpY2F0aW9ucGxheWVy

 

Link: https://technet.microsoft.com/en-us/library/gg502597(v=office.14).aspx

 

Tại sao chúng ta không cần SQL Cluster khi đã ảo hóa bằng VMware vSphere ?

 Hệ thống được vận hành trên vSphere:

Thực tế việc triển khai SharePoint Farm trên nền ảo hóa của VMware vSphere nhằm đảm bảo:

1. Tính năng Physical High Available (HA) và có cân bằng tải nguồn tài nguyên các máy ảo (CPU, Memory, Datastorage – DRS).

2. vMotion – HA để đảm bảo di chuyển tự động và không gây gián đoạn khi gặp sự cố của các máy chủ vật lý.

3. vSphere DRSDataStorage DRS giúp tự động cân bằng tải nguồn tài nguyên và chống sự cố thiếu tài nguyên các máy chủ ảo.

4. vSphere Data Protection Replicate giúp backup/restore và đồng bộ dữ liệu giữa Site Master (là Cluster Data chính đang chạy các máy chủ SharePoint Farm) với Site Backup (là Cluster Data chuyên lưu trữ và khôi phục các máy chủ SharePoint Farm).

Vì sao không nên dùng Microsoft Cluster Fail ?

Với 4 tính năng quan trọng trên, chúng ta sẽ không cần đến mô hình Cluster Fail truyền thống của Microsoft hay các hãng khác, vì:

1. Lãng phí hệ thống tài nguyên vật lý do phải có 2 cặp máy chủ vật lý có cấu hình giống hệt nhau.

2. Cấu hình Cluster Fail phức tạp, vận hành và duy trì phức tạp, tốn kém thời gian sửa chữa, gián đoạn hệ thống vẫn có khả năng xẩy ra.

3. Cluster fail vật lý thường là chế độ Active – Standby / Active – Passive, do đó không có tính năng Load Balancing “cân bằng tải” cho các dịch vụ ứng dụng, hoặc chia tải các dịch vụ cho từng máy chủ chạy chức năng độc lập. ví dụ: SQL Server 2008 Cluster Fail 2 Notes (thực tế chỉ chạy 1 máy chủ SQL cho tất cả các chức năng: DB, Index, Crawling, Search, Query…đồng thời còn phải thêm chức năng đồng bộ dữ liệu sang máy chủ SQL note 2, khi máy chủ SQL Note 1 – máy chính báo lỗi thì máy chủ SQL note 2 mới đổi thành SQL note chính – điều này chỉ giúp không gián đoạn / mất dữ liệu cho dịch vụ).

Tham khảo: 

Optimizing SQL Server performance for Microsoft SharePoint 2010/2013

http://sharepoint-community.net/profiles/blogs/optimizing-sql-server-performance-for-microsoft-sharepoint-2010