2 Installation et configuration d'ICSF

Ce chapitre décrit la procédure d'installation et de configuration d'ICSF.

Mainframe IBM

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.

Installation et configuration de la carte cryptographique CEX2C

Reportez-vous à la documentation qui accompagne cette carte.

Installation des PTF Sun ELS ou NCS

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.

Configuration d'ELS 7.0

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.

Le texte environnant décrit kms_token.png.
KMS

Nom de la commande.

TOKEN
tokenname

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.

KMS2.TOKEN.MASTERKEYS

Spécifie le nom du jeton PKCS11 par défaut.

Configuration de NCS 6.2

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.

Préparation d'ICSF

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

Configuration d'AT-TLS

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

Paramètre TCPIP OBEY

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.

Configuration de l'agent de stratégie (PAGENT)

L'espace d'adressage de l'agent de stratégie contrôle quel trafic TCP/IP est chiffré. Voici un exemple de configuration PAGENT.

JCL 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.

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.

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

adresse TCP/IP locale (adresse du serveur HTTP)

remotetcpipaddress

adresse TCP/IP distante (adresse du client OKM), peut être ALL pour toutes les adresses TCP/IP

localportrange

port local du serveur HTTP (spécifié dans le démarrage SMC ou HTTP)

remoteportrange

plage de ports à distance (1024-65535 pour tous les ports éphémères)

HTTPserverJobname

nom de la tâche du serveur HTTP

certificatelabel

étiquette de la définition de certificat

keyringname

nom de la définition de trousseau de clés RACF
Définitions RACF

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

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)

Commandes de création de certificat RACF

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

ID utilisateur RACF associé à l'espace d'adressage TCPIP

keyringname

Nom du trousseau de clés, doit correspondre au trousseau de clés spécifié dans la configuration PAGENT
  • 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

ID utilisateur RACF associé à l'espace d'adressage TCPIP

serverdomainname

Nom de domaine du serveur z/OS (par exemple, MVSA.COMPANY.COM)

companyname

Nom de l'organisation

unitname

Nom de l'unité d'organisation

country

Pays

calabel

Etiquette de l'autorité de certification (par exemple, CAKMSSERVER)

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

ID utilisateur RACF associé à l'espace d'adressage TCPIP

serverdomainname

Nom de domaine du serveur z/OS (par exemple, MVSA.COMPANY.COM)

companyname

Nom de l'organisation

unitname

Nom de l'unité d'organisation

country

Pays

serverlabel

Etiquette du certificat du serveur (par exemple, KMSSERVER)

calabel

Etiquette de l'autorité de certification, spécifiée dans la définition du certificat CA

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

ID utilisateur RACF associé à l'espace d'adressage TCPIP

serverdomainname

Nom de domaine du serveur z/OS (par exemple, MVSA.COMPANY.COM)

companyname

Nom de l'organisation

unitname

Nom de l'unité d'organisation

country

Pays

clientlabel

Etiquette du certificat du serveur — KMSCLIENT

calabel

Etiquette de l'autorité de certification, spécifiée dans la définition du certificat CA

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

ID utilisateur RACF associé à l'espace d'adressage TCPIP

calabel

Etiquette de l'autorité de certification, spécifiée dans la définition du certificat CA

keyringname

Nom du trousseau de clés, doit correspondre au trousseau de clés spécifié dans la configuration PAGENT
  • RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('serverlabel') RING('keyringname') DEFAULT USEAGE(PERSONAL)

où :

stcuser

ID utilisateur RACF associé à l'espace d'adressage TCPIP

serverlabel

Etiquette du certificat du serveur

keyringname

Nom du trousseau de clés, doit correspondre au trousseau de clés spécifié dans la configuration PAGENT
  • RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('clientlabel') RING('keyringname') USEAGE(PERSONAL)

où :

stcuser

ID utilisateur RACF associé à l'espace d'adressage TCPIP

clientlabel

Etiquette du certificat du client

keyringname

Nom du trousseau de clés, doit correspondre au trousseau de clés spécifié dans la configuration PAGENT

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

Etiquette de l'autorité de certification, spécifiée dans la définition du certificat CA

