欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager

程序员文章站 2022-03-25 08:37:21
...

简介 IBM Lotus Quickr 是一款团队协作软件,它帮助您共享内容、与团队进行协作并提高联机工作的速度。 Quickr 安全管理解决方案可以借助 IBM Tivoli Access Manager — WebSEAL 组件用于实现反向代理,反向代理充当门户和其他 Web 应用程序的联系人的联合单

简介

IBM Lotus Quickr 是一款团队协作软件,它帮助您共享内容、与团队进行协作并提高联机工作的速度。

Quickr 安全管理解决方案可以借助 IBM Tivoli Access Manager — WebSEAL 组件用于实现反向代理,反向代理充当门户和其他 Web 应用程序的联系人的联合单一登录点。使用上述反向代理,由于身份验证逻辑存在于 Tivoli Access Manager WebSEAL 层中,可以在将来支持更复杂的身份验证机制。

IBM Tivoli Access Manager 是用于电子商务和分布式应用程序的功能强大且安全的集中策略管理解决方案。IBM Tivoli Access Manager WebSEAL 是高性能、多线程的 Web 服务器, 它将细粒度的安全策略应用到 Tivoli Access Manager 受保护的 Web 对象空间。WebSEAL 能提供单一注册解决方案,并将后端 Web 应用程序服务器资源合并到其安全策略中。


回页首

IBM Tivoli Access Manager 与 WebSEAL

IBM Tivoli Access Manager 是完整的授权和网络安全策略管理解决方案,该解决方案对地理上分散在内部网和外部网上的资源提供超强的端到端保护。

其核心,Tivoli Access Manager 提供:

  1. 认证框架

    Tivoli Access Manager 提供范围很广的内置认证程序,并支持外部认证程序。

  2. 授权框架

    通过 Tivoli Access Manager 授权 API 访问的 Tivoli Access Manager 授权服务,对位于安全域中的受保护资源的请求提供许可和拒绝决策。

IBM Tivoli Access Manager WebSEAL 是负责管理并保护基于 Web 的信息和资源的资源管理器。WebSEAL 通常作为逆向 Web 代理,从 Web 浏览器接收 HTTP / HTTPS 请求并交付来自其自己的 Web 服务器或来自联结的后端 Web 应用程序服务器的内容。通过 WebSEAL 的请求由 Tivoli Access Manager 授权服务评估,以确定是否授权用户访问所请求的资源。

WebSEAL 提供以下功能:

  • 支持多种认证方法。
  • 接受 HTTP 和 HTTPS 请求。
  • 通过 WebSEAL 联结技术集成和保护后端服务器资源。
  • 管理用于本地和后端服务器 Web 空间的细粒度访问控制。
  • 作为逆向 Web 代理执行 - 对于客户机,WebSEAL 可作为 Web 服务器,而对于正受其保护的联结后端服务器,WebSEAL 可作为 Web 浏览器。
  • 提供单一注册功能。
图 1. 使用 WebSEAL 保护 Web 空间
在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager


回页首

使用 WebSEAL 保护 Quickr 空间

WebSEAL 在安全域中实施安全性时,每个 Quickr 客户机必须提供其标识证明。接着,Tivoli Access Manager 安全策略确定是否许可客户机在所请求资源上执行操作。因为对安全域中每个 Quickr 资源的访问由 WebSEAL 控制,所以 WebSEAL 的认证和授权要求可提供全面的网络安全性。

在 Tivoli Access Manager 授权模型中,授权策略是独立于用户认证所用的机制而实施的。用户可以使用公用/专用密钥、安全密钥,也可以使用顾客定义的机制认证其身份。认证过程的一部分涉及凭证(描述客户机的身份)的创建。某个授权服务做出的授权决策是以用户凭证为基础的。

授权过程由以下基本组件组成:

  • 资源管理器负责在授予权限时实现所请求的操作。
  • 授权服务对请求执行决策操作。

下图阐述了完整的授权过程:

图 2. Tivoli Access Manager 授权过程
在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager

