![[16.0.0.4 and later]](../ng_v16004plus.gif)
z/OS オペレーティング・システムでの TLS 用の SAF 証明書および鍵リングの構成
認証、許可、または証明書の要求などのセキュリティー関連機能で System Authorization Facility (SAF) を使用するために、既存の集合をマイグレーションします。
始める前に
コントローラーおよびメンバー用の定義済みストリングを使用して、管理セキュリティーで使用する集合証明書にマークを付けます。例えば、証明書の識別名 (DN) が以下のようになっているものとします。
DN=<hostname>, O=IBM, OU=Collective
以下のように、server.xml ファイルで識別名からの「OU=Collective」ストリングで rdn 属性を構成します。
<collectiveCertificate rdn="OU=Collective"></collectiveCertificate>
このタスクについて
以下の手順で、組織単位 (OU) の OU('Collective') (サブジェクト識別名の構成要素) によってストリングを定義し、証明書を認識済みとしてマークします。
以下のサンプル RACF® コマンドでは、CONTROL がコントローラーの RACF ユーザー ID であり、MEMBER がメンバーの RACF ユーザー ID です。
手順
- コントローラーの SAF 証明書および鍵リングを作成します。
- 集合コントローラーの CA (CERTAUTH) 証明書を作成します。
RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('CONTROLLER ROOT') O('IBM') C('US'))SIZE(2048)WITHLABEL('CONTROLLER ROOT') TRUST NOTAFTER(DATE(2035/12/31))
- 集合コントローラーの CA によって署名された、集合コントローラーのサーバー証明書を作成します。 重要: controller.host.name のテキストは、コントローラーのホスト名に置き換えて、ホスト名がブラウザーの URL と一致しないことがないようにしてください。
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))
- 集合コントローラーの鍵リングを作成します。
RACDCERT ID(CONTROL) ADDRING(CONTROL.KEYRING)
- 集合コントローラーの CA をコントローラーの鍵リングに接続します。
RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT') RING(CONTROL.KEYRING))ID(CONTROL)
- コントローラーのサーバー証明書をコントローラーの鍵リングに接続します。
RACDCERT CONNECT(ID(CONTROL) LABEL('CONTROLLER') RING(CONTROL.KEYRING)) ID(CONTROL)
- 集合コントローラーの CA (CERTAUTH) 証明書を作成します。
- メンバーの SAF 証明書および鍵リングを作成します。
- 集合メンバーの CA (CERTAUTH) 証明書を作成します。
RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('MEMBER ROOT') O('IBM') C('US'))SIZE(2048)WITHLABEL('MEMBER ROOT') TRUST NOTAFTER(DATE(2035/12/31))
- 集合メンバーの CA をコントローラーの鍵リングに接続します。
RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT') RING(CONTROL.KEYRING))ID(CONTROL)
- 集合メンバーの CA によって署名された、集合メンバーのサーバー証明書を作成します。 重要: member.host.name のテキストは、メンバーのホスト名に置き換えて、ホスト名がブラウザーの URL と一致しないことがないようにしてください。
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))
- 集合メンバーの鍵リング MEMBER.KEY を作成します。
RACDCERT ID(MEMBER) ADDRING(MEMBER.KEY)
- 集合メンバーの CA を MEMBER.KEY 鍵リングに接続します。
RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT') RING(MEMBER.KEY)) ID(MEMBER)
- メンバーのサーバー証明書を MEMBER.KEY 鍵リングに接続します。
RACDCERT CONNECT(ID(MEMBER) LABEL('MEMBER') RING(MEMBER.KEY)) ID(MEMBER)
- メンバーの鍵リングをリストします。
鍵リング内の 2 つの証明書が表示されるはずです。
RACDCERT ID(MEMBER) LISTRING(MEMBER.KEY)
Digital ring information for user MEMBER: >MEMBER.KEY< Certificate Label Name Cert Owner USAGE DEFAULT -------------------------------- ------------ -------- ------- MEMBER ROOT CERTAUTH CERTAUTH NO MEMBER ID(MEMBER) PERSONAL NO
- メンバーの 2 番目の鍵リング MEMBER.TRUST を作成します。
RACDCERT ID(MEMBER) ADDRING(MEMBER.TRUST)
- 集合コントローラーの CA を MEMBER.TRUST 鍵リングに接続します。
RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT') RING(MEMBER.TRUST))ID(MEMBER)
- MEMBER.TRUST 鍵リングをリストします。鍵リング内の 1 つの証明書が表示されるはずです。
RACDCERT ID(MEMBER) LISTRING(MEMBER.TRUST)
Digital ring information for user MEMBER: Ring: >MEMBER.TRUST< Certificate Label Name Cert Owner USAGE DEFAULT -------------------------------- ------------ -------- ------- CONTROLLER ROOT CERTAUTH CERTAUTH NO
- 集合メンバーの CA (CERTAUTH) 証明書を作成します。
- コントローラーの鍵リングをリストします。鍵リング内の 3 つの証明書が表示されるはずです。
RACDCERT ID(CONTROL)LISTRING(CONTROL.KEYRING)
Ring: >CONTROL.KEYRING< Certificate Label Name Cert Owner USAGE DEFAULT -------------------------------- ------------ -------- ------- MEMBER ROOT CERTAUTH CERTAUTH NO CONTROLLER ROOT CERTAUTH CERTAUTH NO CONTROLLER ID(CONTROL) PERSONAL NO
- 所有している鍵リングおよび証明書を使用する権限をコントローラーおよびメンバーに付与します。
FACILITY クラス・プロファイルまたは RDATALIB プロファイルを使用できます。
以下の例では、CONTROL ユーザーおよび MEMBER ユーザーに対して FACILITY クラス許可を使用します。
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
以下の例では、CONTROL ユーザーおよび MEMBER ユーザーに対して RDATALIB クラス許可を使用します。
PERMIT CONTROL.**.LST CLASS(RDATALIB) ID(CONTROL) ACCESS(READ) PERMIT MEMBER.**.LST CLASS(RDATALIB) ID(MEMBER) ACCESS(READ) SETR RACLIST(RDATALIB) REFRESH
- z/OS® セキュリティー・フィーチャーをコントローラーおよびメンバーの serverl.xml ファイルに追加します。
- コントローラーとメンバーを停止します。コントローラーおよびメンバーのそれぞれの server.xml ファイルのコピーをバックアップ・ファイルに保存します。
- 引き続き、server.xml ファイルを編集します。コントローラーおよびメンバーの server.xml ファイルで、以下のフィーチャーを featureManager エレメントに追加します。
<feature>ssl-1.0</feature> <feature>zosSecurity-1.0</feature>
- サーバー・クラス・プロファイルを作成して、コントローラーおよびメンバーが SAF サービスにアクセスできるようにします。製品資料の『z/OS 用 Liberty での z/OS 許可サービスの使用可能化』を参照してください。
次に、コントローラーおよびメンバーの server.xml ファイルで、以下の行を置き換えます。
以下の 5 行に置き換えます。<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>
Admin Center へのアクセスを制御する EJBROLE プロファイルは、BBGZDFLT.Administrator です。
- コントローラーおよびメンバーの server.xml ファイルで、以下の行を追加して collectiveCertificate ストリングを指定します。
<collectiveCertificate rdn="OU=Collective"></collectiveCertificate>
- コントローラーの server.xml ファイルで、鍵ファイル名を SAF 鍵リング名に置き換えます。
- defaultKeyStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/key.jks"/> を以下の行に置き換えます。
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- defaultTrustStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/trust.jks"/> を以下の行に置き換えます。
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- serverIdentity ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/collective/serverIdentity.jks"/> を以下の行に置き換えます。
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
- collectiveTrust ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> を以下の行に置き換えます。
location="safkeyring:///CONTROL.KEYRING" type="JCERACFKS" fileBased="false" readOnly="true" />
collectiveRootKeys keystore エレメントは変更しないでください。
- defaultKeyStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/key.jks"/> を以下の行に置き換えます。
- メンバーの server.xml ファイルで、鍵ファイル名を SAF 鍵リング名に置き換えます。
- defaultKeyStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/key.jks"/> を以下の行に置き換えます。
location="safkeyring:///MEMBER.KEY" type="JCERACFKS" fileBased="false" readOnly="true" />
- defaultTrustStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/trust.jks"/> を以下の行に置き換えます。
location="safkeyring:///MEMBER.TRUST" type="JCERACFKS" fileBased="false" readOnly="true" />
- serverIdentity ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/collective/serverIdentity.jks"/> を以下の行に置き換えます。
location="safkeyring:///MEMBER.KEY" type="JCERACFKS" fileBased="false" readOnly="true" />
- collectiveTrust ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> を以下の行に置き換えます。
location="safkeyring:///MEMBER.TRUST" type="JCERACFKS" fileBased="false" readOnly="true" />
- defaultKeyStore ID の keystore エレメントを見つけます。 location="${server.config.dir}/resources/security/key.jks"/> を以下の行に置き換えます。
- コントローラーおよびメンバーを始動します。
サブトピック
- 集合における SSH の問題の回避
集合における SSH の問題の回避について説明します。セキュリティー問題は通常、セキュリティーの制限が強すぎるためにリソースにアクセスできないユーザーに関係します。SSH 構成オプション StrictModes は、それとは反対の問題としてセキュリティーが緩すぎる場合に、公開鍵ファイルおよび秘密鍵ファイルを保護します。SSH は、パスワード認証なしでシステム間のセキュア通信を提供しますが、特定のディレクトリーおよびファイルでの許可が十分に厳格でない場合、SSH は機能しません。
親トピック: Liberty 集合のセキュリティーの構成

ファイル名: tagt_wlp_collective_zos_tls.html