datasetname

Ensemble de données devant recevoir le certificat exporté
  • RACDCERT EXPORT (LABEL('clientlabel')) ID(stcuser) DSN('datasetname') FORMAT(PKCS12DER) PASSWORD('password')

où :

clientlabel

Etiquette du certificat du client

stcuser

ID utilisateur RACF associé à l'espace d'adressage TCPIP

datasetname

Ensemble de données devant recevoir le certificat exporté

password

Mot de passe pour le chiffrement de données. Nécessaire lorsque le certificat est reçu sur OKM. Le mot de passe doit se composer de 8 caractères ou plus.

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.

Commandes de liste RACF

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

Mise à jour des informations du cluster OKM

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 texte environnant décrit secparams.jpg.

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.

Le texte environnant décrit master_key_sets.jpg.

Les champs et leurs descriptions sont indiqués ci-dessous :

Master Key Mode (Mode de clé principale)

Sélectionnez ”Off” (Désactivé), ”All Keys” (Toutes les clés) ou ”Recover Keys Only” (Récupérer les clés). Une valeur ”Off” (Désactivé) indique que les KMA de ce cluster OKM créent leurs propres clés et ne dérivent pas les clés d'un fournisseur de clés principales. Une valeur ”All Keys” (Toutes les clés) indique que les KMA de ce cluster OKM contactent le fournisseur de clés principales défini dans les paramètres de cet écran afin de créer et de récupérer des clés principales, puis d'utiliser ces clés principales pour dériver des clés pour les agents. Une valeur ”Recover Keys Only” (Récupérer les clés uniquement) indique que les KMA dans ce cluster OKM contactent le fournisseur de clés principales défini dans les paramètres de cet écran pour récupérer (mais pas créer) les clés principales puis les utiliser pour dériver des clés pour les agents. Les valeurs ”All Keys” (Toutes les clés) et ”Recover Keys Only” (Récupérer les clés uniquement) peuvent être définies uniquement si la version de Replication est au moins la version 11.

Master Key Rekey Period (Période de nouvelle saisie des clés principales)

Saisissez le temps qui définit la fréquence à laquelle ce KMA doit contacter le fournisseur de clés principales pour créer et récupérer les nouvelles clés principales. La valeur par défaut est 1 jour. La valeur minimale est 1 jour et la valeur maximale est 25 185 jours (environ 69 ans).

Master Key Provider Network Address (Adresse réseau du fournisseur de clés principales)

Saisissez le nom d'hôte ou l'adresse IP de l'hôte sur lequel réside le fournisseur de clés principales.

Master Key Provider Port Number (Numéro de port du fournisseur de clés principales)

Saisissez le numéro de port sur lequel le fournisseur de clés principales écoute les demandes des KMA dans ce cluster OKM.

Master Key Provider Web App Path (Chemin d'application Web du fournisseur de clés principales)

Saisissez le chemin d'application Web qui forme une partie de l'adresse URL utilisée pour contacter le fournisseur de clés principales (par exemple, "/cgi/smcgcsf").

OKM Certificate File Name (Nom du fichier de certificat OKM)

Spécifiez le nom du fichier qui contient le certificat OKM qui a été exporté depuis l'hôte du fournisseur de clés principales. Le fournisseur de clés principales utilise ce certificat pour vérifier les demandes des KMA dans ce cluster OKM.

OKM Private Key File Name (Nom du fichier de la clé principale OKM)

Spécifiez le nom du fichier qui contient la clé principale OKM qui a été exportée depuis l'hôte du fournisseur de clés principales. Le fournisseur de clés principales utilise cette clé privée pour vérifier les demandes des KMA dans ce cluster OKM.

OKM Private Key Password (Mot de passe de la clé privée OKM)

Saisissez le mot de passe de la clé privée OKM tel qu'il a été généré sur l'hôte du fournisseur de clés principales. Le fournisseur de clés principales utilise ce mot de passe de clé privée pour vérifier les demandes des KMA de ce cluster OKM.

CA Certificate File Name (Nom du fichier de certificat CA)

Spécifiez le nom du fichier qui contient le certificat CA (autorité de certification) qui a été exporté.