认证是一种确定尝试登录到安全域的单个进程或实体的方法。当服务器和客户机都要求认证时,该交换过程就是所谓的相互认证。

图 3. 相互认证
在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager


回页首

在 WebSEAL 集成环境中配置 SSL

WebSEAL 服务器支持以下两种 SSL 连接:

  • 来自客户机的 HTTPS 访问请求
  • 后端服务器的 SSL 联结

如下图所示:

图 4. WebSEAL 服务器的 SSL 联结
在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager

另外,Tivoli Access Manager 支持前端 WebSEAL 服务器和后端 WebSEAL 服务器之间的 SSL 联结。

为来自客户端的 HTTPS 请求配置 WebSEAL

客户端证书认证必须发生在安全套接字层(SSL)连接上。在证书认证过程之前建立 SSL 连接。可以在客户机尝试在 HTTP *问资源时建立 SSL 连接。当资源不需要认证访问时,该客户机将与 WebSEAL 服务器协商 SSL 会话。当客户机和服务器(WebSEAL)检查彼此的证书并接受签名权限的有效性时,建立 SSL 会话。

为了能够在新的 WebSEAL 服务器上建立 SSL 会话,WebSEAL 包含自签署的测试服务器证书。WebSEAL 可以将自签署的证书提供给客户机。如果客户机接受该证书,则建立 SSL 会话。此测试证书不适用于由 WebSEAL 服务器永久使用。虽然此测试证书允许 WebSEAL 响应启用 SSL 的浏览器请求,但不能由浏览器验证它。这是因为浏览器未包含适当的根 CA 证书 -- 就是当浏览器接收到任何自签署的证书,但对该证书不存在根 CA 证书的情况。因为此缺省证书的专用密钥包含在每个 WebSEAL 分发中,所以此证书不能提供真正的安全通信。

要确保通过 SSL 的安全通信,WebSEAL 管理员必须从信任的认证中心(CA)获得唯一的站点服务器证书。 可以使用 GSKit 中的 iKeyman 应用程序生成将发送到 CA 的证书请求。还可以使用 iKeyman 来安装和标注新的站点证书。

使用 WebSEAL 配置文件的 [ssl] 节中的 webseal-cert-keyfile-label

通过设置配置文件条目,可以实现以下控制:

  • 启用/禁用 HTTPS 访问
  • 设置 HTTPS 访问端口
  • 限制来自特定 SSL 版本的连接
  • 设置 HTTP/HTTPS 的通讯超时参数
  • 设置证书撤销列表(CRL)

为后端服务器配置 SSL 类型的联结

SSL 联结功能是在 TCP 连接的 WebSEAL 联结的基础上完成的,它的附加功能是加密所有 WebSEAL 和后端服务器间的通信。SSL 联结允许安全的端到端的浏览器到应用程序的事务。可以使用 SSL 同时保护从客户机到 WebSEAL 以及从 WebSEAL 到后端服务器的通信。使用 SSL 联结时,后端服务器必须启用 HTTPS。

当客户机请求后端服务器上的资源时,WebSEAL 作为安全服务器,将代表客户机执行请求。SSL 协议指定了在对后端服务器提出请求时,服务器必须使用服务器端证书提供其身份证明。当 WebSEAL 从后端服务器接收到此证书时,它必须通过将证书与证书数据库中根 CA 证书列表对照来验证真实性。

Tivoli Access Manager 使用 SSL 的 IBM Global Security Kit(GSKit)实现。必须使用 GSKit iKeyman应用程序来添加 CA 的根证书,该 CA 签署了 WebSEAL 证书密钥文件(pdsvr.kdb)的后端服务器证书。

SSL 联结示例:

server task web1-webseald-cruz create -t ssl -h sales.tivoli.com /sales

注:-t ssl 选项规定了缺省端口 443。

WebSEAL 至 WebSEAL 的 SSL 联结

Tivoli Access Manager 支持前端 WebSEAL 服务器和后端 WebSEAL 服务器之间的 SSL 联结。使用带 -C 选项的 create 命令可通过 SSL 联结两个 WebSEAL 服务器并提供相互认证。例如:

