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

デフォルトでは、Red Hat Satellite 6 は自己署名の SSL 証明書を使用して、Satellite Server、外部の Capsule Server および全ホストの間で暗号化した通信ができるようにします。Satellite 自己署名の証明書を使用できない場合には、外部の証明局で署名した SSL 証明書を使用するように Satellite Server を設定できます。

カスタムの証明書で Satellite Server を設定するには、以下の手順を実行します。

  1. 「Satellite Server 向けのカスタム SSL 証明書の作成」
  2. 「カスタムの SSL 証明書の Satellite Server へのデプロイ」
  3. 「ホストへの カスタム SSL 証明書のデプロイ」
  4. Satellite Server に外部の Capsule Server を登録した場合には、カスタムの SSL 証明書を使用して設定する必要があります。詳細は、『Capsule Server のインストール』の「カスタム SSL 証明書を使用した Capsule Server の設定」を参照してください。

4.12.1. Satellite Server 向けのカスタム SSL 証明書の作成

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

カスタム証明書を使用して Satellite Server を設定する場合には、次の点を考慮してください。

  • SSL 証明書には、Privacy-Enhanced Mail (PEM) エンコードを使用する必要がある。
  • Satellite Server と Capsule Server の両方に、同じ証明書を使用できない。
  • 同じ証明局を使用して Satellite Server と Capsule Server の証明書を署名する必要がある。

手順

カスタムの SSL 証明書を作成するには、以下の手順を実行します。

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

    # mkdir /root/satellite_cert
  2. Certificate Signing Request (CSR) を署名する秘密鍵を作成します。

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

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

    # openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096
  3. 証明書署名要求 (CSR) 用の /root/satellite_cert/openssl.cnf 設定ファイルを作成して、以下のコンテンツを追加します。

    [ req ]
    req_extensions = v3_req
    distinguished_name = req_distinguished_name
    x509_extensions = usr_cert
    prompt = no
    
    [ req_distinguished_name ] 1
    C  = Country Name (2 letter code)
    ST = State or Province Name (full name)
    L  = Locality Name (eg, city)
    O  = Organization Name (eg, company)
    OU = The division of your organization handling the certificate
    CN = satellite.example.com 2
    
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    subjectAltName = @alt_names
    
    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsCertType = client, server, email
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    nsComment = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    
    [ alt_names ]
    DNS.1 = satellite.example.com 3
    1
    [ req_distinguished_name ] セクションに、貴社の組織の情報を入力します。
    2
    証明書のコモンネーム CN を、Satellite Server の完全修飾ドメイン名 (FQDN) と一致するように設定します。FQDN を確認するには、対象の Satellite Server で hostname -f コマンドを入力します。これは、katello-certs-check コマンドが証明書を正しく検証することを確認するために必要です。
    3
    サブジェクトの別名 (SAN: Subject Alternative Name) DNS.1 を、お使いのサーバーの完全修飾ドメイン名 (FQDN) に一致する用に設定します。
  4. 証明書署名要求 (CSR) を作成します。

    # openssl req -new \
    -key /root/satellite_cert/satellite_cert_key.pem \ 1
    -config /root/satellite_cert/openssl.cnf \ 2
    -out /root/satellite_cert/satellite_cert_csr.pem 3
    1
    秘密鍵へのパス
    2
    設定ファイルへのパス
    3
    生成する CSRへのパス
  5. 証明局に証明書署名要求を送信します。同じ証明局を使用して Satellite Server と Capsule Server の証明書を署名する必要がある。

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

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

この手順を使用して、Satellite Server が、認証局で署名されたカスタムの SSL 署名書を使用するように設定します。katello-certs-check コマンドは、入力した証明書ファイルを検証して、Satellite Server にカスタムの SSL 証明書をデプロイするのに必要なコマンドを返します。

手順

Satellite Server にカスタムの証明書をデプロイするには、以下の手順を実行します。

  1. カスタムの SSL 証明書入力ファイルを検証します。katello-certs-check コマンドが正しく実行されるには、証明書のコモンネーム (CN) が Satellite Server の FQDN と一致する必要があることに注意してください。

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

    このコマンドに成功すると、2 つの satellite-installer コマンドが返されます。1 つは、Satellite Server に証明書をデプロイするのに使用する必要があります。

    katello-certs-check の出力例

    Validation succeeded.
    
    To install the Red Hat Satellite Server with the custom certificates, run:
    
      satellite-installer --scenario satellite \
        --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \
        --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \
        --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem"
    
    To update the certificates on a currently running Red Hat Satellite installation, run:
    
      satellite-installer --scenario satellite \
        --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \
        --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \
        --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \
        --certs-update-server --certs-update-server-ca

  2. 要件に合わせて katello-certs-check コマンドの出力から、satellite-installer コマンドを入力し、カスタムの SSL 証明書で新しい Satellite をインストールするか、現在実行中の Satellite の証明書を更新します。

    実行するコマンドが不明な場合には、/etc/foreman-installer/scenarios.d/.installed が存在するかをチェックし、Satellite がインストールされていることが確認できます。ファイルが存在する場合には、2 番目の satellite-installer コマンドを実行すると証明書が更新されます。

    重要

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

  3. Satellite Server にネットワークでアクセスできるコンピューターで、この URL ( https://satellite.example.com) に移動します。
  4. ブラウザーで、証明書の詳細を表示して、デプロイした証明書を確認します。

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

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

手順

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

    # yum localinstall \
    http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm