20.6. 新規クライアントの承認

このセクションでは、新しいクライアントが、ネットワーク暗号化を使用するストレージプールにアクセスできるようにします。

20.6.1. 一般的な認証局が署名する証明書

本セクションでは、新しいクライアントが、共通の認証局が署名したネットワーク暗号化を使用する信頼できるストレージプールにアクセスできるように承認します。

手順20.10 CA 署名の証明書を使用した新規クライアントの承認

  1. クライアントのキーの生成

    クライアントで以下のコマンドを実行します。
    # openssl genrsa -out /etc/ssl/glusterfs.key 2048
  2. 証明書の署名リクエストを生成します。

    以下のコマンドは、デフォルトの 30 日ではなく、365 日で期限切れになる証明書の証明書署名要求を生成します。COMMONNAME の代わりにこのマシンの短縮名を指定します。これは通常、ホスト名、FQDN、または IP アドレスです。
    # openssl req -new -sha256 -key /etc/ssl/glusterfs.key -subj '/CN=<COMMONNAME>' -days 365 -out glusterfs.csr
  3. 生成された glusterfs.csr ファイルを認証局に送信します。

    認証局は、.pem ファイルの形式でこのマシンの署名済み証明書を提供し、.ca ファイルの形式で認証局の一覧を提供します。
  4. クライアントに提供される証明書ファイルを追加します。

    認証局が提供する .pem ファイルを、クライアントの /etc/ssl ディレクトリーに置きます。.pem ファイルが glusterfs.pem と呼ばれていることを確認します。
  5. クライアントへの認証局リストの追加

    既存のクライアントから新しいクライアントに /etc/ssl/glusterfs.ca ファイルをコピーします。
    # scp existingclient/etc/ssl/glusterfs.ca newclient:/etc/ssl/glusterfs.ca
  6. 証明書の確認

    /etc/ssl ディレクトリーで以下のコマンドを実行して、認証局の一覧に対してそのマシンの証明書を確認します。
    # openssl verify -verbose -CAfile glusterfs.ca glusterfs.pem
    このコマンドの出力が glusterfs.pem: OK の場合は、証明書が正しいこと。
  7. 管理暗号化を設定している場合は、管理暗号化を設定します。

    クライアントで /var/lib/glusterd ディレクトリーを作成し、新しい /var/lib/glusterd/secure-access ファイルを作成します。デフォルト設定を使用している場合は、このファイルは空にすることができます。
    # touch /var/lib/glusterd/secure-access
    認証局が正しく機能するには、SSL 証明書の深さ設定 transport.socket.ssl-cert-depth への変更が必要になる場合があります。この設定を編集するには、以下の行を secure-access ファイルに追加します。n は 認証局で必要な証明書深度に置き換えます。
    echo "option transport.socket.ssl-cert-depth n" > /var/lib/glusterd/secure-access
  8. 許可するサーバーおよびクライアントの一覧を更新します。

    任意のサーバーから以下のコマンドを実行し、ボリュームにアクセスできるサーバーおよびクライアントの共通名を指定します。提供される共通名は、そのサーバーまたはクライアントの glusterfs.pem ファイルの作成時に指定される共通名と同じである必要があります。
    # gluster volume set volname auth.ssl-allow 'server1,server2,client1,client2,client3'
    注記
    gluster volume set コマンドは、オプションの既存の値に追加されません。一覧に新しい名前を追加するには、gluster volume info コマンドを使用して既存の一覧を取得し、新しい名前を一覧に追加し、gluster volume set コマンドを使用してオプションを再度設定します。
    また、デフォルト値の * も使用できます。これは、TLS 認証されたすべてのマシンがボリュームをマウントおよびアクセスできることを示します。
  9. ボリュームの起動

    # gluster volume start volname
  10. 検証

    ボリュームが新規クライアントからマウントできることを確認します。ボリュームをマウントするプロセスは、クライアントが使用しているプロトコルによって異なります。
    次のコマンドは、ネイティブ FUSE プロトコルを使用してボリュームをマウントします。このコマンドは、認証済みのクライアントで機能し、承認されていないクライアントでは機能しません。
    # mount -t glusterfs server1:testvolume /mnt/glusterfs