2.5. SSL 証明書を使用した Capsule Server の設定


Red Hat Satellite は SSL 証明書を使用して、Satellite Server、外部 Capsule Server、全ホストの間の暗号化通信を有効にします。組織の要件によっては、デフォルトの証明書またはカスタムの証明書で Capsule Server を設定する必要があります。

2.5.1. デフォルトの SSL 証明書を使用した Capsule Server の設定

本セクションを使用して、Satellite Server のデフォルトの証明局 (CA) が署名した SSL 証明書を使用して Capsule Server を設定します。

前提条件

手順

  1. Satellite Server で Capsule Server の全ソース証明書ファイルを保存するには、root ユーザーのみがアクセスできるディレクトリーを作成します (例: /root/capsule_cert)。

    # mkdir /root/capsule_cert
  2. Satellite Server で、Capsule Server の /root/capsule_cert/capsule.example.com -certs.tar 証明書アーカイブを生成します。

    # capsule-certs-generate \
    --foreman-proxy-fqdn capsule.example.com \
    --certs-tar /root/capsule_cert/capsule.example.com-certs.tar

    capsule-certs-generate コマンドが返す satellite-installer コマンドのコピーをメモし、Capsule Server に証明書をデプロイします。

    capsule-certs-generate の出力例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule_cert/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY"

  3. Satellite Server から、証明書アーカイブファイルを Capsule Server にコピーします。

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  4. Capsule Server で、証明書をデプロイするには、capsule-certs-generate コマンドにより返された satellite-installer コマンドを入力します。

    Satellite へのネットワーク接続やポートをまだ開いていない場合は、--foreman-proxy-register-in-foreman オプションを false に設定すると、Capsule が Satellite へ接続を試行しなくなり、エラー報告がなくなります。ネットワークとファイアウォールを適切に設定したら、このオプションを true にして再度インストーラーを実行します。

    重要

    証明書のデプロイ後に、証明書のアーカイブファイルを削除しないでください。このアーカイブは、Capsule Server のアップグレード時などに必要になります。

2.5.2. カスタム SSL 証明書を使用した Capsule Server の設定

Satellite Server がカスタムの SSL 証明書を使用するように設定する場合は、この設定時に、外部の各 Capsule Server も、異なるカスタム SSL 証明書で設定する必要があります。

カスタム証明書を使用して Capsule Server を設定するには、Capsule Server ごとに以下の手順を実行します。

2.5.2.1. Capsule Server のカスタム SSL 証明書の作成

Satellite Server で、Capsule Server 用にカスタムの証明書を作成します。Capsule Server 用のカスタムの SSL 証明書がすでにある場合には、以下の手順は省略してください。

手順

  1. ソースの証明書ファイルすべてを保存するには、root ユーザーだけがアクセスできるディレクトリーを作成します。

    # mkdir /root/capsule_cert
  2. 証明書署名要求 (CSR) に署名する秘密鍵を作成します。

    秘密鍵は暗号化する必要がないことに注意してください。パスワードで保護された秘密鍵を使用する場合は、秘密鍵のパスワードを削除します。

    この Capsule Server の秘密鍵がすでにある場合は、この手順を省略します。

    # openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
  3. CSR 用の /root/capsule_cert/openssl.cnf 設定ファイルを作成して、以下のコンテンツを追加します。
[ req ]
req_extensions = v3_req
distinguished_name = req_distinguished_name
prompt = no

