IBM Portal的SSL加密访问的配置

1       编写目的

本文档旨在通过对反向代理服务器(WebSEAL)、WEB服务器(IHS)和应用程序服务器(WAS)的配置,实现IBM Portal访问的SSL加密。

2       配置过程

2.1.1   前提条件

本文默认客户现场已经安装了WebSEAL、IHS、WAS等应用,并且各软件相互之间配置运行正常。

老规矩,请备份以下内容,然后再操作:

①  IHS配置文件httpd.conf

②  WebSEAL配置文件webseald-[实例名].conf

③  wps.ear程序

④  命令行输出原来的联结点信息,并复制到备份文件中保存。(此处指pdadmin上下文命令

2.1.2   总体配置过程说明

本文档中描述的各种软件安装路径、名称等均为本地测试环境上的情况,在客户现场配置时,请根据实际情况进行调整。本文档假设:
    /opt/IBM/HTTPServer          为IHS的软件根目录

/opt/pdweb                    为WebSEAL的软件根目录

/opt/IBM/WebSphere            为WAS的软件根目录

/usr/local/ibm/gsk7           为Gskit-ikeyman的软件根目录

/opt/ibm/java2-i386-50        为WebSEAL所在机器jdk的根目录

为了表述清晰,本次配置的总体过程分为三段进行:

    第一段:实现IHS和WAS之间的SSL双向通信。

    第二段:实现WebSEAL与IHS之间的SSL通信。

    第三段:实现原有HTTP访问的跳转(略)。

2.1.3   实现IHS与WAS之间的SSL双向通信

2.1.3.1 为IHS生成秘钥库

在命令行中,进入IHS插件命令执行目录cd /opt/IBM/HTTPServer/Plugins/bin,运行./ikeyman.sh,在弹出的ikeyman工具主界面中,按如下操作:

①.点击菜单中的“秘钥数据库文件(key Database File)”按钮,然后点击“新建(New)”按钮,弹出秘钥数据库的详细配置页面(下图中的“New”对话框)。

②.在“秘钥数据库类型(Key database type)”中,选择“CMS”,在“文件名称(File Name)”中填写要生成的“秘钥数据库”的文件名。在“位置(Location)”中填入要生成的“秘钥数据库”文件的路径,之后,点击“确定(OK)”按钮。

3.点击“确定(OK)”按钮之后,会弹出“密码提示(Password Prompt)”对话框。这个对话框让用户为“秘钥数据库文件”设置打开密码(本机设置为keydbpassword),以及“秘钥数据库文件”的过期时间等,操作如下:

在“密码(Password)”中输入自己设定的密码,一定要记住,以后打开此秘钥数据库时,需要输入本密码。此处可以看到对于自己设置的密码强度的提示,比如,本例设置了pa55W0rd@163.com,强度为最高。

对于“设置到期时间(Set expiration time)”,不勾选,或者勾选之后,设置足够长的时间。本例为不设置。

对于“将密码存储到文件(Stash the password to a file)”,必须勾选。

点击“确定(OK)”按钮。

⑤秘钥数据库文件生成之后,在ikeyman工具的“秘钥数据库内容(key database content)”的下拉框中,选中“签署人证书(Signer certificates)”,会看到其中有很多自动生成的证书,全选中ctrl+A,然后点击右侧的“删除(delete)”按钮,删除所有。

2.1.3.2 在IHS秘钥库中生成IHS的自签证书

在ikeyman工具的“秘钥数据库内容(key database content)”的下拉框中选中个人证书,然后点击右侧的“新建自签署(New self-signed)”

紧接着,系统弹出新建自签署证书界面,填写自签证书信息,如下图:

2.1.3.3 抽取IHS的自签证书

选中刚才生成的自签证书IHScert,点击右侧的“抽取证书(Extract certificate)”按钮,然后在弹出的对话框中指定抽取出来的文件名、文件存放位置等信息,如图:

点击“确定(OK)”按钮之后,此IHS证书即被抽取到指定位置了。此时可关闭ikeyman工具。

2.1.3.4 IHS相关配置修改
2.1.3.4.1       修改IHS配置文件

打开/opt/IBM/HTTPServer/conf路径下的IHS配置文件httpd.conf,在文件的最后,增加以下内容:

LoadModule ibm_ssl_module modules/mod_ibm_ssl.so

<IfModule mod_ibm_ssl.c>

 Listen 443

 <VirtualHost *:443>

  SSLEnable

  SSLClientAuth none

  KeyFile "/opt/IBM/HTTPServer/Plugins/key/ihskey.kdb"

 </VirtualHost>

</IfModule>

SSLDisable

注意:此段内容中的KeyFile代表IHS秘钥数据库的位置。

2.1.3.4.2       在WAS的web服务器中设置秘钥数据库相关属性

进入WAS控制台à服务器àweb服务器àwebserver1à插件属性à定制属性,点击“新建”按钮,新建两个属性:
名:KeyringLocation  值:/opt/IBM/HTTPServer/Plugins/key/ihskey.kdb

名:StashfileLocation值:/opt/IBM/HTTPServer/Plugins/key/ihskey.sth

分别对应IHS中的秘钥数据库文件位置和保存秘钥数据库文件密码的sth文件的位置。

2.1.3.5 抽取WAS的服务器证书

在WAS控制台-->安全性-->SSL证书和秘钥管理-->秘钥库和证书,点击“NodeDefaultKeyStore”,进入“NodeDefaultKeyStore”配置页面后,点击“个人证书”,在下图的画面中,勾选default。

点击“抽取”按钮,弹出抽取WAS证书界面:

这里注意,测试环境的IHS和WAS安装在同一台机器上,所以,证书直接抽取到IHS对应的位置/opt/IBM/HTTPServer/Plugins/fromWAS/下。如果IHS与WAS不在同一机器上,这里抽取之后,请复制default.arm文件到IHS的所在机器。

2.1.3.6 将WAS的证书导入IHS秘钥数据库

在/opt/IBM/HTTPServer/Plugins/bin目录中运行ikeyman命令,在菜单栏点击“秘钥数据库文件(key database file)”,然后点击“打开(open)”,首先选中类型为CMS,然后浏览之前创建的秘钥数据库文件

此时,会弹出窗口,提示输入秘钥数据库文件的访问密码,输入之前设置的pa55W0rd@163.com,确定。

在“秘钥数据库内容(key database content)”中,选择“签署人证书(Signer certificates)”,点击右侧的“添加(Add)”按钮,在弹出的窗口中选择从WAS导出来的证书default.arm文件。输入标识符,本例:“keyFromWAS”。

重新生成插件、传播插件,然后重启插件。

2.1.3.7 启动IBM Portal的SSL配置

在部署IBM Portal的DM中导出wps.ear(具体的导出、展开、修改、折叠、更新的方法,可以参考《广西中烟门户主题部署说明文档V0.1.docx》),打开wps.war/WEB-INF/Web.xml中的内容,在此文件中找到这一段:

<user-data-constraint id="UserDataConstraint_4">

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

如果<transport-guarantee>节点的值不是CONFIDENTIAL,请将其修改为CONFIDENTIAL。

然后在DM中更新wps.ear。

重启IHS和Portal_Server。

尝试通过IHS访问https://主机名/wps/portal

2.1.4   实现WebSEAL与IHS之间的SSL通信

2.1.4.1 将IHS证书添加到WebSEAL秘钥库

在WebSEAL目录中创建如下文件夹:

/opt/pdweb/www-default/certs/fromIHS,用来保存从IHS机器上拷贝过来的IHS的证书。

和WebSEAL同时安装的还有Gskit-ikeyman工具,我们利用此工具来把IHS的证书导入WebSEAL,找到Gskit-ikeyman工具位置,本例中为:

/usr/local/ibm/gsk7/bin

首先设置java环境变量:export PATH=/opt/ibm/java2-i386-50/jre/bin:$PATH

然后执行./gsk7ikm命令,打开WebSEAL的秘钥数据库文件(如果没有,按照在IHS中创建秘钥库的方法操作):/opt/pdweb/www-default/certs/pdsrv.kdb,导入从IHS中导出的证书文件。

2.1.4.2 将WebSEAL证书添加到IHS的秘钥库

首先,如果WebSEAL还没有自签证书,请为WebSEAL生成自签证书,在WebSEAL的证书库à个人证书中新建标号(key label)为WebSEAL Defualt Key的WebSEAL自签证书。

然后,抽取出此证书,保存在/opt/pdweb/www-default/certs/fromWebSEAL位置。并把此证书导入到IHS的的秘钥库中。

2.1.4.3 修改WebSEAL配置文件

在WebSEAL的安装目录/opt/pdweb/etc中找到WebSEAL的配置文件,本例子中为webseald-default.conf,修改以下内容以支持SSL访问:

webseal-cert-keyfile = /opt/pdweb/www-default/certs/pdsrv.kdb

webseal-cert-keyfile-stash = /opt/pdweb/www-default/certs/pdsrv.sth

webseal-cert-keyfile-label = WebSEAL Default Key

其中:

webseal-cert-keyfile 的值为WebSEAL秘钥数据库文件位置

webseal-cert-keyfile-stash 的值为保存秘钥库文件密码的文件

webseal-cert-keyfile-label 的值为WebSEAL秘钥文件标号

2.1.4.4 更新门户的联结点

对于访问Portal的联结点,我们还是用原有的联结点,只是强制更新他的网络访问协议,从http改成SSL,在WebSEAL所在机器命令行,执行以下命令:

pdadmin

login –a sec_master

然后输入密码,进入pdadmin上下文环境,然后执行更新联结点的命令:

server task default-webseald-主机名 create -t ssl -c iv_user_l -r -f -h gbcent.com -p 443 -K "WebSEAL Default Key" /gbc

此命令要求在一行中执行,不要换行,参数中:

default-webseald-主机名表示WebSEAL实例名称

gbcent.com表示IBM Portal Server所在的主机名

"WebSEAL Default Key"表示之前在WebSEAL中生成的证书标号,注意双引号。

/gbc表示原来访问门户网站的联结点名称(真实环境需要替换)。

命令执行后,原有联结点即更新为采用SSL协议的新联结点,名称不变。

2.1.4.5 修改IHS配置文件

将httpd.conf文件中SSLClientAuth none修改为SSLClientAuth required。

2.1.5   将原有的HTTP访问跳转到HTTPS访问
(略)

2.1.6   如何确定配置成功

2.1.6.1 简单测试

访问WAS自带的snoop应用,结果如图:

在iv_server_name中看到webseal实例名,在WSSN中看到后端主机名

2.1.6.2 门户测试




转载于:https://my.oschina.net/669910/blog/345036

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值