Ce chapitre décrit la procédure d'installation et de configuration d'ICSF.
Plusieurs étapes sont nécessaires pour configurer un système z/OS pour l'utiliser comme fichier de clés externe pour un cluster OKM.
Reportez-vous à la documentation qui accompagne cette carte.
Les PTF associés à Sun ELS 7.0 et NCS 6.2 sont disponibles sur le site des téléchargements logiciels d'Oracle :
http://www.oracle.com/technetwork/indexes/downloads/index.html
Les programmeurs système peuvent télécharger le PTF approprié et l'installer en suivant les procédures standard.
Pour ELS 7.0, la fonction OKM-ICSF est fournie via un PTF ELS. Le proxy OKM-ICSF est une routine CGI de serveur HTTP. Le serveur HTTP SMC doit être actif sur un système où la fonction PKCS11 d'ICSF est active.
La commande OKM est valide à partir de l'ensemble de données SMCPARMS uniquement.
Nom de la commande.
Spécifie le nom du jeton PKCS11 pour l'interface OKM-ICSF. Le premier caractère du nom doit être alphabétique ou un caractère national (#, $ ou @). Chacun des caractères restants peut être alphanumériques, un caractère national ou un point (.). Le nombre maximum de caractères autorisé est 32.
Spécifie le nom du jeton PKCS11 par défaut.
Pour NCS 6.2, la fonction OKM-ICSF est fournie via un PTF SMC. Le proxy OKM-ICSF est une routine CGI de serveur HTTP. La bibliothèque de chargement SMC doit être incluse dans le STEPLIB pour le serveur HTTP (SSKY500). Le nom du jeton PKCS11 est KMS2.TOKEN.MASTERKEYS et ne peut pas être modifié.
Ajoutez ce qui suit aux paramètres de démarrage du serveur HTTP SSKY500 :
LOADMODULE SMCGCSF
Reportez-vous au manuel Storage Management Component (SMC) 6.2 Configuration and Administration Guide pour plus d'informations sur les paramètres de démarrage du serveur HTTP.
Les éléments suivants activent la fonction PKCS#11 d'ICSF :
Assurez-vous que la version d'ICSF est HCR7740 ou une version ultérieure.
Définissez l'ensemble de données de jeton (TKDS) dans MVS. Le TKDS est le référentiel des clés utilisées par PKCS#11. Le TKDS est un ensemble de données VSAM séquencé en clés.
Les clés au sein de l'ensemble de données de jeton ne sont pas chiffrées. Par conséquent, il est important que l'administrateur de sécurité crée un profil RACF pour protéger l'ensemble de données de jeton contre les accès non autorisés.
L'ensemble de données des options d'installation d'ICSF contient deux options liées à l'ensemble de données de jeton :
TKDSN(datasetname)
Identifie l'ensemble de données VSAM qui contient l'ensemble de données de jeton. Il doit être spécifié pour qu'ICSF fournisse les services PKCS#11.
SYSPLEXTKDS(YES|NO,FAIL(YES|NO)
Indique si l'ensemble de données de jeton doit disposer de la cohérence des données sur la totalité de sysplex.
Reportez-vous au manuel IBM z/OS Cryptographic Services ICSF System Programmer's Guide (SA22-7520) pour plus d'informations sur l'initialisation d'ICSF.
ICSF utilise des profils dans la classe CRYPTOZ SAF pour contrôler l'accès aux jetons PKCS#11. L'ID utilisateur de la tâche démarrée par le serveur HTTP doit avoir le niveau d'accès SAF suivant pour le jeton PKCS#11 défini :
SO.token_name CONTROL
USER.token_name UPDATE
Le document Using AT-TLS with Sun Microsystems HSC Client/Server z/OS Solution, Implementation Example (octobre 2008) présente des exemples de configuration d'AT-TLS sur le mainframe IBM.
AT-TLS est une solution de chiffrement pour les applications TCP/IP qui est complètement transparente pour le client et le serveur d'application. Le chiffrement et le déchiffrement des paquets se produit dans l'espace d'adressage TCPIP z/OS au niveau du protocole TCP.
Pour implémenter le chiffrement AT-TLS pour la connexion d'OKM au serveur HTTP NCS/ELS, le niveau minimum nécessaire pour le serveur de communication est z/OS 1.9. Les PTF IBM disponibles suivants (pour APAR PK69048) doivent être appliqués pour bénéficier des performances optimales :
Version 1A0 : z/OS 1.10 UK39417 disponible le 08/10/07
Version 190 : z/OS 1.9 UK39419 disponible le 08/10/07
Reportez-vous aux publications suivantes d'IBM pour plus d'informations sur la configuration de l'agent de stratégie du serveur de communication IBM z/OS et les définitions RACF d'AT-TLS :
IP Configuration Guide, SC31-8775
IP Configuration Reference, SC31-8776
Security Server RACF Security Administrator's Guide, SA22-7683
Security Server RACF Command Language Reference, SA22-7687
IBM Redbook Communications Server for z/OS V1R7 TCP/IP Implementation, Volume 4, Policy-Based Network Security, SG24-7172
Spécifiez le paramètre suivant dans l'ensemble de données de profil TCPIP pour activer la fonction AT-TLS :
TCPCONFIG TTLS
Cette déclaration doit être placée dans le fichier TCP OBEY.
L'espace d'adressage de l'agent de stratégie contrôle quel trafic TCP/IP est chiffré. Voici un exemple de configuration PAGENT.
PAGENT a démarré la tâche 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)
L'ensemble de données pagentdataset contient les variables d'environnement PAGENT.
Voici un exemple de fichier de variables d'environnement 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 contient les paramètres de configuration PAGENT.
Voici un exemple de configuration PAGENT :
TTLSRule KMS-TO-ZOS { LocalAddr localtcpipaddress RemoteAddr remotetcpipaddress LocalPortRange localportrange RemotePortRange remoteportrange Jobname HTTPserverJobname Direction Inbound Priority 255 TTLSGroupActionRef gAct1~KMS_ICSF TTLSEnvironmentActionRefeAct1~KMS_ICSF TTLSConnectionActionRef cAct1~KMS_ICSF } TTLSGroupAction gAct1~KMS_ICSF { TTLSEnabled On Trace 2 } TTLSEnvironmentAction eAct1~KMS_ICSF { HandshakeRole Server EnvironmentUserInstance 0 TTLSKeyringParmsRef keyR~ZOS } TTLSConnectionAction cAct1~KMS_ICSF { HandshakeRole ServerWithClientAuth TTLSCipherParmsRef cipher1~AT-TLS__Gold TTLSConnectionAdvancedParmsRefcAdv1~KMS_ICSF CtraceClearText Off Trace 2 } TTLSConnectionAdvancedParmscAdv1~KMS_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 }
où :
localtcpipaddress
remotetcpipaddress
localportrange
remoteportrange
HTTPserverJobname
certificatelabel
keyringname
Activez les classes RACF suivantes. Les panneaux RACF ou la CLI peuvent être utilisés.
DIGTCERT
DIGTNMAP
DIGTRING
SERVAUTH CLASS doit être RACLIST pour empêcher PORTMAP et RXSERV d'abandonner, TTLS est activé.
Commandes RACF pour effectuer l'opération ci-dessus :
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)
Le document IBM Communications Server for z/OS V1R10 TCP/IP Implementation Volume 4: Security and Policy-Based Networking décrit la procédure requise pour créer et exporter des certificats numériques sur le système z/OS.
L'utilitaire RACDCERT crée et gère les certificats numériques au sein de RACF. Vérifiez que RACDCERT est dans la section AUTHCMD du membre IKJTSOxx dans SYS1.PARMLIB.
Les commandes RACF permettent de créer des trousseaux de clés et des certificats pour l'utilisation par la fonction AT-TLS sont les suivantes :
RACDCERT ID(stcuser) ADDRING(keyringname)
où :
stcuser
keyringname
RACDCERT ID(stcuser) GENCERT CERTAUTH SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('calabel') TRUST SIZE(1024) KEYUSAGE(HANDSHAKE,DATAENCRYPT,CERTSIGN)
où :
stcuser
serverdomainname
companyname
unitname
country
calabel
Remarque:
Il s'agit du certificat CA pour le système OKM.RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('serverlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
où :
stcuser
serverdomainname
companyname
unitname
country
serverlabel
calabel
Remarque:
Il s'agit du certificat SERVER.RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('clientdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('clientlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
où :
stcuser
serverdomainname
companyname
unitname
country
clientlabel
calabel
Remarque:
Il s'agit du certificat CLIENT.Les commandes suivantes connectent les certificats CA, SERVER et CLIENT au trousseau de clés spécifié dans la configuration PAGENT :
RACDCERT ID(stcuser) CONNECT(CERTAUTH LABEL('calabel') RING('keyringname') USAGE(CERTAUTH))
où :
stcuser
calabel
keyringname
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('serverlabel') RING('keyringname') DEFAULT USEAGE(PERSONAL)
où :
stcuser
serverlabel
keyringname
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('clientlabel') RING('keyringname') USEAGE(PERSONAL)
où :
stcuser
clientlabel
keyringname
Les commandes suivantes exportent les certificats CA et client afin de les transmettre à OKM :
RACDCERT EXPORT (LABEL('calabel')) CERTAUTH DSN('datasetname') FORMAT(CERTB64)
où :
calabel
datasetname
RACDCERT EXPORT (LABEL('clientlabel')) ID(stcuser) DSN('datasetname') FORMAT(PKCS12DER) PASSWORD('password')
où :
clientlabel
stcuser
datasetname
password
Les ensembles de données d'exportation sont désormais transmis à OKM et FTP peut être utilisé. Le certificat CA est transmis avec une conversion EBCDIC à ASCII. Le certificat CLIENT est transmis en tant que fichier BINAIRE et contient le certificat du client et sa clé privée.
Les commandes RACF suivantes listent le statut des différents objets 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
Après la configuration du mainframe IBM, le programmeur des systèmes z/OS doit fournir les informations suivantes à l'administrateur du cluster OKM :
Nom d'hôte ou adresse IP du mainframe
Numéro de port (tel que 9889)
Chemin de l'application Web (tel que "/cgi/smcgcsf")
Fichier contenant le "certificat utilisateur" du client (exporté et transféré hors du mainframe)
Fichier contenant la clé privée du client (exportée et transférée hors du mainframe)
Mot de passe utilisé lors de la création de la clé privée du client
Fichier contenant le certificat CA racine (exporté et transféré hors du mainframe)
L'administrateur du cluster OKM saisit ces informations comme paramètres pour le fournisseur de clés principales dans le panneau des paramètres de sécurité de l'interface utilisateur graphique OKM.
Le "certificat utilisateur" du client et la clé privée du client peuvent apparaître dans le même fichier lorsqu'ils sont exportés depuis le mainframe IBM. Si tel est le cas, l'administrateur doit indiquer le fichier dans les champs OKM Certificate File Name (Nom du fichier de certificat OKM) et OKM Private Key File Name (Nom du fichier de clés privées OKM) dans les paramètres du fournisseur de clés principales.
Les champs et leurs descriptions sont indiqués ci-dessous :
Master Key Mode (Mode de clé principale)
Master Key Rekey Period (Période de nouvelle saisie des clés principales)
Master Key Provider Network Address (Adresse réseau du fournisseur de clés principales)
Master Key Provider Port Number (Numéro de port du fournisseur de clés principales)
Master Key Provider Web App Path (Chemin d'application Web du fournisseur de clés principales)
OKM Certificate File Name (Nom du fichier de certificat OKM)
OKM Private Key File Name (Nom du fichier de la clé principale OKM)
OKM Private Key Password (Mot de passe de la clé privée OKM)
CA Certificate File Name (Nom du fichier de certificat CA)