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

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

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

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

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

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

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

手順

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

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

    # mkdir /root/capsule_cert
  2. Certificate Signing Request (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
    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 = capsule.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 = capsule.example.com 3
    1
    [ req_distinguished_name ] セクションに、貴社の組織の情報を入力します。
    2
    証明書のコモンネーム CN を、Capsule Server またはワイルドカードの * の完全修飾ドメイン名 (FQDN) と一致するように設定します。FQDN を確認するには、対象の Capsule Server で hostname -f コマンドを入力します。これは、katello-certs-check コマンドが証明書を正しく検証することを確認するために必要です。ワイルドカードの値を設定しており、katello-certs-check コマンドを使用する場合には、-t capsule オプションを追加する必要があります。
    3
    サブジェクトの別名 (SAN: Subject Alternative Name) DNS.1 を、お使いのサーバーの完全修飾ドメイン名 (FQDN) に一致する用に設定します。
  4. 証明書署名要求 (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 へのパス
  5. 証明局に証明書署名要求を送信します。同じ証明局を使用して Satellite Server と Capsule Server の証明書を署名する必要がある。

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