必须先验证用户,然后才能允许他们访问 STA。本地用户的创建和角色分配是在 STA 应用程序中处理的,这在"配置用户."中有介绍。本章介绍如何为 STA 配置外部安全服务提供程序 (Security Service Provider, SSP):Open LDAP 和 IBM Resource Access Control Facility (RACF)。
要为 STA 配置 Open LDAP,请执行以下步骤。
使用您在 STA 安装过程中选择的 HTTP(默认为 7001)或 HTTPS(默认为 7002)端口号转至 WebLogic 控制台登录屏幕。
http(s)://yourHostName:PortNumber/console/
使用在 STA 安装过程中定义的 WebLogic 管理控制台用户名和密码登录。
在屏幕左侧的 "Domain Structure"(域结构)下,单击 Security Realms(安全领域)。
在 "Realms"(领域)下,选择 myrealm(选择名称本身,而不是复选框)。
单击 Providers(提供程序)选项卡。
在屏幕左上角的 "Change Center"(更改中心)下,单击 Lock & Edit(锁定并编辑)。
在 "Authentication Providers"(验证提供程序)下,单击 New(新建)。
输入验证提供程序的名称(例如 openLdapAuthenticator)并在 "Type"(类型)列表中选择 OpenLDAPAuthenticator。单击 OK。
选择 DefaultAuthenticator(选择名称本身,而不是复选框)。
将 Control Flag(控制标记)更改为 "Sufficient"(足够),然后单击 Save(保存)。
单击 Providers(提供程序)定位器链接(屏幕顶部附近)以返回到 "Authentication Providers"(验证提供程序)屏幕。
在 "Authentication Providers"(验证提供程序)下,选择在步骤 8 中创建的 Open LDAP 验证程序名称(选择名称本身,而不是复选框)。
将 Control Flag(控制标记)更改为 "Sufficient"(足够),然后单击 Save(保存)。
单击 Provider Specific(提供程序特定)选项卡。
输入以下参数。这些设置应用于 lses-ldap1 服务器,并且特定于每个客户环境。
Host(主机)= lses-ldap1
Port(端口)= 389
Principal(主用户)= 留空
Credential(身份证明)= 留空
User Base DN(用户基本 DN)= ou=people,dc=oracle,dc=eng
User From Name Filter(名称筛选器中的用户)= (&(cn=%u)(objectclass=inetOrgPerson))
User Object Class(用户对象类)= inetOrgPerson
Group Base DN(组基本 DN)= ou=groups,dc=oracle,dc=eng
Group From Name Filter(名称筛选器中的组)= (&(cn=%g)(objectclass=groupofnames))
单击 Save(保存)。
在屏幕左上角的 "Change Center"(更改中心)下,单击 Activate Changes(激活更改)。
(可选)通过执行以下操作来测试配置:
从 WebLogic 控制台注销。
使用 STA
命令停止然后重新启动 STA。有关命令用法的信息,请参见《STA 管理指南》。
# STA stop all # STA start all
重新登录 WebLogic 控制台。
转到 Security Realms(安全领域) > myrealm > Users and Groups(用户和组)。
在 Users(用户)和 Groups(组)选项卡中,验证在 Open LDAP 提供程序的 "Provider"(提供程序)列中是否存在条目。
要为 STA 配置 RACF 验证,请执行以下任务:
注: STA 支持与 IBM RACF 兼容的第三方产品;例如,CA 的 ACF-2 和 Top Secret。这需要安装 STA 的人员或安全管理员来发出适合所安装的安全产品的命令。 |
RACF 要求在《STA 要求指南》中有描述。
STA 的大型机端 RACF 服务由属于 ELS 7.0 和 7.1 的 SMC 组件的 CGI 例程提供。此 CGI 例程由 SMC HTTP 服务器调用,并使用在 FACILITY 类中定义的 RACF 配置文件。
对于要使用 RACF 作为访问验证方式的 STA,在大型机上,必须设置运行 HTTP 服务器的 SMC 启动任务。可以在 ELS 文档 "Configuring and Managing SMC" 中找到有关如何执行此操作的详细信息。
脚注 1 如果使用以值提供的 STC 标识符(例如 JOBNAME.JOB),这将导致 CGI 例程连接故障。
用于 HTTP 服务器的端口号必须与 WebLogic 控制台中定义的端口号匹配,主机必须与运行 SMC 任务的主机的 IP 名称匹配。
注: 如果在要执行 RACF 授权的主机上存在 SMC,则可使用现有的 SMC。在这种情况下,在执行 WebLogic 配置时,可使用现有 HTTP 服务器的端口号。 |
AT-TLS 是一种 TCP/IP 应用程序加密解决方案,对应用程序和客户机透明。包加密和解密发生在 TCP 协议层的 z/OS TCPIP 地址空间中。有关 RACF 授权的 AT-TLS 要求在《STA 要求指南》中有介绍。
以下 RACF 命令可列出将在配置过程中定义的各种 RACF 对象的状态:
RLIST STARTED PAGENT.* STDATA ALL
RLIST DIGTRING *ALL
RLIST FACILITY IRR.DIGTCERT.LISTRING ALL
RLIST FACILITY IRR.DIGCERT.LST ALL
RLIST FACILITY IRR.DIGCERT.GENCERT ALL
RACDCERT ID(stcuser) LIST
RACDCERT ID(stcuser) LISTRING(keyringname)
RACDCERT CERTAUTH LIST
要配置 AT-TLS,请执行以下操作:
激活 AT-TLS
在 TCPIP 配置文件数据集中指定以下参数以激活 AT-TLS 功能:
TCPCONFIG TTLS
此语句可以放在 TCP OBEY 文件中。
配置策略代理 (Policy Agent, PAGENT)
策略代理地址空间控制要加密的 TCP/IP 流量。
输入 PAGENT 启动任务 JCL。
例如:
//PAGENT PROC //* //PAGENT EXEC PGM=PAGENT,REGION=0K,TIME=NOLIMIT, // PARM='POSIX(ON) ALL31(ON) ENVAR("_CEE_ENVFILE=DD:STDENV")/-d1' //* //STDENV DD DSN=pagentdataset,DISP=SHR//SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //* //CEEDUMP DD SYSOUT=*,DCB=(RECFM=FB,LRECL=132,BLKSIZE=132)
输入 PAGENT 环境变量。pagentdataset 数据集包含 PAGENT 环境变量。
例如:
LIBPATH=/lib:/usr/lib:/usr/lpp/ldapclient/lib:. PAGENT_CONFIG_FILE=/etc/pagent.conf PAGENT_LOG_FILE=/tmp/pagent.log PAGENT_LOG_FILE_CONTROL=3000,2 _BPXK_SETIBMOPT_TRANSPORT=TCPIP TZ=MST7MDT
在此示例中,/etc/pagent.conf 包含 PAGENT 配置参数。将您自己的时区用于 TZ 参数。
配置 PAGENT。
例如:
TTLSRule TBI-TO-ZOS { LocalAddr localtcpipaddress RemoteAddr remotetcpipaddress LocalPortRange localportrange RemotePortRange remoteportrange Jobname HTTPserverJobname Direction Inbound Priority 255 TTLSGroupActionRef gAct1~TBI_ICSF TTLSEnvironmentActionRef eAct1~TBI_ICSF TTLSConnectionActionRef cAct1~TBI_ICSF } TTLSGroupAction gAct1~TBI_ICSF { TTLSEnabled On Trace 2 } TTLSEnvironmentAction eAct1~TBI_ICSF { HandshakeRole Server EnvironmentUserInstance 0 TTLSKeyringParmsRef keyR~ZOS } TTLSConnectionAction cAct1~TBI_ICSF { HandshakeRole ServerWithClientAuth TTLSCipherParmsRef cipher1~AT-TLS__Gold TTLSConnectionAdvancedParmsRef cAdv1~TBI_ICSF CtraceClearText Off Trace 2 } TTLSConnectionAdvancedParms cAdv1~TBI_ICSF { ApplicationControlled Off HandshakeTimeout 10 ResetCipherTimer 0 CertificateLabel certificatelabel SecondaryMap Off } TTLSKeyringParms keyR~ZOS { Keyring keyringname } TTLSCipherParms cipher1~AT-TLS__Gold { V3CipherSuites TLS_RSA_WITH_3DES_EDE_CBC_SHA V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA }
其中:
localtcpipaddress
本地 TCP/IP 地址(HTTP 服务器的地址)
remotetcpipaddress
远程 TCP/IP 地址(STA 客户机的地址)。此参数值可以为 ALL,表示所有 TCP/IP 地址
localportrange
HTTP 服务器的本地端口(在 HTTP 或 SMC 启动中指定)
remoteportrange
远程端口范围(1024-65535,涵盖所有临时端口)
HTTPserverJobname
HTTP 服务器的作业名
certificatelabel
证书定义中的标签
keyringname
RACF 密钥环定义中的名称
激活 RACF 类
输入以下命令激活 RACF 类。可以使用 RACF 面板或 CLI。
RACF 类包括:
DIGTCERT
DIGTNMAP
DIGTRING
SERVAUTH 类必须进行 RACLIST 以防止 PORTMAP 和 RXSERV 异常终止。
SETROPTS RACLIST(SERVAUTH) RDEFINE SERVAUTH **UACC(ALTER) OWNER (RACFADM) RDEFINE STARTED PAGENT*.* OWNER(RACFADM) STDATA(USER(TCPIP) GROUP(STCGROUP) RDEFINE FACILITY IRR.DIGTCERT.LISTRING UACC(NONE) OWNER(RACFADM) RDEFINE FACLITY IRR.DIGTCERT.LIST UACC(NONE) OWNER(RACFADM) RDEFINE FACILITY IRR.DIGTCERT.GENCERT UACC(NONE) OWNER (RACFADM)
定义 RACF 密钥环和证书
输入以下 RACF 命令创建密钥环和证书:
RACDCERT ID(stcuser) ADDRING(keyringname)
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
keyringname:密钥环名称,必须与 PAGENT 配置中指定的密钥环匹配
RACDCERT ID(stcuser) GENCERT CERTAUTH SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('calabel') TRUST SIZE(1024) KEYUSAGE(HANDSHAKE,DATAENCRYPT,CERTSIGN)
注: 这是 STA 系统的 CA 证书。 |
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
serverdomainname:z/OS 服务器的域名(例如 MVSA.COMPANY.COM)
companyname:组织名称
unitname:组织单位名称
country:国家/地区
calabel:证书颁发机构的标签(例如 CATBISERVER)
RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('serverlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
注: 这是 SERVER 证书。 |
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
serverdomainname:z/OS 服务器的域名(例如 MVSA.COMPANY.COM)
companyname:组织名称
unitname:组织单位名称
country:国家/地区
serverlabel:服务器证书的标签(例如 TBISERVER)
calabel:证书颁发机构的标签,在 CA 证书定义中指定
RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('clientdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('clientlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
注: 这是 CLIENT 证书。 |
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
clientdomainname:STA 客户机的域名(例如 TBIA.COMPANY.COM)
companyname:组织名称
unitname:组织单位名称
country:国家/地区
clientlabel:服务器证书的标签-TBICLIENT
calabel:证书颁发机构的标签,在 CA 证书定义中指定。
输入以下命令将 CA、SERVER 和 CLIENT 证书连接到在 PAGENT 配置中指定的密钥环:
RACDCERT ID(stcuser) CONNECT(CERTAUTH LABEL('calabel') RING('keyringname') USAGE(CERTAUTH))
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
calabel:证书颁发机构的标签,在 CA 证书定义中指定
keyringname:密钥环名称,必须与 PAGENT 配置中指定的密钥环匹配
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('serverlabel') RING('keyingname') DEFAULT USEAGE(PERSONAL)
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
serverlabel:服务器证书的标签
keyringname:密钥环名称,必须与 PAGENT 配置中指定的密钥环匹配
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('clientlabel') RING('keyingname') USEAGE(PERSONAL)
其中:
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
clientlabel:客户机证书的标签
keyringname:密钥环名称,必须与 PAGENT 配置中指定的密钥环匹配
输入以下命令导出要传输到 STA 的 CA 和客户机证书:
RACDCERT EXPORT (LABEL('calabel')) CERTAUTH DSN('datasetname') FORMAT(CERTB64)
其中:
calabel:证书颁发机构的标签,在 CA 证书定义中指定
datasetname:要接收导出的证书的数据集
RACDCERT EXPORT (LABEL('clientlabel')) ID(stcuser) DSN('datasetname') FORMAT(PKCS12DER) PASSWORD(' password ')
其中:
clientlabel:客户机证书的标签
stcuser:与 TCPIP 地址空间关联的 RACF 用户 ID
datasetname:要接收导出的证书的数据集
password:数据加密的密码。在 STA 上接收证书时需要此密码。密码必须至少有八个字符。
导出数据集现在传输到 STA,并且可使用 FTP。通过 EBCDIC 到 ASCII 的转换传输 CA 证书。CLIENT 证书作为 BINARY 文件传输,并且同时包含客户机证书及其私钥。
这些配置文件在 FACILITY 类中定义。其中第一个配置文件称为 SMC.ACCESS.STA,可以确定用户是否有权访问 STA 应用程序。
需要访问 STA 的用户必须具有对此配置文件的 READ 访问权限。其他配置文件都显示为 SMC.ROLE.nnn,用于确定用户在登录后具有的角色。
注: 对 STA 定义的唯一角色是 StorageTapeAnalyticsUser。要获取此角色,您必须请求将您的 userid 添加到 SMC.ROLE.STORAGETAPEANALYTICSUSER 配置文件中,并具有 READ 访问权限。 |
要测试是否成功生成了公钥和私钥以及是否正确定义了具有相应权限的用户 ID 和密码,此过程很有价值。
可以使用任何浏览器进行测试,但此处以 Firefox 为例。
在 Firefox 中,依次单击 Tools(工具)和 Options(选项)。
依次选择 Advanced(高级)选项卡和 Encryption(加密)选项卡。
单击 View Certificates(查看证书)按钮。
单击 Certificate Manager(证书管理器)对话框中的 Authorities(证书机构)选项卡,然后选择要导入的证书文件。
单击 Import(导入)。
单击 Your Certificates(您的证书)选项卡,然后输入要导入的私钥文件。
单击 Import(导入)。
单击 OK(确定)按钮以保存并退出对话框。
要通过浏览器测试 CGI 例程,请输入以下 URL,其中 host、port、userid 和 password 设置为相应的值。
https://host:port/smcgsaf?type=authentication&userid=userid
&password=password&roles=StorageTapeAnalyticsUser
生成的输出指示用户是否得到授权访问 STA 以及是否具有 StorageTapeAnalyticsUser 角色。
注: STA RACF 授权工具不支持更改大型机用户 ID 的密码。如果用户 ID 密码到期,STA 将指出,并且必须通过常规大型机通道重置密码后才能尝试重新登录 STA。 |
RACF 安全服务提供程序(即 RACF SSP)必须作为插件安装到 WebLogic 中。
如果安装了 RACF SSP,STA 安装程序会将 RACF SSP 放在 WebLogic 内的相应位置。如果尚未安装,请将 RACF jar 安全文件放到以下目录中:
/Oracle/Middleware/wlserver_10.3/server/lib/mbeantypes/staRACF.jar
在 MVS 系统上安装所需的 PTF。这些 PTF 支持在登录到 STA 时使用 RACF 或其他第三方安全软件进行验证。有关 PTF 要求,请参见《STA 要求指南》。
在 MVS 配置了应用程序透明 TLS (Application Transparent TLS, AT-TLS),对服务器而言,为 SMC HTTP 服务器和 WebLogic 定义的端口号是加密的。
在继续操作之前,请确保拥有两个文件:MVS 服务器证书(采用 ASCII 格式)和 STA 客户机私钥(采用二进制 PKCS12 格式)。MVS 系统管理员向您提供了 PKCS12 文件的密码。
将证书放在 Oracle/Middleware/user_projects/domains/tbi/cert 中。
将证书从 DER 格式转换为 PEM 格式。
openssl pkcs12 -clcerts -in PKCS12DR.xxxxxx -out mycert.pem
系统将要求您输入 "Import Password"(随证书提供)、新的 PEM 密码以及密码认证。
使用 Java keytool 命令,通过以下命令将证书文件导入到 /Oracle/Middleware/jdk1.6.0_xx/jre/lib/security/cacerts 文件中:
/Oracle/Middleware/jdk1.6.0_xx/jre/bin/keytool -importcert -alias tbiServer -file certificate -keystore /Oracle/Middleware/jdk1.6.0_xx/jre/lib/security/cacerts -storetype jks
要配置 WebLogic 进行 RACF 验证,请执行"重新配置 WebLogic 以使用不同的安全证书."中的过程。
使用您在 STA 安装过程中选择的 HTTP(默认为 7001)或 HTTPS(默认为 7002)端口号转至 WebLogic 控制台登录屏幕。
http(s)://yourHostName:PortNumber/console/
使用在 STA 安装过程中定义的 WebLogic 管理控制台用户名和密码登录。
在屏幕左侧的 "Domain Structure"(域结构)下,单击 Security Realms(安全领域)。
在 "Realms"(领域)下,选择 myrealm(选择名称本身,而不是复选框)。
在屏幕左上角的 "Change Center"(更改中心)下,单击 Lock & Edit(锁定并编辑)。
选择 Providers(提供程序)选项卡。
在 "Authentication Providers"(验证提供程序)下,单击 New(新建)。
输入验证提供程序的名称(例如 RacfAuthenticator)并在 "Type"(类型)列表中选择 RacfAuthenticator。单击 OK。
在 "Type"(类型)列表中,应列出 RACF jar 文件。如果未列出,请使用 STA
命令停止然后重新启动 STA。有关命令用法的信息,请参见《STA 管理指南》。
在 "Authentication Providers"(验证提供程序)下,确保 RACF 提供程序是列表中最后一个。DefaultAuthenticator 和 DefaultIdentityAsserter 必须始终是此列表中的前两个项目。
单击 DefaultAuthenticator(选择名称本身,而不是复选框)。
将 "Control Flag"(控制标记)更改为 "Sufficient"(足够),然后单击 Save(保存)。
选择 Provider Specific(提供程序特定)选项卡,然后单击 Save(保存)。
单击 Providers(提供程序)定位器链接以返回到 "Authentication Providers"(验证提供程序)屏幕。
在 "Authentication Providers"(验证提供程序)下,选择在步骤 8 中创建的 RACF 验证程序名称(选择名称本身,而不是复选框)。
将 "Control Flag"(控制标记)更改为 "Sufficient"(足够),然后单击 Save(保存)。
选择 Provider Specific(提供程序特定)选项卡。
输入正在运行 MVS 系统的主机名(例如 mvshost.yourcompany.com)和端口号(例如 8700),然后单击 Save(保存)。
在屏幕左上角的 "Change Center"(更改中心)下,单击 Activate Changes(激活更改)。
从 WebLogic 注销。
使用 STA
命令停止然后重新启动 STA。有关使用 STA
命令的其他信息,请参见《STA 管理指南》。
# STA stop all # STA start all