单点登录用户手册

单点登录用户手册

作者:北京群英汇信息技术有限公司
网址:http://www.ossxp.com/
版本:3.1.1-11
日期:2011-07-06 11:44:59
版权信息:Creative Commons

目录

1   访问单点登录系统

单点登录即 Single Sign-On,多个 Web 应用仅需登录一次,是群英汇众多 Web 应用的唯一登录入口。

1.1   什么是单点登录

群英汇的单点登录系统源自于开源项目 CoSign ,具有下列特点:

  • 在有效期内,只需登录一次,降低频繁认证的复杂并减少口令泄漏风险。
  • 支持跨域认证,有效的整合不同的 WEB 应用。
  • 唯一的登录入口,使用 HTTPS 协议,防止认证信息被窃取。
  • 支持多因子认证,可以为高安全级别应用提供访问授权。
  • 提供其他服务的入口。当登录成功后显示一个可定制的服务列表页。
  • 支持单点退出,即在一处退出登录,所有关联应用的登录状态自动失效。

1.2   使用单点登录系统

访问单点登录系统的两个方法:

  • 直接在浏览器中输入单点登录服务的 URL,如: https://weblogin.ossxp.com/
  • 或者先访问某个 Web 应用,在相关应用中点击登录,跳转到单点登录 URL。

以第一个方法举例:

  • 访问单点登录系统,输入正确的用户名和口令,如图1。

    images/weblogin.png

    图1:单点登录对话框

    • 用户名字段填写登录 ID,也可以用邮件名替代,如果邮件地址具有唯一性。
    • 缺省使用用户名和口令认证,也可以使用其他认证模式,如邀请码认证。
  • 登录成功,显示服务列表,如图2。

    images/loggedin.png

    图2:登录成功显示个人信息和服务列表

    • 左侧显示个人信息,并提供修改个人信息和口令的入口。
    • 左侧个人信息的最下方,提供单点登出的链接。
    • 右侧是单点登录系统整合的其他 Web 应用。

2   单点登录的证书问题

单点登录采用 HTTPS 协议,这必然会涉及到证书问题。

大部分企业引入我们的系统,是解决企业内部信息服务的整合和登录,而非对外从事网银等业务, 因此企业没有必要花费高价去购买专业机构签发的证书,可以使用群英汇免费签发的证书。

使用群英汇签发或者企业自己签发的证书有一个问题:浏览器对证书不信任, 在访问相应 Web 应用时会弹出警告对话框,让用户确认是否信任所访问的网站。这是因为:

2.1   什么是证书

我们知道 HTTP 协议在网络中是明文传输,会导致信息被监听,窃取,尤其是认证过程中, 用户名和口令的明文传输,风险最大。

而 HTTPS 协议则要安全的多。其安全性来自于两个方面。

  1. 信道加密。网络中信息的传递是加密传输的,而加密的口令是 SSL 协商过程中创建的一次性随机口令。
  2. 身份识别。服务器端的 SSL 公钥由第三方认证机构签名,声明该公钥仅限于某个域名或者某些域名使用。
    • 当连接的服务器的地址和证书中声明的地址不一致,弹出警告信息。
    • 同样,如果服务器的公钥不是权威机构签发,即使证书中域名和实际访问域名一致, 浏览器也发出警告。

证书起到的作用就是上面第2点所提到的身份识别问题,即提供防范中间人劫持。 中间人劫持,就是你请求认证的服务器被黑客通过技术手段偷换,造成您访问的服务器并非真正的服务器, 很多人在使用网银,在交易过程造成帐号泄漏,资金被盗,就是因为访问了钓鱼网站(被偷换的假的服务器)。 证书,是防止网络钓鱼的最后的屏障。

2.2   浏览器的证书警告

如前所述,大部分企业部署我们的单点登录系统,没有去单点必要购买昂贵的 HTTPS 证书。 因为大部分企业引入我们的系统,是解决企业自身信息服务的整合和登录, 而并非对外提供网银等安全服务。

但是,这么一来,在员工登录单点登录系统时,浏览器会显示关于证书的警告信息。尤其是 IE7, IE8 显示的警告信息最不友好,会让人误以为网站出现了异常!

