![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
通过 SSL 通信进行保护
此部分中提供的信息可帮助您通过使用缺省 httpd.conf 配置文件来设置安全套接字层 (SSl)。
关于此任务
IBM® HTTP Server 具有内置的密码规范列表,这些密码规范用于通过安全套接字层 (SSL) 与客户机进行通信。用于特定客户机连接的实际密码规范是从 IBM HTTP Server 和客户机都支持的那些密码规范中选择的。
某些密码规范提供的安全级别比其他密码规范弱,出于安全考虑,可能需要避免使用。某些较强的密码规范比较弱的密码规范需要更多的计算能力,如果需要考虑性能原因,那么可能要避免使用。可以使用 SSLCipherSpec 伪指令提供 Web 服务器所支持的密码规范的定制列表,以免选择太弱或需要太多计算能力的密码规范。
如果您未使用 SSLCipherSpec 伪指令指定密码规范,那么 IBM HTTP Server V8.0 和更高版本会使用保守的缺省密码集。该缺省密码集不包括 SSL V2、空密码和弱密码。弱密码包括导出级密码。通过启用 LogLevel debug 和 SSLTrace,可以在运行时在错误日志中查看这些缺省值。
过程
使用 IBM HTTP Server IKEYMAN 实用程序(图形用户界面)或 IKEYMAN 实用程序(命令行)创建 CMS 密钥数据库文件和服务器证书。
IBM HTTP Server 通过用于密钥管理的 z/OS® gskkyman 工具来创建 CMS 密钥数据库文件、公用和专用密钥对以及服务器证书。或者,您可以创建 SAF 密钥环来代替 CMS 密钥数据库文件。
- 有关 gskkyman 的信息,请参阅使用本机 z/OS 密钥数据库进行密钥管理。
- 有关创建 SAF 密钥环的信息,请参阅在 IBM HTTP Server 上使用 SAF 进行认证(z/OS 系统)和 SSL Keyfile 伪指令。
- 在 IBM HTTP Server 的配置文件 httpd.conf 中启用 SSL 伪指令。
- 取消对 LoadModule ibm_ssl_module modules/mod_ibm_ssl.so 配置伪指令的注释。
- 使用以下示例和伪指令在 httpd.conf 文件中创建一个 SSL 虚拟主机节。
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so Listen 443 <VirtualHost *:443> SSLEnable </VirtualHost> SSLDisable KeyFile "c:/Program Files/IBM HTTP Server/key.kdb"
第二个示例假定您要使单个 Web 站点能够使用 SSL,并且服务器名称不同于在全局作用域中为非 SSL(端口 80)定义的服务器名称。两个主机名都必须在域名服务器 (DNS) 中注册到一个单独的 IP 地址,并且您必须在本地网络接口卡上配置这两个 IP 地址。
第三个示例假定您要使多个 Web 站点能够使用 SSL。所有主机名都必须在域名服务器 (DNS) 中注册到一个单独的 IP 地址。另外,您必须在本地网络接口卡上配置所有 IP 地址。使用 SSLServerCert 伪指令标识在每个 Web 站点的 SSL 握手期间,密钥数据库文件中的哪个个人服务器证书传递至客户机浏览器。如果您未定义 SSLServerCert 伪指令,那么 IBM HTTP Server 会传递密钥数据库文件中用星号 (*) 标记为“缺省密钥”的证书。Listen 80 ServerName www.mycompany.com <Directory "c:/Program Files/IBM HTTP Server/htdocs"> Options Indexes AllowOverride None order allow,deny allow from all <Directory> DocumentRoot "c:/program files/ibm http server/htdocs" DirectoryIndex index.html <VirtualHost 192.168.1.103:80> ServerName www.mycompany2.com <Directory "c:/Program Files/IBM HTTP Server/htdocs2"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs2" DirectoryIndex index2.html </VirtualHost> Listen 443 <VirtualHost 192.168.1.103:443> ServerName www.mycompany2.com SSLEnable SSLClientAuth None <Directory "c:/Program Files/IBM HTTP Server/htdocs2"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs2" DirectoryIndex index2.html </VirtualHost> SSLDisable KeyFile "c:/program files/ibm http server/key.kdb" SSLV2Timeout 100 SSLV3Timeout 1000
Listen 80 ServerName www.mycompany.com <Directory "c:/Program Files/IBM HTTP Server/htdocs"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs" DirectoryIndex index.html <VirtualHost 192.168.1.103:80> ServerName www.mycompany2.com <Directory "c:/Program Files/IBM HTTP Server/htdocs2"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs2" DirectoryIndex index2.html </VirtualHost> <VirtualHost 192.168.1.104:80> ServerName www.mycompany3.com <Directory "c:/Program Files/IBM HTTP Server/htdocs3"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs3" DirectoryIndex index3.html </VirtualHost> Listen 443 <VirtualHost 192.168.1.102:443> ServerName www.mycompany.com SSLEnable SSLClientAuth None SSLServerCert mycompany <Directory "c:/Program Files/IBM HTTP Server/htdocs"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs" DirectoryIndex index.html </VirtualHost> <VirtualHost 192.168.1.103:443> ServerName www.mycompany2.com SSLEnable SSLClientAuth None SSLServerCert mycompany2 <Directory "c:/Program Files/IBM HTTP Server/htdocs2"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs2" DirectoryIndex index2.html </VirtualHost> <VirtualHost 192.168.1.104:443> ServerName www.mycompany3.com SSLEnable SSLClientAuth None SSLServerCert mycompany3 <Directory "c:/Program Files/IBM HTTP Server/htdocs3"> Options Indexes AllowOverride None order allow,deny allow from all </Directory> DocumentRoot "c:/program files/ibm http server/htdocs3" DirectoryIndex index3.html </VirtualHost> SSLDisable KeyFile "c:/program files/ibm http server/key.kdb" SSLV2Timeout 100 SSLV3Timeout 1000
子主题
安全套接字层 (SSL) 协议
安全套接字层 (SSL) 协议由 Netscape Communications Corporation 开发。SSL 伪指令注意事项
使用 SSL 伪指令时,您应该考虑下列事项:将加密限制为 128 位或更多位数,将 HTTP(端口 80)请求重写到 HTTPS(端口 443),将 SSL 请求信息记录在访问日志中以及启用证书撤销列表 (CRL)。认证
认证用于验证身份。加密
最简单的加密涉及将消息打乱,从而在接收方将其复原之前,没有人可以读懂此消息。安全套接字层环境变量
mod_ibm_ssl 参数通过在 Apache API subprocess_env 表中针对处于活动状态的请求设置变量,提供对有关安全套接字层 (SSL) 会话的信息的访问权。这些变量由于在传递至 CGI 应用程序时访问信息的方式而被视为环境变量。SSL 伪指令
安全套接字层 (SSL) 伪指令是用于控制 IBM HTTP Server 中的 SSL 功能的配置参数。
相关概念:
相关任务:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=tihs_setupssl
文件名:tihs_setupssl.html