转自:http://www.ibm.com/developerworks/cn/lotus/notes-mobile-connect/index.html
简介
本文面向的读者是那些需要从 PDA、笔记本电脑或工作站等设备对企业 Lotus iNotes 服务器进行安全的远程访问的 IBM Lotus iNotes 客户,这些设备需要从公司内部网之外进行访问。通过 Lotus Mobile Connect,有两种方法可以实现这种访问。
Lotus Mobile Connect 提供了一个基于客户端/服务器的虚拟专用网(VPN)解决方案,这种解决方案要求在受支持的用户平台上安装 Lotus Mobile Connect 客户端。对于基于 HTTP 的应用程序(例如 Lotus iNotes),Lotus Mobile Connect 还提供一个 clientless 选项,这个选项不需要在用户设备上安装任何附加的软件;相反,它通过基于浏览器的登录提供安全认证(见图 1)。
本文解释如何将 Lotus Mobile Connect clientless 选项与 Lotus iNotes 结合起来使用。
图 1. Lotus Mobile Connect clientless 选项与 Lotus iNotes
为什么选择 Lotus Mobile Connect?
Lotus Mobile Connect 提供获 Federal Information Processing Standards (FIPS) 140-2 认证的平台,这种平台包含最新的安全套接字层(SSL)/ 传输层安全协议(TLS)加密程序和业界标准的认证机制。Lotus Mobile Connect clientless 选项,即 Lotus Mobile Connect HTTP 访问服务,使用与纯 VPN 客户端同样强大的认证和加密算法。可以配置 HTTP 访问服务,使之与纯 VPN 会话同时运行,提供轻巧的多功能远程访问解决方案,使 IT 管理员可以控制每个用户的访问范围。
通过 Lotus Mobile Connect 的管理控制台 Gatekeeper,可以访问所有配置选项,对加密程序、认证方法、安全限制和企业接收站进行全盘控制。
工作原理
Lotus Mobile Connect HTTP 访问服务通过强制基于远程 HTTP 的应用程序使用业界标准的 SSL/TLS 技术进行连接,保证通信的安全。SSL/TLS 加密程序是可配置的,可以对它进行限制,使之适用于获 FIPS 140-2 认证的算法。另外,还可以使用双向凭证验证,为会话增加附加的信任层。
建立安全的通信后,Connection Manager 向远程应用程序发送一个基于表单的询问,要求对方提供用户凭证。凭证信息采用 x-www-url 编码的,由 HTTP POST 操作通过安全连接发送。HTTP 访问服务解码该信息,并使用可配置的认证方法验证它。
如果验证成功,HTTP 访问服务构建一个令牌,并使用 HTTP Set-Cookie 操作模型将它发送到远程应用程序。该 cookie 包含一个 Lotus Mobile Connect 特有的加密的令牌,并开启安全和会话位。然后,远程客户端需要在将来所有的请求中包括这个 cookie。
现在,HTTP 流中有了令牌,HTTP 访问服务打开与一个企业主机的连接,并中继来回传输,就像 SSL/TLS 网关一样。
它不是什么
Lotus Mobile Connect Connection Manager 的 clientless 支持不是一个 HTTP 代理。它不缓存任何内容,也不存储 HTTP 数据流主体中包含的任何其他信息。它不是优化器、压缩器或令牌回收器,它不能刷新浏览器的缓存。由于使用安全会话 cookie,用户在完成一个应用程序会话时,必须确保退出浏览器会话。
为什么选择 Lotus iNotes?
Lotus iNotes 是一个基于 Web 的应用程序,它通过标准的 Web 浏览器提供对 Lotus Notes 邮件和个人信息管理(PIM)信息的访问。由于浏览器使用 HTTP 作为主要传输,该应用程序可以利用 Lotus Mobile Connect 的 clientless 选项,允许用户使用受支持的浏览器通过 Internet 访问企业内部网中的邮件数据库。
Lotus iNotes,前名 IBM Lotus Domino® Web Access,支持 3 种不同的使用模式。全模式提供最丰富的特性集,适用于有足够带宽的情况。对于通过高速网络连接访问邮件服务器的专用工作站来说,这种模式是首选模式。在 8.0.1 之前的 Lotus Domino 版本中,全模式是唯一的模式。它包括以下主要功能领域:
对于某些浏览器,Lotus iNotes 还支持 Lotus Notes 和 S/MIME 加密以及缓存擦洗(cache-scrubbing)功能。和 Lotus Sametime® 服务器一起使用时,它可以提供集成的即时消息通信和出席提醒。Lotus iNotes 还通过 Domino Off-Line Services(DOLS)提供几乎所有离线功能以及本地归档功能。当与 Lotus Domino Unified Communications 一起部署时,它还提供多种统一通信特性。
Lotus Domino 8.0.1 中首次出现的 Lite 模式是一个缩减版,为带宽有限的环境作了优化。它的最初发行版只支持 Mail 功能,允许使用侧边栏有限制地访问 Calendar 数据。和全模式一样,它利用最新的 Asynchronous JavaScript™ and XML(AJAX)技术,提供富用户体验。用户界面(UI)甚至更加与 Lotus Notes 富客户端产品一致。
Ultralite 模式是在 Lotus Domino 8.0.2 中引入的,专为最新的窄幅移动设备上的浏览器设计。最初版支持 Apple iPhone 和 iPod Touch 设备。UI 完全遵从 Apple 为 iPhone 应用程序提供的建议指导原则。Ultralite 模式使用最少的脚本,并且被设计为在禁用脚本的浏览器上运行。
架构
我们来研究一下这里提到的两个产品组件 Lotus Mobile Connect 和 Lotus iNotes 的架构。
Lotus Mobile Connect HTTP 访问服务
Connection Manager HTTP 访问服务为来自任何 HTTP version 1.1 客户端数据流(例如 Web 浏览器)的 HTTP 通信提供 SSL/TLS 网关功能。这种连接无需 VPN 客户端,便可以访问基于 Web 的服务和企业中的内容。会话安全由 SSL/TLS 保证,并且只允许来自指定主机或地址范围的连接。
HTTP 访问服务是 Lotus Mobile Connect 中的一个子系统。Lotus Mobile Connect 负责将设定的配置选项应用到所有连接请求和数据传输,而这个子系统负责实施安全性措施、验证访问、生成审计信息以及将传输中转到企业中的目标服务器。
SSL/TLS
当与浏览器或客户端应用程序通信时,Connection Manager 的 HTTP 访问服务使用 SSL 或 TLS。第 2 版和第 3 版的 SSL 协议均受支持,下面是受支持的算法:
X.509 凭证可以为 SSL/TLS 通信提供凭证。这些凭证,以及用于验证其他方凭证的 root 凭证,存储在一个密钥数据库中,这个密钥数据库是随 Connection Manager 一起安装的。Connection Manager 管理员可以使用 Gatekeeper 管理控制台配置这个数据库的源。管理员还可以使用 SSL 工具包 IBM Key Management 的管理界面配置所需的 root 凭证和客户端凭证。
Lotus Mobile Connect 支持将 SSL/TLS 加密程序限制在经 FIPS 140-2 认证的那些加密程序以内,并支持拒绝只支持 SSL/TLS version 2 加密程序的连接请求。
认证
HTTP 访问服务对每个安全 HTTP 连接进行认证,检查数据流中是否包含有效的用户凭证。如果没有有效的用户凭证,则发出一个可配置的基于表单的询问,要求提供有效的用户 ID 和密码。该功能使用 Lotus Mobile Connect 所有组件可用的认证方法和算法。
认证方法是资源容器,其中定义 Lotus Mobile Connect 如何询问和验证远程用户凭证。Lotus Mobile Connect 支持使用以下资源的验证凭证的方法:
要了解关于认证方法的更多信息,请参阅 Lotus Mobile Connect Information Center 中的管理员指南。
单点登录(Single Sign-On,SSO)
HTTP 访问服务可通过轻量级第三方认证(Lightweight Third Party Authentication,LTPA)启用 SSO。LTPA 提供一种在令牌中存储用户认证信息的机制,令牌是在用户成功通过 Connection Manager 认证时生成的。令牌以密码和公共/私有密钥对加密和签名,然后存储在 HTTP cookie 中,最后包括在配置的 SSO 域中的所有请求中。
同一个域中其他启用 LTPA 的服务器共享 LTPA 密钥,所以这些服务器可以验证令牌和认证用户请求,而不需要询问用户。LTPA 令牌包括一个可配置的到期时间戳。令牌到期后,将发出新的认证询问。
LTPA 令牌用于替代特定于 Lotus Mobile Connect 的令牌,它被使用 Set-Cookie 指令以 HTTP cookie 的形式发送到 HTTP 客户端应用程序。HTTP 客户端将这个令牌包括在将来所有的 HTTP 请求中。
HTTP 访问服务资源
HTTP 访问服务资源包含告诉 Lotus Mobile Connect 如何认证用户以及将传输中转到后端服务器的何处的信息。每个 HTTP 访问服务资源可以将传输发送到一个应用程序服务器或代理。有 3 个选项可用于配置对多个后端应用程序服务器的访问:
可配置的基于表单的询问
Lotus Mobile Connect 在分析 HTTP 头部中的令牌后,生成询问表单,以确定浏览器类型和首选地区(见图 2)。用于该表单的模板文件随产品安装在特定于地区的子目录中。这些模板被设计为可定制,但是基本属性结构和功能不能更改。
图 2. 基于表单的询问屏幕
管理员可以随意更改背景、图像、文本等。资源文件位于安装路径外特定于地区的子目录中,如下所示:
图 3. 移动版询问屏幕
当输入一个用户 ID 和密码,并单击 Login 按钮时,浏览器生成一个 URL 编码的 POST 操作,其中包含输入的字段和包括关于会话的信息的隐藏字段。
基于 HTTP 的应用程序可以回答询问,而不需要将该页面显示给用户。可以通过查询 HTTP 头部中的 Server 令牌,惟一地确定 Lotus Mobile Connect 询问。
Lotus iNotes
安装 Lotus Domino 服务器时,只要没有在定制安装时取消 Lotus iNotes 选项,便会一同安装 Lotus iNotes。要了解关于安装和配置 Lotus iNotes 的详细信息,请查阅 Lotus Domino 管理员帮助。
配置
要启用 HTTP 访问服务对 Lotus iNotes 的访问,需要对这两个组件在架构上有所选择,并进行一些配置步骤。本节描述对于每个组件的选项和需求。
Lotus iNotes
对于 Lotus Mobile Connect 访问的每个 Lotus iNotes 服务器,需要内部网络地址或主机名以及 TCP 端口,以适当地配置 Lotus Mobile Connect HTTP 访问服务。如果想对 Lotus iNotes 与 Lotus Mobile Connect 服务器之间的管道进行加密,那么对于每个 Lotus iNotes 服务器,需要将一个 PKCS12 格式的凭证导入到 Lotus Mobile Connect 的密钥数据库中。
Lotus Mobile Connect
配置 Lotus Mobile Connect 时,需要设置认证方法,并定义一个或多个 HTTP 访问服务资源实例。本节包括从 Lotus Mobile Connect 管理控制台 Gatekeeper 获取的屏幕截图。
我们来考虑一个示例架构,其中包括一个 HTTP 访问服务,它被配置为根据一个 Lotus Domino LDAP 目录服务器对用户进行认证,然后将经过认证的传输中转到一个 Lotus iNotes Redirector 节点。
以下步骤假设使用 Lotus Mobile Connect Gatekeeper 管理界面。
目录服务器资源
首先,我们使用以下步骤创建一个目录服务器资源:
认证 profile 资源
接下来的步骤是定义一个使用上一步的目录服务器资源的认证 profile。认证 profile 是一个容器,其中定义 HTTP 访问服务如何询问和验证用户凭证。
Lotus Mobile Connect 支持 LDAP、RADIUS/RSA Secure ID、双向凭证验证和特定于系统的认证方法。这个例子使用基于 Lotus Domino 目录服务器的 LDAP 认证:
创建资源后,可以在 Properties 面板上发现更多配置选项。可以通过查阅系统管理员指南,或者查看属性面板并选择 “Tip on a specific option”,获得更多关于这些选项的信息。
HTTP 访问服务资源
现在,我们必须创建一个 HTTP 访问服务资源。HTTP 访问服务被设计为将经过认证的传输中转到一个后端应用程序服务器或代理。多个后端应用程序服务器需要多个 HTTP 访问服务定义。
对于 Lotus iNotes,Lotus Mobile Connect 包含与 iNotes Redirector 功能一起使用的集成代码,允许一个 HTTP 访问服务将传输中转到多个 Lotus iNotes 邮件服务区。
HTTP 访问服务要求公共凭证,以保证通信安全。Lotus Mobile Connect 提供了一个与密钥数据库一起使用的实用程序,用于生成请求给定计算机名的凭证时所使用的 Certificate Request Message(CRM),以及生成自签名的凭证。这个实用程序名为 wg_keyman,它位于安装目录下的 bin 子目录中。
使用以下步骤添加一个 HTTP 访问服务请求:
使用凭证保证 HTTP 访问服务的安全
HTTP 访问服务上的通信通过 Secure Sockets Layer (SSL) / Transport Layer Security (TLS) 获得安全保证。这要求将外部可见的主机名的凭证存储在一个 Cryptographic Message Syntax (CMS) 密钥数据库文件中。
Lotus Mobile Connect 附带有一个实用程序 wg_ikeyman,用于管理密钥数据库文件。该实用程序生成自签名的凭证和 CRM,以便从认证中心(certificate authority)获得一个公共凭证。
自签名凭证也可以使用,但是要求用户第一次连接到 HTTP 访问服务时接受并导入凭证。由于这个原因,建议使用有效的公共凭证。要生成和使用自签名凭证,可遵循以下步骤:
单点登录(Single Sign-On,SSO)
为 Lotus Mobile Connect 和 Lotus iNotes 启用 SSO 时,需要由 Lotus Mobile Connect 生成一个公共密钥文件,然后由 Lotus iNotes redirector 和邮件服务器节点导入该文件。
在 Lotus Mobile Connect 上配置/启用 SSO
可以使用 Gatekeeper 为 Lotus Mobile Connect 启用 SSO,方法是导航到 HTTP 访问服务使用的认证方法,并修改 Properties 面板上的 LTPA/SSO 选项卡(见图 12),步骤如下:
对于 HTTP 访问服务,这个值应该设为用于从浏览器访问 HTTP 访问服务的全限定外部主机名。如果使用不止一个主机名,可以将它设为外部域。也可以在 HTTP 访问服务定义中设置这个值,在此情况下设置的值将覆盖认证 profile 中的设置。
将 LTPA 密钥导出到文件
之前的步骤生成用于生成 LTPA 令牌的密钥和密码。为了使 SSO 正常工作,必须将该数据导出到基于该令牌授予访问权的其他应用程序服务器可接受的格式中。为了让 Lotus Mobile Connect 导出密钥和配置数据,遵循以下步骤:
在 Lotus iNotes 服务器上导入 LTPA 密钥文件
为了让 SSO 正常工作,所有服务器必须同意密钥、用户信息和各种其他配置数据。Lotus Mobile Connect 已经生成了密钥文件。现在,所有参与的 iNotes 服务器必须导入该文件。遵循以下步骤:
结束语
如今,工作人员变得越来越具有移动性。企业需要将电子邮件和 PIM 应用程序的范围扩展到通过企业或外部提供的移动设备、笔记本电脑和工作站使用浏览器进行访问的用户。以 Lotus iNotes 作为基于 Web 的应用程序,以 Lotus Mobile Connect 保证远程访问的安全,这样的组合为 Lotus Notes 客户满足以上关键业务需求提供了功能丰富、安全可靠的解决方案。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14751907/viewspace-622534/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14751907/viewspace-622534/