SingleSignOn Asianux

Thông tin chung

Kiến thức cơ bản và Tài liệu

Sơ đồ triển khai SSO cho Cổng TTĐT Asianux và các ứng dụng

Sơ đồ máy chủ và ứng dụng

  • Máy chủ Portal (www.asianux.org.vn – IP: ) cài đặt Cổng TTĐT Asianux.
    • IBM HTTP Server (/opt/IBM/HTTP)
    • IBM WebSphere Application Server – WAS 6.1.0.19 (/opt/IBM/WebSphere/AppServer)
    • IBM WebSphere Portal v6.1.0.1 (/opt/IBM/WebSphere/wp_profile)
    • phpBB v3 (/opt/www/forum)
  • Máy chủ Email (mail.asianux.org.vn – IP: asianux.org.vn/10.0.0.?) cài đặt Zimbra Email Server.
    • Email Server (/opt/zimbra), mailboxd chạy trên jetty Application Server (/opt/zimbra/jetty)
    • Zimbra Internal Ldap (/opt/zimbra/openldap)
  • Máy chủ Database (IP trong 10.0.0.?) cài đặt IBM DB2 LUW v9.
  • Máy chủ LDAP và CAS (cas.asianux.org.vn,) cài đặt OpenLdap Server và CAS Server.
    • LDAP (OpenLdap, base: dc=asianux,dc=org,dc=vn)
      • Nhánh cn=groups,dc=asianux,dc=org,dc=vn chứa các group nhóm NSD
      • Nhánh cn=people,dc=asianux,dc=org,dc=vn chứa các tài khoản NSD
    • CAS Server (v3, download tại đây http://www.jasig.org/cas/download)
      • Application Server: tomcat 6
      • Thư mục cài đặt /opt/CAS

Sơ đồ triển khai CAS

  • CASifying WebSphere Portal : cài đặt một CAS Client trên WAS dựa trên cơ chế Trust Association Interceptor (TAI) interface của WebSphere.
  • CASifying Zimbra : cài đặt một CAS client trên Zimbra dựa trên cơ chế pre-authentication của Zimbra.
  • Khi các ứng dụng (portal, email) cần xác thực NSD, các CAS client tương ứng sẽ trao đổi với CAS server theo một giao thức nhất định (giao thức CAS). CAS server sẽ xác thực dựa trên cở sở dữ liệu LDAP và trả lại kết quả cho các CAS client. Các CAS client sau đó sẽ tiến hành công đoạn xác thực theo cơ chế nội tại của mỗi ứng dụng (TAI hoặc pre-authentication).
  • Khi các cơ sở dữ liệu NSD nội tại (ở đây là Zimbra Internal Ldap) thay đổi (ví dụ : thêm, xóa, thay đổi account), cần có một thao tác đồng bộ với External Ldap. Phương án đơn giản nhất là viết một đoạn script đồng bộ giữa 2 Ldap server và cho chạy theo định kỳ.

Cài đặt

Các bước cài đặt

  • Cài đặt và thiết lập LDAP server.
  • Thêm Ldap Server vào Federated Repository của WebSphere Portal với basedn dc=asianux,dc=org,dc=vn  (default Repository của WPS là file repository, base o=defaultWIMFileBasedRealm).
  • Cài đặt và cấu hình CAS server.
  • Cài đặt và cấu hình CASifying WebSphere.
  • Cài đặt và cấu hình CASifying Zimbra.
  • Cài đặt và cấu hình Single Sign Out.
  • Cấu hình thay đổi login và logout page cho Portal và Email.
  • Cài đặt plugin Change Password cho Zimbra

Thêm Ldap ngoài vào WSP Federated Repository

  • Làm theo hướng dẫn trong WebSphere Portal 6.1 Info Center, search “federated repository”.

CAS Server

  • Theo framework CAS chuẩn, để đảm bảo tính security, CAS server phải được truy cập qua tầng giao thức SSL (https://), nếu không các giao dịch giữa client và server sẽ không được chấp nhận.
  • Tuy nhiên, các server Asianux chưa có trusted certificate nên khi truy cập bằng https sẽ hiện lên thông báo (giống như thông báo khi vào mail.vietsoftware.com).
  • Vì vậy, tạm thời ban đầu CAS server sẽ được modified đi một chút để có thể chấp nhận giao thức http thông thường, các CAS client cũng vậy.

CASifying WebSphere

  • Làm theo hướng dẫn tại https://wiki.jasig.org/pages/viewpage.action?pageId=19314 lưu ý  mấy thông số sau:
    • Dùng cas-client v2
    • <WPSInstallDirectory> = /opt/IBM/WebSphere/wp_profile
    • Sửa một chút code sau đó build lại 2 file CasClientWebsphere-x.x.x.jar và casclient-2.1.1.jar
    • Interceptor Classname: octo.cas.client.websphere.CasTAI511
    • CAS_VALIDATION_URL = http://cas.asianux.org.vn/cas/serviceValidate
    • PRINCIPAL_PREFIX= uid= (lưu ý dấu bằng = ở cuối)
    • PRINCIPAL_SUFFIX = ,dc=asianux,dc=org,dc=vn (lưu ý dấu phảy , ở đầu)
    • STORE_PROXY_TICKET= false (chưa dùng cơ chế proxy ticket)

CASifying Zimbra

Single Sign Out

Thiết lập login page cho portal

Thiết lập logout page cho portal

redirect.logout=true

redirect.logout.ssl=false

redirect.logout.url=http://cas.asianux.org.vn/SingleSignOut/CasSSOut?from=portal

Thiết lập logout page cho Zimbra

ChangeExtLdapPassword

  • Cơ chế Change password listener cho phép viết các Zimbra extensions thực hiện một số thao tác trước hoặc sau khi password được đổi trong internal Zimbra LDAP server (http://bugzilla.zimbra.com/attachment.cgi?id=22251).
  • ChangeExtLdapPassword extension sử dụng cơ chế Change password listener để đổi password ở external LDAP đồng thời với thao tác đổi password bên trong Zimbra.
  • Cài đặt (xem http://blog.zimbra.com/blog/archives/2010/04/extending-zimbra-with-server-extensions.html)
    • Build ChangeExtLdapPasswordExt.jar.
    • Tạo thư mục /opt/zimbra/lib/changeExtLdapPassword và copy ChangeExtLdapPasswordExt.jar vào đó.
    • Restart Zimbra.