証明書管理

この項では、認証局(CA)からTLS証明書を取得した後のプロセス、およびリカバリ・アプライアンスでの管理について概要を説明します。

認証局(CA)とは、エンティティ(Webサイト、電子メール・アドレス、会社、個人など)のアイデンティティを検証し、デジタル証明書と呼ばれる電子ドキュメントの発行を通じてそれらを暗号鍵にバインドする会社または組織です。CAは、証明書のサブジェクト(所有者)、および証明書に依存する関係者の両方にとっての、信頼できる第三者の役目を果たします。

デジタル証明書により、次のことが提供されます:

  • 認証: 証明書は、その所有者のアイデンティティを検証するための資格証明として機能します。この場合には、それにより、リカバリ・アプライアンスからその保護されたデータベース、他のレプリケーション・リカバリ・アプライアンス、およびクラウド・アーカイブ・ストレージへの通信が認証されます。

  • 暗号化: インターネットなどのセキュアでないネットワークを介したセキュアな通信の場合。

  • 証明書で署名されたドキュメントの整合性: 転送中に第三者が変更できないようにします。

これらの証明書の形式は、X.509標準で指定されています。

指定されたドメイン名を証明書申請者が制御していることを証明するための、そのドメインを検証するための方法はCAによって異なります。

同様に、各CAにはそれ固有の申請手順がありますが、それについてはこの章では説明しません。

一般的には、選択したCAでの証明書申請プロセスが完了したら、申請者が、自分の証明書すべてを含むバンドル・ファイルをダウンロードします。

次の例では、選択したCAによって生成されたバンドル・ファイル(*.pfx)にYourCompany.pfxという名前を付けたと仮定します。

証明書のCAバンドル・ファイル(*.pfx)

リカバリ・アプライアンスのTLS暗号化には、信頼できる証明書(*.pem)と署名付き証明書(*.p12)の両方が必要です。各証明書をバンドル・ファイル(*.pfx)から展開し、TLSウォレットにインポートする必要があります。

サード・パーティ・ソフトウェアを使用した証明書作成

  1. リカバリ・アプライアンスで、次のコマンドを発行することで、すべてのサブジェクト代替名(SAN)のリストを取得します。

    racli list san

    ノート:

    これによって何も返されない場合は、パッチを適用して新しいバージョンにします。
  2. SAN情報(具体的には共通名(CN)とDNSエントリ)を用意して、セキュリティWebサイトにアクセスし、この情報を入力して証明書パッケージを取得します。

    PKCS#8形式を使用し、必ず個別のファイルを指定します。

  3. 証明書ZIPパッケージをダウンロードします。

  4. 証明書ZIPパッケージを解凍します。

    証明書ZIPパッケージには、信頼できる証明書およびユーザー証明書を含む複数のファイルが含まれています。

    • 信頼できる証明書は名前にchainまたはrootが含まれており、それは*.pem形式です。

    • ユーザー証明書は*.crt形式です。

    • *.keyファイルも、ダウンロードしたパッケージからのこのディレクトリに含まれている必要があります。

  5. openssl pkcs12を使用して、信頼できる証明書でユーザー証明書に署名し*.p12ファイルを作成します。

    openssl pkcs12 -export --in /<DIR>/<NAME>.crt 
    --inkey /<DIR>/<NAME2>.key --certfile  /<DIR>/<NAME3>.pem 
    --passin pass:<YOURPASSWORD> --passout pass: :<YOURPASSWORD>  
    --out /<DIR>/<NAME4>.p12

    ノート:

    <NAME4>ewalletcwalletを使用しないでください。<NAME4>では、<NAME><NAME2>および<NAME3>に使用されているローカル・ホスト情報または組織名が参照される必要があります。
  6. 信頼できる証明書と署名済ユーザー証明書の両方をリカバリ・アプライアンス・ウォレットにインポートします。

    racli add certificate --signed_cert=/<DIR>/<NAME4>.p12 
    --trusted_cert=/<DIR>/<NAME3>.pem
  7. それらの証明書がリカバリ・アプライアンス・ウォレットにあることを確認します。

    racli list certificate 
  8. リカバリ・アプライアンスでのTLSデータ・セキュリティの構成」、「クライアントでのTLSデータ・セキュリティの構成」の順に進みます。

TLS証明書に関する組織のCAプロセスの使用

この項では、opensslを使用してTLS証明書を作成する方法について説明します。

大規模な組織または政府機関には、例として、それぞれ独自のCAを含む、独自のPKI (公開鍵インフラストラクチャ)がある場合があります。

お客様の組織に独自の証明書プロセスがある場合のために、この項では、リカバリ・アプライアンス証明書を統合する方法を説明します。