pdadmin> server task web1-webseald-cruz create -t ssl -C -h serverA /jctA

相互认证发生在以下两个前提下:

  • SSL 协议允许后端 WebSEAL 服务器通过其服务器证书向前端 WebSEAL 服务器认证。
  • 在基本认证(BA)头中,-C 选项使前端 WebSEAL 服务器可以将其身份信息传递到后端 WebSEAL 服务器。

此外,-C 选项可以启用 -c 选项提供的单一注册功能。 -c 选项允许将特定于 Tivoli Access Manager 的客户机身份和组成员信息,放置到向后端 WebSEAL 服务器请求的 HTTP 头中。头参数包括:iv-useriv-groupsiv-creds

WebSEAL 至 WebSEAL 联结必须使用在以下环境中:

  • 联结为 -t ssl-t sslproxy 联结类型。
  • 两个 WebSEAL 服务器必须共享公共 LDAP 注册表。它允许后端 WebSEAL 服务器认证前端 WebSEAL 服务器的标识信息。
  • 如果 WebSEAL 到 WebSEAL 联结和后端应用程序服务器联结都使用 -j 联结选项(对联结 cookie),则这两种 WebSEAL 服务器各自创建的两种联结 cookie 之间可能会发生命名冲突。为了防止此冲突,您必须配置中间 WebSEAL 服务器唯一标识其联结 cookie。仅在中间 WebSEAL 服务器上,将 WebSEAL 配置文件的 [script-filtering] 节中的 hostname-junction-cookie 参数设置为“yes”(缺省值为“no”)。


回页首

WebSEAL 环境下 Lotus Quickr 与 Lotus Sametime、Lotus Connections 集成

在 Lotus Quickr 解决方案中,Lotus Quickr 通常作为集成服务的一部分,而不是单一的应用程序为用户提供服务。同时 IBM Tivoli Access Manager 能对后台的多个Web应用程序服务器提供统一的认证、授权和单点登录。本章描述了在 Lotus Quickr、Lotus Connections 以及 Lotus Sametime 这一典型的客户环境中,WebSEAL 与 Web 服务器集成的场景。

图 5. WebSEAL 与 Lotus Quickr, Lotus Sametime, Lotus Connections 集成的拓扑结构
在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager

集成后我们可以在 Lotus Quickr 服务器上实现以下功能:

  • Sametime 服务器的在线感知、聊天、在线会议功能。
  • Connections 服务器的 Business Card 功能。
  • 在 Connections 服务器上可以把 activities 的 entry 附件放到 Quickr 服务器的场所里。
  • 在 Connections 服务器上可以再 Community 里创建 Quickr 的标准场所和 WIKI。


回页首

