SSL証明書のインポート

このセクションでは、新しいSUSE Multi-Linux ManagerのインストールにSSL証明書を設定する方法、および既存の証明書を置き換える方法について説明します。

開始する前に、以下があることを確認します。

  • 証明書機関(CA)のSSL公開証明書。 CAチェーンを使用している場合は、すべての中間CAも利用可能でなければなりません。

  • SSLサーバ秘密鍵

  • SSLサーバ証明書

  • SSLデータベース機密鍵

  • SSLデータベース証明書

認証キーは常にPEM形式である必要があります。

SSLサーバー証明書のホスト名は、それをデプロイするマシンの完全修飾ホスト名に一致する必要があります。 証明書の`X509v3 Subject Alternative Name`セクションでホスト名を設定できます。 環境が必要とする場合は、複数のホスト名をリストすることもできます。 サポートされているキータイプは`RSA`および`EC`(楕円曲線)です。

以前のバージョンでは、データベースSSL証明書には`Subject Alternative Name`として`reportdb`および`db`が必要でした。 これはもはや必要ありません。

サードパーティの機関は、要求されたサーバー証明書に署名するために中間CAを一般的に使用します。 この場合、チェーン内のすべてのCAが利用可能である必要があります。 `mgrdadm`コマンドが証明書の順序を管理します。 理想的には、ルートCAは独自のファイルに保存されるべきです。 サーバー証明書ファイルには、最初にサーバー証明書が含まれ、その後にすべての中間CA証明書が順番に続くべきです。

1. 新しいインストール用証明書のインポート

デフォルトでは、SUSE Multi-Linux Managerは自己署名証明書を使用します。 証明書は、インストール時にサードパーティの証明書と共にインポートできます。

プロシージャ:新しいSUSE Multi-Linux Managerサーバーへの証明書のインポート
  1. SUSE Multi-Linux Managerサーバをインストールします。の指示に従ってSUSE Multi-Linux Managerサーバーをデプロイしてください。 正しいファイルをパラメータとして`mgradm install podman`に渡すことを確認してください。 次のパラメータを使用できます。

    3rd Party SSL Certificate Flags:
          --ssl-ca-intermediate strings    Intermediate CA certificate path
          --ssl-ca-root string             Root CA certificate path
          --ssl-server-cert string         Server certificate path
          --ssl-server-key string          Server key path
          --ssl-db-ca-intermediate strings Intermediate CA certificate path for the database if different from the server one
          --ssl-db-ca-root string          Root CA certificate path for the database if different from the server one
          --ssl-db-cert string             Database certificate path
          --ssl-db-key string              Database key path

中間CAは`--ssl-ca-root`で指定されたファイルに含まれているか、`--ssl-ca-intermediate`で追加オプションとして指定されることができます。 `--ssl-ca-intermediate`オプションは複数回指定することができます。

2. 新しいプロキシインストール用の証明書のインポート

プロキシ証明書は生成された設定に埋め込まれています。 サードパーティの証明書を使用するには、設定中に提供する必要があります。

プロシージャ:新しいSUSE Multi-Linux Managerプロキシへの証明書のインポート
  1. SUSE Multi-Linux Managerプロキシをインストールします。の指示に従ってSUSE Multi-Linux Managerプロキシをインストールしてください。

  2. プロンプトに従ってセットアップを完了します。

    すべてのサーバーとプロキシの証明書に同じCAを使用して署名してください。 異なるCAで署名された証明書は一致しません。

3. 証明書を置き換える

新しい証明書でSUSE Multi-Linux Managerインストールのアクティブな証明書を置き換えることができます。 考慮すべきケースは二つあります:サーバーまたはデータベース証明書のみを置き換える場合と、ルートCAを置き換える場合です。

ルート証明書を置き換えるには、すべての登録済みプロキシとシステムで、サーバレベルで切り替える前にデータベースに新しいCAを登録しておく必要があるため、中断を回避するためのより多くの時間と計画が必要となります。

中間CAで署名されたサードパーティ証明書を使用する場合は、中間CA証明書をサーバまたはデータベースの証明書ファイルに追加する必要があります。

順序が重要です。まずサーバー証明書が先頭に配置され、その後、証明書に署名したCAからルートCAによって署名されたCAまで順に並びます。 ルートCA証明書はサーバー証明書ファイルに追加しないでください。

プロシージャ:すべての既存の証明書を置き換える
  1. 以下では、root-ca.pemintermediate-ca1.pemintermediate-ca2.pemserver.pem、および`server.key`ファイルがあることを前提としています。 サーバー証明書の署名チェーンにおける中間CAの数によって異なる場合があります。

  2. 中間CAとサーバー証明書を組み合わせてください。 順序が重要です。サーバーが最初で、中間CAは順番に配置する必要があります。 ルートCAをチェーンの最後に追加しないでください。`uyuni-ca`および`uyuni-db-ca`シークレットに個別に渡されるためです。 中間CAがない場合は、次のステップで結合ファイルの代わりに`server.pem`を使用できます。

    cat server.pem intermediate-ca1.pem intermediate-ca2.pem >combined-server.pem
  3. SUSE Multi-Linux Managerコンテナホストのコマンドプロンプトで、podman証明書シークレットを再作成し、ファイルパスを渡します。

    podman secret create --replace uyuni-ca $path_to_ca_certificate
    podman secret create --replace uyuni-cert $path_to_combined_server_certificate
    podman secret create --replace uyuni-key $path_to_server_key
    
    podman secret create --replace uyuni-db-ca $path_to_database_ca_certificate
    podman secret create --replace uyuni-db-cert $path_to_combined_database_certificate
    podman secret create --replace uyuni-db-key $path_to_database_key
プロシージャ:サーバーを再起動しています。
  1. コンテナホストで、サーバを再起動して変更を取得します。

    mgradm restart

プロキシを使用している場合は、各プロキシのホスト名とcnameを使用して、サーバー証明書RPMを生成する必要があります。 新しい構成のtarballを生成し、デプロイします。

ルートCAが変更された場合は、SUSE Multi-Linux Managerに接続されているすべてのクライアントにデプロイする必要があります。 これは、混乱を最小限に抑えるために事前に行うのが理想的です。

CA証明書が更新された場合、Kiwi証明書を含むRPMファイルを再パッケージ化する必要があります。

SUSE Multi-Linux Managerサーバーのコンテナホストで、次のコマンドを実行します。

mgrctl exec mgr-package-rpm-certificate-osimage

その後、イメージビルドホストにhighstateを適用し、kiwiが使用する新しい証明書を配備します。

プロシージャ:クライアント上のルートCAをデプロイする
  1. SUSE Multi-Linux Manager Web UIで、システム  概要に移動します。

  2. すべてのクライアントをチェックして、システムセットマネージャに追加します。

  3. システム  システムセットマネージャ  概要に移動します。

  4. `States`フィールドで、適用をクリックして、システムの状態を適用します。

  5. `Highstate`ページで、ハイステートの適用をクリックして、クライアントに変更を伝播します。