証明書の情報の準備

  1. リカバリ・アプライアンスでadmin_userまたはrootとして、このコマンドを実行します。

    racli list san
    
        Created log /opt/oracle.RecoveryAppliance/log/racli_list_san.log
        Thu May  6 16:18:33 2021: Start: List SAN
        CN = zdlra09ingest-scan1.yourdomain.com
        DNS.1 = zdlra09adm01.yourdomain.com
        DNS.2 = zdlra09adm02.yourdomain.com
        DNS.3 = zdlra09ingest-scan1.yourdomain.com
        DNS.4 = zdlra09ingest01-vip.yourdomain.com
        DNS.5 = zdlra09ingest01.yourdomain.com
        DNS.6 = zdlra09ingest02-vip.yourdomain.com
        DNS.7 = zdlra09ingest02.yourdomain.com
        Thu May  6 16:18:39 2021: End: List SAN

    ホストからのCN (共通名)項目は<yourScanName>であり、これは、後で証明書ファイルに対応付けられます。

    この例では、<yourScanName>は"zdlra09ingest-scan1"であり、署名付き証明書ファイルは<yourScanName>.p12であり、信頼できる証明書は<yourScanName>.pemです。

  2. エディタを使用して、お客様の組織の証明/セキュリティ・プロセス用のCRT構成ファイルを作成します。

    この例では、それは<YOUR_CONFIG2>という名前です。ご使用の環境では、YOUR_...またはyourDirが使用されている構成メンバーすべてを、ローカル・インスタンスからの特定の情報に置き換えます。また、<YOUR_DNS>の項目を、前のステップでracli list sanを使用して取得した情報に置き換えます。

    [req]
    default_bits = 2048
    prompt = no
    default_md = sha256
    req_extensions = v3_req
    distinguished_name = dn
     
    [ dn ]
    C=$args{YOUR_COUNTRY}
    ST=$args{YOUR_STATE}
    L=$args{YOUR_LOCATION}
    O=$args{YOUR_ORGANIZATION}
    OU=$args{YOUR_ORGANIZATION_UNIT}
    emailAddress=$args{YOUR_EMAIL_ADDRESS}
    CN = $list_san->{CN}
    [ v3_req ]
    keyUsage = keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = \@alt_names
    [alt_names]
    DNS.1 = <YOUR_DNS.1>
    DNS.2 = <YOUR_DNS.2>
  3. <YOUR_CONFIG2>.CRTファイルをお客様の組織の証明/セキュリティ・プロセスにアップロードします。

    ノート:

    CA組織によってバンドルが生成されたら、次のようにします:
    • 形式PEM (OpenSSL)を選択します。
    • <YOUR_CONFIG2>が必要であるため、including CRT fileのオプションを確認します。
  4. お客様の組織の証明/セキュリティ・プロセスから、パッケージ全体を、<yourDir>で指定されている場所にダウンロードします。この例では、その名前が<yourDownload>.crtであると仮定します。

    信頼できる証明書<yourDownload>.pemは、そのパッケージ内にあり、後のステップで署名付き証明書を生成するために、このパッケージから使用されます。

  5. リカバリ・アプライアンスでadmin_userまたはrootとして、このコマンドを実行してキー・ファイルを生成します。この例では、それはyourScanName.keyです。

    openssl genrsa --passout pass:<yourPassword> --out <yourDir>/<yourScanName>.key 2048
  6. pkcs12形式を使用して信頼できる証明書によって署名された証明書を取得します。

    openssl pkcs12 --export --in <yourDir>/<yourDownload>.crt 
        --inkey <yourDir>/<yourScanName>.key
        --certfile <yourDir>/<yourDownload>.pem 
        --passin pass:<yourPassword> 
        --passout pass:<yourPassword> 
        --out <yourDir>/<yourScanName>.p12
  7. 署名付き証明書をTLSウォレットにインポートします。

    racli add certificate --signed_cert=<yourDir>/<yourScanName>.p12
  8. 信頼できる証明書をTLSウォレットにインポートします。

    racli add certificate --trust_cert=<yourDir>/<yourScanName>.pem
  9. 証明書をインポートした後、"racli list certificate"を使用して、証明書がraa_certsデータベース表にあることを確認します。

    # racli list certificate
    
    Created log /opt/oracle.RecoveryAppliance/log/racli_list_certificate.20230329.1146.log
    Wed Mar 29 11:46:49 2023: Start: List Certificate
    Serial: 9A15CB4B76BBC52D
        Expire Time:      2024-03-28
        Certificate Type: trusted_cert
     
    Serial: 95B9181340F644F0
        Expire Time:      2024-03-28
        Certificate Type: signed_cert
     
    Wed Mar 29 11:46:49 2023: End: List Certificate
  10. リカバリ・アプライアンスでのTLSデータ・セキュリティの構成」、「クライアントでのTLSデータ・セキュリティの構成」の順に進みます。

RACLIによるTLS証明書の手動作成

この項では、RACLIを使用してTLS証明書を作成する方法について説明します。

お客様の組織では認証局(CA)がないかそれを使用していない場合は、これらの手順を使用して、TLS操作のための必要な信頼できる証明書および署名付き証明書を作成できます。

信頼できる証明書と署名付き証明書の両方に次の情報が必要です:

  • 国名
  • 州名
  • 組織名
  • 組織単位名
  • 電子メール・アドレス

