执行必需的 z/OS 系统配置
在启动 IBM® HTTP Server 之前,必须设置一些必需的 z/OS® 系统配置。
关于此任务
过程
- 设置 MEMLIMIT 参数。 MEMLIMIT 参数控制特定地址空间的虚拟内存量是否可以超过 2 GB。MEMLIMIT 的缺省设置为 0。但是,IBM HTTP Server 随附的所有二进制程序都是
64 位应用程序,在使用 MEMLIMIT 的缺省设置的情况下,这些应用程序不可操作。可以在以下位置设置 MEMLIMIT 参数:
- 在用来运行服务器的用户标识的 OMVS 段中:
ALTUSER WWWSERV OMVS(MEMLIMIT(512M))
- 在 parmlib 成员 SMFPRMxx 中。设置 parmlib 成员 SMFPRMxx 将确定系统范围的 MEMLIMIT 缺省值。
有关如何设置 MEMLIMIT 的完整描述,请参阅 z/OS MVS Programming Extended Addressability Guide (SA22-7614) 中的“Limiting the use of memory objects”一节。可以从 z/OS 因特网资料库链接到此文档。
对于每个线程,IBM HTTP Server 大约需要 5.4 兆字节的 64 位虚拟内存。针对 IBM HTTP Server 正常操作建议的最小 MEMLIMIT 设置为 6 * (ThreadsPerChild + 3) 兆字节。
- 在用来运行服务器的用户标识的 OMVS 段中:
- 配置允许对低端口进行访问的机制。 Web 服务器用户标识将在某些 TCP 端口上处理客户机连接,因此必须具有这些端口的访问权。如果使用的端口值小于 1024(例如,Web 服务器端口
80 和 443),那么需要设置特殊配置以允许 Web 服务器绑定至该端口。可以使用下列其中一种机制来允许对低端口进行访问:
- 在 TCP/IP 配置中设置 PORT 伪指令。
- 在 TCP/IP 配置中禁用 RESTRICTLOWPORTS。
- 在 TCP/IP 配置中,对 PORT 语句中的 Web 服务器作业名进行编码。
- 在 TCP/IP 配置中,对 PORT 语句中的作业名的通配符进行编码。
- 在 TCP/IP 配置中,对 SAF 以及 PORT 语句中的 safname 值进行编码,并允许 Web 服务器用户标识对 SAF FACILITY 类概要文件 EZB.PORTACCESS.sysname.stackname.safname 进行读访问。
有关允许对低端口进行访问的配置方法的更多信息,请参阅 z/OS Communications Server IP Configuration Guide (SC31-8775) 中的“Port access control”和“Setting up reserved port number definitions in PROFILE.TCPIP”这两节。可以从 z/OS 因特网资料库链接到此文档。
有关如何确定 Unix 系统服务作业名(例如 IBM HTTP Server 实例的作业名)的说明,请参阅 z/OS UNIX System Services Planning (GA22-7800) 中的“Generating jobnames for OMVS address spaces”一节。可以从 z/OS 因特网资料库链接到此文档。
- 设置必需的系统授权工具 (SAF) 配置。
- 为 IBM HTTP Server 创建用户标识和组。您可以使用新的或现有用户标识。此用户标识必须具有 OMVS 段,并且 UID 不得为零。以下示例包含用来创建新用户和组的 RACF® 命令。
Password example ADDGROUP WWWGROUP OMVS(GID(999)) ADDUSER WWWSERV DFLTGRP(WWWGROUP) OMVS(UID(999)) PASSWORD(password)
安全性管理员应该为 Web 服务器用户标识定义密码而不是允许使用缺省密码,以防止未经授权的用户能够使用该用户标识登录。ALTUSER 命令可用来修改现有用户标识的密码。Password phrase example ADDGROUP WWWGROUP OMVS(GID(999)) ADDUSER WWWSERV DFLTGRP(WWWGROUP) OMVS(UID(999)) PHRASE('my0users@99#701_workgroup')
注: 如果使用 JCL 编目过程来启动 IBM HTTP Server 实例,请创建 SAF STARTED 概要文件来将服务器用户标识和组标识分配给服务器启动的任务。例如,要使用名为 WEBSRV1 的编目过程:RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
- 设置对必需 MVS 数据集的程序控制。请确保已经对下列 MVS 数据集开启程序控制。对于 hlq,请输入系统安装的高级限定词,例如:SYS1.LINKLIB。
- hlq.LINKLIB
- hlq.SCEERUN
- hlq.SCEERUN2
- hlq.SCLBDLL
以下示例显示如何使用 RACF 命令来开启程序控制。如果您使用的是其他安全性产品,请参阅该产品的文档以了解指示信息。如果您是首次开启程序控制,那么应该使用 RDEFINE 语句,而不是 RALTER 语句:
在此示例中,使用了星号(*)来指定数据集中的所有程序。RALTER PROGRAM * ADDMEM('hlq.LINKLIB'//NOPADCHK) UACC(READ) RALTER PROGRAM * ADDMEM('hlq.SCEERUN'//NOPADCHK) UACC(READ) RALTER PROGRAM * ADDMEM('hlq.SCLBDLL') UACC(READ) SETROPTS WHEN(PROGRAM) REFRESH
- 设置对 HFS 文件的程序控制。SMP/E 安装逻辑对它所需要的已提供库和可执行文件启用程序控制位。如果您安装定制插件模块,请使用 extattr 命令来启用 APF 和程序控制标志。例如:
请将此示例中的 /opt/IBM/HTTPServer/ 替换为 IBM HTTP Server 安装位置。(可以使用所提供的 apxs 脚本来构建定制插件模块。)# extattr +ap /opt/IBM/HTTPServer/modules/mod_jauth.so
- 设置对 z/OS 系统 SSL 的程序控制。如果您将 IBM HTTP Server 设置为通过因特网提供安全通信,那么 IBM HTTP Server 将使用 z/OS 系统安全套接字层 (SSL) 来建立安全连接。在 IBM HTTP Server 可以使用系统 SSL 之前,您必须执行以下操作:
- 将系统 SSL 装入库 (hlq.SIEALNKE) 添加至系统链接列表,或添加至 HTTP Server 编目过程中的 STEPLIB DD 并置
- 在 RACF 中设置程序控制 hlq.SIEALNKE。
要使用 RACF 开启程序控制,请发出以下命令:
如果您是首次开启程序控制,请使用 RDEFINE 语句,而不是 RALTER 语句。如果您使用的是其他安全性产品,请参阅该产品的文档以了解指示信息。RALTER PROGRAM * ADDMEM('hlq.SIEALNKE'//NOPADCHK) UACC(READ) SETROPTS WHEN(PROGRAM) REFRESH
- 访问 SAF 密钥环。SSL 和 LDAP 认证支持可以选择使用存储在 SAF 密钥环中的证书。这要求 Web 服务器用户标识具有特定的 SAF 许可权。确切地说,必须允许 Web 服务器用户标识访问 IRR.DIGTCERT.LISTRING 工具以使用密钥环。一般需要执行以下步骤:
- 将 IRR.DIGTCERT.LIST 和 IRR.DIGTCERT.LISTRING 资源的通用访问权定义为 None。
- 允许 Web 服务器用户标识对 FACILITY 类中的 IRR.DIGTCERT.LIST 和 IRR.DIGTCERT.LISTRING 资源进行读访问。
- 激活 FACILITY 常规资源类。
- 刷新 FACILITY 常规资源类。
下列命令是 RACF 命令。请将 WWWSERV 替换为启动 IBM HTTP Server 时所使用的实际用户标识。
有关 RACF 命令的完整指南,请参阅 z/OS Security Server RACF Security Administrator's Guide (SA22-7683)。可以从 z/OS 因特网资料库链接到此文档。RDEFINE FACILITY IRR.DIGTCERT.LIST UACC(NONE) PE IRR.DIGTCERT.LIST CLASS(FACILITY) ID(WWWSERV) ACCESS(READ) RDEFINE FACILITY IRR.DIGTCERT.LISTRING UACC(NONE) PE IRR.DIGTCERT.LISTRING CLASS(FACILITY) ID(WWWSERV) ACCESS(READ) SETR CLASSACT(FACILITY) SETR RACLIST(FACILITY) REFRESH
- 允许用户标识访问 CSFSERV 以进行硬件加密:
集成加密服务工具 (ICSF) 是加密硬件的软件接口。如果您打算运行具有加密硬件功能的 IBM HTTP Server,那么可以限制 ICSF 服务的使用。要限制 ICSF 服务的使用,您可以允许用户标识对 CSFSERV 常规资源类中的特定概要文件进行访问。CSFSERV 控制 ICSF 软件的使用。如果已经将 IBM HTTP Server 定义为使用非零用户标识来执行,那么可以授予该非零用户标识对 CSFSERV 的读访问权。如果使用的是 RACF 以外的安全性产品,请参阅该产品的文档以了解指示信息。
如果想要限制 ICSF 服务的使用,请发出类似于下列示例中的命令的 RACF 命令。如果有 IBM HTTP Server 以外的应用程序在使用 ICSF,那么您必须定制这些示例。否则,其他应用程序将无法再访问 ICSF 服务。
要点: 现代的传输层安全性 (TLS) 支持要求配置 CSFSERV 常规资源类并且该资源类可由 IBM HTTP Server 用户标识访问。因为服务器的随机数生成过程会在常规操作期间生成 CSFRNG 调用,所以必须执行此配置。以下示例显示如何允许 WWWSERV 标识和 PUBLIC 标识访问 CSFSERV 中的概要文件。SETROPTS RACLIST(CSFSERV) GENERIC(CSFSERV) RDEFINE CSFSERV CSF* UACC(NONE) PERMIT CSF%%C CLASS(CSFSERV) ID(WWWSERV PUBLIC) ACCESS(READ) PERMIT CSFPK% CLASS(CSFSERV) ID(WWWSERV PUBLIC) ACCESS(READ) PERMIT CSFCK% CLASS(CSFSERV) ID(WWWSERV PUBLIC) ACCESS(READ) SETROPTS CLASSACT(CSFSERV) SETROPTS RACLIST(CSFSERV) GENERIC(CSFSERV) REFRESH
以下示例显示如何授予用户标识和 WWWSERV 标识对 CSFSERV 中的概要文件的访问权。SETROPTS RACLIST(CSFSERV) GENERIC(CSFSERV) RDEFINE CSFSERV CSF%%C UACC(READ) RDEFINE CSFSERV CSFPK% UACC(READ) RDEFINE CSFSERV CSFCK% UACC(READ) SETROPTS CLASSACT(CSFSERV) SETROPTS RACLIST(CSFSERV) GENERIC(CSFSERV) REFRESH
- 将加密硬件用于密钥存储(可选):
要在加密设备上执行密钥存储,请参阅 z/OS Security Server RACF Security Administrator's Guide (SA22-7683) 中的“Integrated Cryptographic Service Facility (ICSF) Considerations”一节。
有关 ICSF 选项的信息,请参阅 z/OS Cryptographic Services System Secure Sockets Layer (SSL) Programming (SC24-5901) 中的“Using Hardware Cryptographic Features with System SSL”一节。
可以从 z/OS 因特网资料库链接到这两个文档。
- 为 IBM HTTP Server 创建用户标识和组。
- 设置环境变量 * _BPX_JOBNAME(可选): IBM HTTP Server 提供了 <installroot>/bin/envvars 文件,用于设置 httpd 进程的环境变量。您可以通过设置环境变量 * _BPX_JOBNAME,为服务器提供唯一的作业名。这允许您执行下列操作:
- 使用 MVS 操作员命令和“系统显示和搜索工具”(SDSF) 来查看服务器。
- 在工作负载管理(WLM)中对服务器进行归类,以便为 Web 流量指定足够高的优先级。
- 将 syslogd 隔离用于服务器。
- 在 TCP/IP 配置中使用按作业名选择的 PORT 语句。
典型设置如下:export _BPX_JOBNAME=HTTPD。缺省行为是将不断递增的整数追加至作业名,例如,HTTPD1、HTTPD2 和 HTTPD3。有关更多信息,请参阅 z/OS UNIX System Services Planning (GA22-7800) 中的“Generating jobnames for OMVS address spaces”一节。可以从 z/OS 因特网资料库链接到此文档。
如果使用 _BPX_JOBNAME 变量来设置作业名,那么用来运行服务器的用户标识必须具有对 SAF FACILITY 概要文件 BPX.JOBNAME 的读访问权。例如:
有关更多信息,请参阅 z/OS UNIX System Services Planning (GA22-7800) 中的“Setting up the BPX.* FACILITY class profiles”一节。可以从 z/OS 因特网资料库链接到此文档。RDEFINE FACILITY BPX.JOBNAME UACC(NONE) SETROPTS RACLIST(FACILITY) REFRESH PERMIT BPX.JOBNAME CLASS(FACILITY) ACCESS(READ) ID(WWWSERV) SETROPTS RACLIST(FACILITY) REFRESH RLIST FACILITY BPX.JOBNAME ALL


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