WebSEAL 与 Lotus Quickr 集成实例

  1. 搭建一个 Tivoli Access Manager 服务器 , 并使用一个 LDAP 服务器提供目录服务,比如连接 IBM Directory Server。
  2. 搭建一个基于 Lotus Domino 的应用程序 Lotus Quickr,并与 TAM 服务器使用同一个 LDAP 服务器提供目录服务。
  3. 从单独的一台 WebSphere Application 服务器上产生一个 LTPA key file 并导出用来实现 Tivoli Access Manager 与 domino 的产品之间的 SSO。
    1. 通过浏览器访问一台 WebSphere Application Server 服务器,输入管理员和密码,例如:http://was.yourcompany.com:9090/admin
    2. 在左侧的导航面板中单击安全性 > 认证机制 > LTPA。
    3. 在密钥文件名字段中,输入密钥存储文件的全路径。文件需要写许可权。
    4. 单击导出密钥。文件是用 LTPA 密钥创建的。
    5. 保存此密钥。
  4. 在 Tivoli Access Manager 服务器上为 Lotus Quickr 服务器创建节点 Junction。
    1. 在 Tivoli Access Manager 服务器上启动 pdadmin 工具:开始 > 程序 > IBM Tivoli Access Manger > 管理员命令提示行。
    2. 使用 login 命令登陆服务器 pdadmin > Login。输入服务器的管理员和密码后就可以开始注册了。
    3. 使用从 WebSphere Application 服务器上产生的 LTPA 密钥为 Lotus Quickr 服务器创建 Junction,在命令行输入命令:

      pdadmin> server task default-webseald-[servername] create -t tcp 
          -h [Lotus Quickr hostname] -p 80 -i -j -A –F [path to LTPA key] 
          -Z [LTPA key password] /junction

      例如:

      pdadmin> server task default-webseald-TAM.yourcompany.com create -t tcp 
          -h quickr.yourcompany.com -p 80 -i -j -A -F c:\sso -Z password /quickr
    4. 导入常用的用户到 Tivoli Access Manager 服务器中,所有的用户都来源于 LDAP 服务器,在命令行输入:

      pdadmin > user import [-gsouser] 

      例如:

      pdadmin> user import -gsouser manager10 
          "cn=manager ,ou=managers,ou=users,o=qdsvt,dc=yourcompany,dc=com"
    5. 使所有导入的用户 Tivoli Access Manager 服务器中生效,在命令行输入 :

      pdadmin> user modify  account-valid {yes|no}

      例如:

      pdadmin> user modify manager account-valid yes
  5. 配置 Lotus Domino 应用程序服务器实现与 Tivoli Access Manager 服务器之间的 SSO。
    1. 在 Lotus Domino 应用程序服务器上创建 Web SSO 配置文档 , Web SSO 配置文档是存储在 Domino 目录中的网络域范围内的配置文档。该文档(应复制到参与一次登录网络域的所有服务器)将针对参与服务器和管理员进行加密,并包含一个共享密钥,以供服务器用来验证用户证书。
    2. 完成文档余下部分,如下所示:

      表 1. Web SSO 配置文档

      操作
      配置名称 保持默认名字 LtpaToken
      组织 不填写
      DNS网络域 (必须填写)输入生成的令牌所属的 DNS 网络域(如 yourcompany.com)。启用一次登录的所有服务器必须属于同一个 DNS 网络域。
      Domino服务器名称 输入将参与一次登录的服务器的名称(例如,quickr/ibm,sametime/ibm)。此文档将针对文档创建者、“所有者”和“管理者”域的成员以及“Domino 服务器名称”域中指定的服务器进行加密。
      此域中不允许出现群组、通配符和 WebSphere 服务器的名称。只有 Domino 服务器才能作为参与服务器在“服务器名称”域中列出。
      注意 该域大小应不超过 64K。当达到该限制时(例如,当输入了几百个服务器的名称时),将出现错误消息。如果达到了此限制,则建议创建多个 Web SSO 文档。
      到期时间(分钟) 指定令牌有效的时间段(分钟)。此时间段从令牌发布的时间开始算起。令牌只在指定的分钟数内有效,也就是说其到期时间不基于闲置时间。缺省值为 30 分钟。
    3. 在“Web SSO 配置”文档中,单击“密钥”。选择“引入 WebSphere LTPA 密钥”。浏览和选择 WebSphere LTPA 引出文件 , 输入口令(在 WebSphere 中生成密钥时指定)。
    4. 使用 Domino Administrator, 从“文件”菜单下选择“应用程序”> “新建”,选择 Quickr 服务器的名字和新数据库的名字 domcfg.nsf,再选择 Quickr 服务器作为数据库的模板服务器,勾选“显示高级模板”,选择模板“Domino Web Server Configuration”,点确定创建 domcfg.nsf 数据库,创建完成后打开此数据库,选在“添加映射”按钮,在目标数据库名字域中填写“LotusQuickr/resources.nsf”,在目标窗体域中填写“QuickPlaceLoginForm”, 保存此文档并关闭 domcfg.nsf 数据库。
    5. 重新启动 Quickr 服务器。
  6. 确认配置成果:通过 Tivoli Access Manager 服务器访问 Lotus Quickr 服务器:https://TAM.yourcompany.com/quickr/lotusquickr,使用 Tivoli Access Manager 服务器导入的用户和密码,授权通过后 Tivoli Access Manager 服务器与 Lotus Quickr 服务器实现 SSO。