RACLIを使用して、信頼できる証明書および署名付き証明書を生成します。

  1. 組織情報を用意して、次のようなRACLIコマンドを発行します:

    # racli create certificate --country=US --state=CA --location=SF --organization=oracle 
    --organization_unit=zdlra --email_address=<YOUR_EMAIL>
    
    Created log /opt/oracle.RecoveryAppliance/log/racli_create_certificate.20230329.1110.log
    Enter New Password for Certificate:
    Confirm New Password for Certificate:
    Wed Mar 29 11:11:22 2023: Start: Create TLS Trusted Certificate
    Wed Mar 29 11:11:26 2023: End: Create TLS Trusted Certificate
    Wed Mar 29 11:11:26 2023: Start: Create TLS Signed Certificate
    Wed Mar 29 11:11:31 2023: End: Create TLS Signed Certificate
    Certificate(s) created under /raacfs/raadmin/config/cert

    作成された証明書の名前は<yourScanName>.p12であり、ここでの<yourScanName>はご使用の環境のCNです。

  2. <yourScanName>のローカル・ホスト情報および共通名(CN)項目を取得するには、次のようにします。

    racli list san
    
        Created log /opt/oracle.RecoveryAppliance/log/racli_list_san.log
        Thu May  6 16:18:33 2021: Start: List SAN
        CN = zdlra09ingest-scan1.yourdomain.com
        DNS.1 = zdlra09adm01.yourdomain.com
        DNS.2 = zdlra09adm02.yourdomain.com
        DNS.3 = zdlra09ingest-scan1.yourdomain.com
        DNS.4 = zdlra09ingest01-vip.yourdomain.com
        DNS.5 = zdlra09ingest01.yourdomain.com
        DNS.6 = zdlra09ingest02-vip.yourdomain.com
        DNS.7 = zdlra09ingest02.yourdomain.com
        Thu May  6 16:18:39 2021: End: List SAN

    この例では、<yourScanName>は"zdlra09ingest-scan1"であり、証明書ファイルは<yourScanName>.p12です。

    後でウォレットに追加するときに、証明書タイプ(信頼できる、または署名付き)を割り当てます。

ウォレットへの証明書のインポート

信頼できる証明書と署名付き証明書(それぞれ<yourScanName>.pemおよび<yourScanName>.p12)の作成が完了したら、それらをTLSのリカバリ・アプライアンス・ウォレットにインポートします。

  1. 前のステップでの証明書(信頼できる、または署名付き)をウォレットにインポートします。次に汎用コマンドを示しますが、具体的な例は次のステップで示します。

    racli add certificate { [--trusted_cert=<VALUE>] |
          [--signed_cert=<VALUE>] | [--self_signed] }

    引数:

    • --trusted_cert=<VALUE>: 追加する信頼できる証明書のフルパスと名前を指定します。
    • --signed_cert=<VALUE>: 追加する、信頼できるストア内の署名付き証明書のフルパスおよび名前を指定します。
    • --self_signed: 指定した場所から両方の証明書をリカバリ・アプライアンスで検索することを指定します。これは、証明書を"racli create certificate"で作成した場合のみ使用してください。これはOracle推奨構成ではなく、テスト環境でのみ使用されます。

      ノート:

      自己署名証明書は長期間使用したり、本番用に使用しないでください。認証局によって署名された(信頼できる)証明書を使用することをお薦めします。
  2. 署名付き証明書をTLSウォレットにインポートします。証明書をRACLIで作成した場合は、--self_signed引数を含めます。

    racli add certificate --signed_cert=<yourDir>/<yourScanName>.p12 [--self_signed]
  3. 信頼できる証明書をTLSウォレットにインポートします。証明書をRACLIで作成した場合は、--self_signed引数を含めます。

    racli add certificate --trust_cert=<yourDir>/<yourScanName>.pem [--self_signed]
  4. 証明書をインポートした後、"racli list certificate"を使用して、証明書がraa_certsデータベース表にあることを確認します。

    # racli list certificate
    
    Created log /opt/oracle.RecoveryAppliance/log/racli_list_certificate.20230329.1146.log
    Wed Mar 29 11:46:49 2023: Start: List Certificate
    Serial: 9A15CB4B76BBC52D
        Expire Time:      2024-03-28
        Certificate Type: trusted_cert
     
    Serial: 95B9181340F644F0
        Expire Time:      2024-03-28
        Certificate Type: signed_cert
     
    Wed Mar 29 11:46:49 2023: End: List Certificate
  5. リカバリ・アプライアンスでのTLSデータ・セキュリティの構成」、「クライアントでのTLSデータ・セキュリティの構成」の順に進みます。

証明書がraa_certsデータベース表にあり、その残りの検証日数が90日未満の場合は、インシデントが発生します。証明書の期限が切れた場合は、ユーザーがRACLIを使用して新しい有効な証明書をインポートし、古い証明書を置き換える必要があります。