我们先看看各色浏览器在遇到证书不可信的 HTTPS 网站时的表现:

  • IE7, IE8 访问单点登录,显示的证书警告

    images/ie7_cert_error.png
  • 对于我们信任的网站,如果想要继续浏览,就不要点击带有对号图标,因为那样直接关闭浏览器。选择“忽略证书错误,继续访问”, 就可以访问单点登录网站了。注意在标题栏有关于证书错误的提示。

    images/ie7_cert_ignore.png
  • IE6 访问单点登录,显示的证书警告的对话框,选择“是”,就可以继续浏览。

    images/ie6_cert_error.png
  • Firefox 访问单点登录,显示的证书警告。如果要浏览该网站,要点击“我已充分了解可能的风险”,按照提示操作即可访问。

    images/ff_cert_error.png

2.3   如何添加信任,避免浏览器证书警告

有一个一劳永逸的方法,就是将群英汇的根证书导入浏览器中,就可以直接对证书建立信任, 不必在每次打开浏览器访问加密网站时,一遍又一遍的处理证书警告错误。我们以 IE7 为例:

  • 浏览器输入地址 http://www.ossxp.com/ssl/ 。或者在您单点登录网站的 /ssl 目录也有我们根证书的拷贝。 点击文件 ossxp-ca.crt 。

    images/ie7_cert_install1.png
  • 打开 ossxp-ca.crt,显示该证书文件的详细信息。点击 “安装证书” 按钮。

    images/ie7_cert_install2.png
  • 在 Windows XP 导入此证书文件,直接选择默认选项,点击下一步,即可完成安装。

    安装完毕后,可以通过 IE 菜单中的“工具” --> “Internet 选项” 的内容标签页,查看证书安装位置:

    images/ie6_internet_options.png

    IE6 的 Internet 选项设置页面

    images/ie6_cert_location.png

    证书被安装到了“受信任的根证书颁发机构”。

  • 在 Windows 7 中导入证书,如果选择默认的安装选项,证书被安装到了错误的位置,需要在安装过程中人工介入:

    • 在证书存储选择界面,不要自动选择证书存储区域,如下:

      images/import_cert_manual.png
    • 点击浏览按钮,打开“选择证书存储”对话框。在该对话框中,选择“受信任的根证书颁发机构”。

      images/import_cert_storage.png
    • 点击完成开始导入证书

      images/import_cert_summary.png
    • 导入过程会显示一个警告页面,选择“是”,安装证书

      images/import_cert_alert.png
    • 证书导入完毕

  • 将群英汇根证书正确导入后,再打开单点登录网站,不再出现证书警告信息,直接打开 HTTPS 网站。

    images/ie7_cert_ok.png

    浏览器的地址栏显示证书状态正常

3   双因子认证

一些特殊的应用,要求用户通过更为严格的认证,一般采用称为“双因子认证”的认证模式。什么是双因子认证呢?

群英汇单点登录认证系统,也包含了双因子认证,为SSH动态端口打开(芝麻开门)、邮件列表管理员登录等服务提供授权验证。

以邮件列表管理员登录为例。邮件列表管理员在访问邮件列表的管理接口的时候,向单点登录系统发出 admin_list 的认证因子请求。 单点登录系统会首先检查是否通过了口令认证,然后检查该用户是否属于 mailman 管理员用户组。下面展示一下双因子认证过程。

4   邀请码登录

邀请码认证是口令认证之外的另外一种认证方式。邀请码由管理员进行设置,为特殊用户提供无须用户注册即可访问某些服务。

示例:

5   忘记口令和创建新帐号

创建新帐号,获取忘记口令是和认证相关的两个重要的功能。实际上,这两个功能并非由单点登录系统本身提供, 而是由群英汇用户管理平台提供的功能。在群英汇用户管理平台的帮助中,会具体讲述自建帐号以及获取忘记口令的方法。

在这里,我们仅仅介绍一下单点登录平台提供的获取忘记口令以及自建帐号的链接。

在单点登录的用户名、口令输入对话框下面有一个“需要创建帐号或者找回口令?”的文字链接。 点击该链接,便在页面左侧弹出自建帐号以及获取忘记口令的帮助信息。

images/lost_passwd.png

自建帐号和获取忘记口令的帮助

6   常见问题

6.1   单点登录并非全部应用都自动登录