[ req_distinguished_name ]
CN = _{ssl-common-name}_

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = _{ssl-common-name}_
  1. オプション: CSR に識別名 (DN) の詳細を追加する場合は、[ req_distinguished_name ] セクションに次の情報を追加します。

    [req_distinguished_name]
    CN = capsule.example.com
    countryName =My_Country_Name 1
    stateOrProvinceName = My_State_Or_Province_Name 2
    localityName = My_Locality_Name 3
    organizationName = My_Organization_Or_Company_Name
    organizationalUnitName = My_Organizational_Unit_Name 4
    1
    2 文字コード
    2
    Full name
    3
    フルネーム (例: ニューヨーク)
    4
    証明書を担当する部門 (例:IT 部門)
  2. CSR を生成します。

    # openssl req -new \
    -key /root/capsule_cert/capsule_cert_key.pem \ 1
    -config /root/capsule_cert/openssl.cnf \ 2
    -out /root/capsule_cert/capsule_cert_csr.pem 3
    1
    秘密鍵へのパス
    2
    設定ファイルへのパス
    3
    生成する CSR へのパス
  3. 認証局 (CA) に証明書署名要求を送信します。Satellite Server と Capsule Server の証明書には同じ CA が署名する必要があります。

    要求を送信する場合は、証明書の有効期限を指定してください。証明書要求の送信方法にはさまざまなものがあるため、推奨される方法について CA にお問い合わせください。要求すると、CA バンドルと署名済み証明書を別々のファイルで受け取ることになります。

2.5.2.2. カスタムの SSL 証明書の Capsule Server へのデプロイ

この手順を使用して、証明局が署名したカスタムの SSL 証明書で、Capsule Server を設定します。capsule-certs-generate コマンドにより返される、satellite-installer コマンドは、Capsule Server ごとに一意となっています。複数の Capsule Server に同じコマンドを使用しないでください。

前提条件

手順

  1. Satellite Server で、カスタムの SSL 証明書の入力ファイルを検証します。

    # katello-certs-check \
    -t capsule -c /root/capsule_cert/capsule_cert.pem \      1
    -k /root/capsule_cert/capsule_cert_key.pem \  2
    -b /root/capsule_cert/ca_cert_bundle.pem      3
    1
    認証局が署名した Capsule Server の証明書ファイルへのパス
    2
    Capsule Server 証明書の署名に使用した秘密鍵へのパス
    3
    認証局バンドルへのパス

    /root/capsule_cert/openssl.cnf 設定ファイルの証明書のコモンネーム CN = に、* のワイルドカードの値を設定した場合には、katello-certs-check コマンドに -t capsule オプションを追加する必要があります。

    このコマンドに成功すると、capsule-certs-generate コマンド 2 つが返されます。このうちのいずれか 1 つを、Capsule Server の証明書アーカイブの生成に使用する必要があります。

    katello-certs-check の出力例

    Validation succeeded.
    
    To use them inside a NEW $CAPSULE, run this command:
    
    capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar  "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \
    
    To use them inside an EXISTING $CAPSULE, run this command INSTEAD:
    
      capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \
        --certs-update-server

  2. Satellite Server で、katello-certs-check コマンドの出力をもとに、要件に合わせて、capsule-certs-generate コマンドを入力し、新規または既存の Capsule の証明書を生成します。

    このコマンドで $CAPSULE を Capsule Server の FQDN に変更します。

  3. capsule-certs-generate コマンドが返す satellite-installer コマンドのコピーをメモし、Capsule Server に証明書をデプロイします。

    capsule-certs-generate の出力例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY"

  4. Satellite Server から、証明書アーカイブファイルを Capsule Server にコピーします。

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  5. Capsule Server で、証明書をデプロイするには、capsule-certs-generate コマンドにより返された satellite-installer コマンドを入力します。

    Satellite へのネットワーク接続やポートをまだ開いていない場合は、--foreman-proxy-register-in-foreman オプションを false に設定すると、Capsule が Satellite へ接続を試行しなくなり、エラー報告がなくなります。ネットワークとファイアウォールを適切に設定したら、このオプションを true にして再度インストーラーを実行します。

    重要

    証明書のデプロイ後に、証明書のアーカイブファイルを削除しないでください。このアーカイブは、Capsule Server のアップグレード時などに必要になります。

2.5.2.3. ホストへの カスタム SSL 証明書のデプロイ

Capsule Server がカスタムの SSL 証明書を使用するよう設定した後に、Capsule Server に登録されている全ホストに katello-ca-consumer パッケージもインストールする必要があります。

手順

  • 各ホストに katello-ca-consumer パッケージをインストールします。

    # dnf install http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.