3. 用IHS帮助WAS CE提高安全性
SSL (Secure Socket Layer)是Netscape公司开发的一种安全传输协议,用于保证客户端和服务器之间的通信安全。客户端通常可以要对服务器进行身份验证,而服务器有时也对客户端进行鉴权。在身份得到确认之后,SSL负责加密和解密所有HTTPS请求和应答,包括鉴权信息(如用户名和密码)和客户端与服务器交换的所有数据。
用户可以通过访问https://形式的URL来得到经SSL加密的内容。这样,用户既可以通过http://访问非安全的内容,也可以通过https访问到需要身份验证才能获取的特定内容。
WASCE本身具有密钥库(keystore)和密钥(key)的配置功能,并且有Certificate Authority用于生成并发布证书,以支持较强的用户身份验证方法。我们可以自定义HTTPS连接器,还可以发布自签名的证书用于测试。用户可以访问8443端口(https://<WASCE_IP>:8443)但是SSL加密势必影响服务器处理其他事务的速度,为此我们可以将这部分的工作交给IHS。
IHS附带有Key Management Utility工具用于管理密钥和证书。我们就借助这个工具创建自签名证书。
1)首先我们创建一个新的密钥库文件testkey.kdb:
2)输入密码并且将保存至文件。默认情况下它被保存到了<IHS_HOME>下的testkey.sth文件。
3)创建自签名证书。注意,只有在某些测试环境下,才使用自签名证书,否则应该向证书颁发机构(Certificate Authority)申请有效证书。
· 密钥标签:用于标识这个证书
· 版本:X509 V3
· 密钥大小:1024
· 签名算法:SHA1withRSA
· 共用名:必须和访问的URL中的主机名相匹配
· 其他选项为可选。
事实上Key Management Utility还提供了创建证书请求,接收证书请求,抽取证书等功能。在完成证书的配置之后,还需要修改httpd.conf文件,让IHS使用我们刚才创建的自签名证书。
2 LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
3 <IfModule mod_ibm_ssl.c>
4 #在443端口侦听
5 Listen 443
6 #仅作用于443端口上的虚拟主机
7 <VirtualHost *:443>
8 #开启SSL功能
9 SSLEnable
10 KeyFile "c:/Program Files/IBM/IHS7/testkey.kdb"
11 #这一段是配置IHS为WASCE的正向代理和反向代理
12 <IfModule mod_proxy.c>
13 ProxyPass /console http://localhost:8080/console
14 ProxyPassReverse / http://localhost:8080/
15 </IfModule>
16 </VirtualHost>
17 </IfModule>
18 SSLDisable
保存文件并且重新启动IHS,在浏览器的地址栏输入https://<HOST_NAME>/console,浏览器将弹出安全警报,因为我们使用了不被信任的自签名证书。若要继续访问,在Mozilla FireFox中,我们可以选择添加例外;在Internet Explorer中可以选择继续访问该网站。