在单点登录成功后,是否在访问其他 Web 应用时,都应该处于登录状态呢?

实际上每个应用的登录过程都有着各自不同的实现,需要注册该服务所独占的 cookie, session 等。单点登录过程不应该也很难一次性的跨站的注册不同的服务专有 cookie。

因此即使用户通过了单点登录,其他应用也并非都已经处于登录状态。但是对于那些仍然处于非登录状态的应用,只要点击一下各自的登录链接,无须重新输入口令,自动完成登录。

  • 不允许匿名访问的应用,会自动登录

    因为这类应用不允许非登录状态的存在,在访问该应用时,自动实现 cookie 注册,页面跳转等一系列登录动作。

    在后台发生的cookie关联等动作是用户不可见的,前台发生的页面跳转则因为已经在单点登录平台中通过身份验证而使跳转很快就返回应用页面,用户很难察觉到登录过程。

  • 允许匿名访问的应用,存在未登录的状态

    有的应用因为要支持匿名访问,存在未登录的状态,即使用户实际上已经经过了单点登录的身份验证。 这时只要用户点击应用本身提供的登录链接,会实现自动登录。登录过程也如上面提到的,对于已经通过单点登录的用户,登录过程是透明的。

6.2   单点退出,应用的登录状态最多保持两分钟

单点登出,就是在单点登录系统中点击退出登录,使得登录 cookie 失效后,其他已经登录的应用自动处于退出状态,而不用一一进到各个应用中,单独点击退出登录。

在实现上,是由 Web 服务器的过滤器插件实现的,而为了保证运行效率不受影响,检查登录状态的有效性不是实时运行的,而是要间隔一段时间,这个间隔的时间缺省是两分钟。

也就是说,在单点登录平台中退出登录,其他已经处于登录状态的系统则仍可能处于已登录状态,不过最多两分钟这些应用马上会自动退出登录。

6.3   连续的认证错误,导致 443 端口被封锁一段时间

如果您忘记口令,千万不要执著的尝试口令,因为一旦口令验证失败超过一定的次数(例如每分钟口令验证失败四次),您的 IP 将会被系统屏蔽一段时间(例如10分钟)。

这么做的原因是,防止黑客的暴力口令破解,当黑客尝试口令到达阈值,自动封掉其IP,让其知难而退。

6.4   循环重定向

循环重定向,就是当您访问某个应用,点击登录的时候,发生浏览器频繁的在单点登录系统和应用系统循环重定向。单点登录系统会捕捉到这个异常,返回一个错误页面。

images/looping.png

循环重定向错误

发生单点登录循环重定向错误,有几种可能:

  • 时钟设置错误

    服务器的时钟和您本地的时钟不匹配。一般情况下,是你机器的时钟设置到了未来的某个时间,导致服务器发放的 cookie 被您的浏览器错误的当做过期 cookie 而无法被设置。如果是这样的话, 正确设置您机器的时钟就可以解决问题。

  • 访问非正规的 URL

    单点登录跨站 cookie 的实现,要求每个应用只能用唯一的域名来访问,如果使用其他的域名访问,会导致 cookie 注册失败,进而造成循环重定向。

    因此遇到循环重定向,看看其他能够正常访问该系统用户的访问地址是什么?使用正确的域名访问相关应用,可能就会解决此类循环重定向问题。

  • 服务器配置错误

    还一种可能是管理员的配置错误,导致服务本身并未和单点登录系统关联,造成登录不成功,进而浏览器频繁在服务的登录界面和单点登录系统之间频繁跳转。

    对于这一类循环重定向错误很容易定位,因为此时所有的用户都无法登录此应用,一点击登录,就都会陷入循环重定向。

6.5   Valid 地址无效

在之前的循环重定向错误中,我们提到由于访问非正规 URL,造成循环重定向。实际上管理员可以配置 Web 服务器,当用户访问非正规 URL 时,显示地址无效错误,而不是陷入地址重定向而显示一个让人手足无措的循环重定向错误。

images/validation_error.png

地址校验错误

对于此类问题的解决方法是:

  • 一般用户,访问该服务正规的 URL 地址,而不要用 IP 地址或者其他域名访问。
  • 管理员,重新配置服务器,将非正规 URL 访问自动重定向到正规的 URL,就可以避免用户遇到此类麻烦。