![[16.0.0.4 and later]](../ng_v16004plus.gif)
Configuración de certificados y conjuntos de claves SAF en el sistema operativo z/OS
Migre un colectivo existente para utilizar System Authorization Facility (SAF) para funciones relacionadas con la seguridad, como por ejemplo solicitudes de autenticación, autorización o certificados.
Antes de empezar
DN=<nombre_host>, O=IBM, OU=Collective
Configure el atributo rdn con la serie "OU=Collective" del nombre distinguido en el archivo
server.xml:
<collectiveCertificate rdn="OU=Collective"></collectiveCertificate>
Acerca de esta tarea
El componente de unidad organizativa (OU), OU('Collective'), del nombre distinguido de sujeto define la serie y marca el certificado que se reconocerá para el procedimiento siguiente.
En los mandatos RACF de ejemplo siguientes, CONTROL es el ID de usuario RACF del controlador y MEMBER es el ID de usuario RACF del miembro.
Procedimiento
- Cree certificados SAF y un conjunto de claves para el controlador.
- Cree un certificado de entidad emisora de certificados (CA) de controlador colectivo (CERTAUTH).
RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('CONTROLLER ROOT') O('IBM') C('US'))SIZE(2048)WITHLABEL('CONTROLLER ROOT') TRUST NOTAFTER(DATE(2035/12/31))
- Cree un certificado de servidor para el controlador colectivo firmado por la entidad emisora de certificados de controlador colectivo. Importante: Sustituya el texto de controller.host.name con el nombre de host de controlador para evitar una discrepancia de nombre de host con el URL de navegador.
RACDCERT ID(CONTROL) GENCERT SUBJECTSDN(CN('controller.host.name') O('IBM') OU('Collective')) WITHLABEL('CONTROLLER') SIGNWITH(CERTAUTH LABEL('CONTROLLER ROOT')) SIZE(2048) NOTAFTER(DATE(2020/12/30))
- Cree un conjunto de claves para el controlador colectivo.
RACDCERT ID(CONTROL) ADDRING(CONTROL.KEYRING)
- Conecte la entidad emisora de certificados de controlador colectivo al conjunto de claves de controlador.
RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT') RING(CONTROL.KEYRING))ID(CONTROL)
- Conecte el certificado de servidor de controlador al conjunto de claves de controlador.
RACDCERT CONNECT(ID(CONTROL) LABEL('CONTROLLER') RING(CONTROL.KEYRING)) ID(CONTROL)
- Cree un certificado de entidad emisora de certificados (CA) de controlador colectivo (CERTAUTH).
- Cree certificados SAF y un conjunto de claves para el miembro.
- Cree un certificado de entidad emisora de certificados de miembro de colectivo (CERTAUTH).
RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('MEMBER ROOT') O('IBM') C('US'))SIZE(2048)WITHLABEL('MEMBER ROOT') TRUST NOTAFTER(DATE(2035/12/31))
- Conecte la entidad emisora de certificados de miembro de colectivo al conjunto de claves de controlador.
RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT') RING(CONTROL.KEYRING))ID(CONTROL)
- Cree un certificado de servidor para el miembro de colectivo firmado por la entidad emisora de certificados de miembro de colectivo. Importante: Sustituya el texto de member.host.name con el nombre de host miembro para evitar una discrepancia de nombre de host con el URL de navegador.
RACDCERT ID(MEMBER) GENCERT SUBJECTSDN(CN('member.host.name') O('IBM') OU('Collective')) WITHLABEL('MEMBER') SIGNWITH(CERTAUTH LABEL('MEMBER ROOT')) SIZE(2048) NOTAFTER(DATE(2020/12/30))
- Cree un conjunto de claves MEMBER.KEY para el miembro de colectivo.
RACDCERT ID(MEMBER) ADDRING(MEMBER.KEY)
- Conecte la entidad emisora de certificados de miembro de colectivo al conjunto de claves MEMBER.KEY.
RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT') RING(MEMBER.KEY)) ID(MEMBER)
- Conecte el certificado de servidor de miembro al conjunto de claves MEMBER.KEY.
RACDCERT CONNECT(ID(MEMBER) LABEL('MEMBER') RING(MEMBER.KEY)) ID(MEMBER)
- Liste el conjunto de claves de miembro.
Debe ver dos certificados en el conjunto de claves.
RACDCERT ID(MEMBER) LISTRING(MEMBER.KEY)
Información de conjunto digital para el usuario MEMBER: >MEMBER.KEY< Nombre de etiqueta certificado Propietario certificado USO Valor predeterminado -------------------------------- ------------ -------- ------- MEMBER ROOT CERTAUTH CERTAUTH NO MEMBER ID(MEMBER) PERSONAL NO
- Cree un segundo conjunto de claves MEMBER.TRUST para el miembro.
RACDCERT ID(MEMBER) ADDRING(MEMBER.TRUST)
- Conecte la entidad emisora de certificados de controlador colectivo al conjunto de claves MEMBER.TRUST.
RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT') RING(MEMBER.TRUST))ID(MEMBER)
- Liste el conjunto de claves MEMBER.TRUST. Debe ver un único certificado en el conjunto de claves.
RACDCERT ID(MEMBER) LISTRING(MEMBER.TRUST)
Información de conjunto digital para el usuario MEMBER: Conjunto: >MEMBER.TRUST< Nombre de etiqueta certificado Propietario certificado USO Valor predeterminado -------------------------------- ------------ -------- ------- CONTROLLER ROOT CERTAUTH CERTAUTH NO
- Cree un certificado de entidad emisora de certificados de miembro de colectivo (CERTAUTH).
- Liste el conjunto de claves de controlador. Debe ver tres certificados en el conjunto de claves.
RACDCERT ID(CONTROL)LISTRING(CONTROL.KEYRING)
Conjunto: >CONTROL.KEYRING< Nombre de etiqueta certificado Propietario certificado USO Valor predeterminado -------------------------------- ------------ -------- ------- MEMBER ROOT CERTAUTH CERTAUTH NO CONTROLLER ROOT CERTAUTH CERTAUTH NO CONTROLLER ID(CONTROL) PERSONAL NO
- Proporcione al controlador y miembro la autorización para utilizar los conjuntos de claves y certificados de los que son propietarios.
Puede utilizar perfiles de clase FACILITY o perfiles RDATALIB.
El ejemplo siguiente utiliza los permisos de clase FACILITY para los usuarios CONTROL y MEMBER:
PERMIT IRR.DIGTCERT.LIST CLASS(FACILITY) ID(CONTROL MEMBER) ACCESS(READ) PERMIT IRR.DIGTCERT.LISTRING CLASS(FACILITY) ID(CONTROL MEMBER) ACCESS(READ) SETR RACLIST(FACILITY) REFRESH
El ejemplo siguiente utiliza los permisos de clase RDATALIB para los usuarios CONTROL y MEMBER:
PERMIT CONTROL.**.LST CLASS(RDATALIB) ID(CONTROL) ACCESS(READ) PERMIT MEMBER.**.LST CLASS(RDATALIB) ID(MEMBER) ACCESS(READ) SETR RACLIST(RDATALIB) REFRESH
- Añada la característica de seguridad de z/OS a los archivos serverl.xml de controlador y miembro.
- Detenga el controlador y miembro. Guarde una copia de cada uno de los archivos server.xml para el controlador y miembro en los archivos de copia de seguridad.
- Continúe editando los archivos server.xml. En los archivos
server.xml de controlador y miembro, añada las características siguientes al elemento
featureManager:
<feature>ssl-1.0</feature> <feature>zosSecurity-1.0</feature>
- Cree un perfil de clase de servidor para que el controlador y miembro puedan acceder a los servicios SAF. Consulte
Habilitación de servicios autorizados z/OS en Liberty para z/OS en la documentación del producto.
A continuación, en los archivos server.xml de controlador y miembro,
sustituya la línea siguiente:
con las siguientes cinco líneas:<quickStartSecurity userName="admin" userPassword="adminpw" />
<safAuthorization id="saf" racRouteLog="ASIS" /> <safCredentials profilePrefix="BBGZDFLT" unauthenticatedUser="WSGUEST"/> <safRegistry id="saf" realm="WASRealm" /> <safRoleMapper profilePattern="%profilePrefix%.%role%" /> <zosLogging enableLogToMVS="true"></zosLogging>
El perfil EJBROLE que controla el acceso al Centro de administración es BBGZDFLT.Administrator.
- En los archivos server.xml de controlador y miembro, especifique la serie
collectiveCertificate añadiendo la línea siguiente:
<collectiveCertificate rdn="OU=Collective"></collectiveCertificate>
- En el archivo server.xml del controlador, sustituya los nombres de archivo de claves con nombres de conjunto de claves SAF.
- Localice el elemento de almacén de claves con el ID defaultKeyStore. Sustituya location="${server.config.dir}/resources/security/key.jks"/> con las líneas siguientes:
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID defaultTrustStore. Sustituya location="${server.config.dir}/resources/security/trust.jks"/> con las líneas siguientes:
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID serverIdentity. Sustituya
location="${server.config.dir}/resources/collective/serverIdentity.jks"/> con las líneas siguientes:
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID collectiveTrust. Sustituya
location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> con las líneas siguientes:
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
No cambie el elemento de almacén de claves collectiveRootKeys.
- Localice el elemento de almacén de claves con el ID defaultKeyStore. Sustituya location="${server.config.dir}/resources/security/key.jks"/> con las líneas siguientes:
- En el archivo server.xml de miembro, sustituya los nombres de archivo de claves con nombres de conjunto de claves SAF.
- Localice el elemento de almacén de claves con el ID defaultKeyStore. Sustituya location="${server.config.dir}/resources/security/key.jks"/> con las líneas siguientes:
location="safkeyring:///MEMBER.KEY" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID defaultTrustStore. Sustituya location="${server.config.dir}/resources/security/trust.jks"/> con las líneas siguientes:
location="safkeyring:///MEMBER.TRUST" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID serverIdentity. Sustituya
location="${server.config.dir}/resources/collective/serverIdentity.jks"/> con las líneas siguientes:
location="safkeyring:///MEMBER.KEY" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID collectiveTrust. Sustituya
location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> con las líneas siguientes:
location="safkeyring:///MEMBER.TRUST" type="JCERACFKS" fileBased="false" readOnly="true" />
- Localice el elemento de almacén de claves con el ID defaultKeyStore. Sustituya location="${server.config.dir}/resources/security/key.jks"/> con las líneas siguientes:
- Inicie el controlador y miembro.
Subtemas
- Cómo evitar problemas con SSH en un colectivo
Obtenga información sobre cómo evitar problemas con SSH en un colectivo. Los problemas de seguridad normalmente se refieren a que el usuario no tiene acceso a un recurso porque la seguridad es demasiado restrictiva. La opción de configuración SSH StrictModes protege los archivos de claves públicos y privados frente al problema opuesto, es decir, cuando la seguridad es demasiado permisiva. SSH proporciona comunicaciones seguras entre sistemas sin autenticación de contraseña, pero SSH no funciona si los permisos en determinados directorios y archivos no son lo suficientemente estrictos.

Nombre de archivo: tagt_wlp_collective_zos_tls.html