技术开发 频道

珠联璧合之WAS社区版与HTTP Server

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使用我们刚才创建的自签名证书。

1     #加载SSL模块
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中可以选择继续访问该网站。

0
相关文章