20.6. 新規クライアントの承認
このセクションでは、新しいクライアントが、ネットワーク暗号化を使用するストレージプールにアクセスできるようにします。
20.6.1. 一般的な認証局が署名する証明書
本セクションでは、新しいクライアントが、共通の認証局が署名したネットワーク暗号化を使用する信頼できるストレージプールにアクセスできるように承認します。
手順20.10 CA 署名の証明書を使用した新規クライアントの承認
クライアントのキーの生成
クライアントで以下のコマンドを実行します。# openssl genrsa -out /etc/ssl/glusterfs.key 2048
証明書の署名リクエストを生成します。
以下のコマンドは、デフォルトの 30 日ではなく、365 日で期限切れになる証明書の証明書署名要求を生成します。COMMONNAME の代わりにこのマシンの短縮名を指定します。これは通常、ホスト名、FQDN、または IP アドレスです。# openssl req -new -sha256 -key /etc/ssl/glusterfs.key -subj '/CN=<COMMONNAME>' -days 365 -out glusterfs.csr
生成された glusterfs.csr ファイルを認証局に送信します。
認証局は、.pem
ファイルの形式でこのマシンの署名済み証明書を提供し、.ca
ファイルの形式で認証局の一覧を提供します。クライアントに提供される証明書ファイルを追加します。
認証局が提供する.pem
ファイルを、クライアントの/etc/ssl
ディレクトリーに置きます。.pem
ファイルがglusterfs.pem
と呼ばれていることを確認します。クライアントへの認証局リストの追加
既存のクライアントから新しいクライアントに/etc/ssl/glusterfs.ca
ファイルをコピーします。# scp existingclient/etc/ssl/glusterfs.ca newclient:/etc/ssl/glusterfs.ca
証明書の確認
/etc/ssl
ディレクトリーで以下のコマンドを実行して、認証局の一覧に対してそのマシンの証明書を確認します。# openssl verify -verbose -CAfile glusterfs.ca glusterfs.pem
このコマンドの出力がglusterfs.pem: OK
の場合は、証明書が正しいこと。管理暗号化を設定している場合は、管理暗号化を設定します。
クライアントで/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
許可するサーバーおよびクライアントの一覧を更新します。
任意のサーバーから以下のコマンドを実行し、ボリュームにアクセスできるサーバーおよびクライアントの共通名を指定します。提供される共通名は、そのサーバーまたはクライアントのglusterfs.pem
ファイルの作成時に指定される共通名と同じである必要があります。# gluster volume set volname auth.ssl-allow 'server1,server2,client1,client2,client3'
注記gluster volume set コマンドは、オプションの既存の値に追加されません。一覧に新しい名前を追加するには、gluster volume info コマンドを使用して既存の一覧を取得し、新しい名前を一覧に追加し、gluster volume set コマンドを使用してオプションを再度設定します。また、デフォルト値の*
も使用できます。これは、TLS 認証されたすべてのマシンがボリュームをマウントおよびアクセスできることを示します。ボリュームの起動
# gluster volume start volname
検証
ボリュームが新規クライアントからマウントできることを確認します。ボリュームをマウントするプロセスは、クライアントが使用しているプロトコルによって異なります。次のコマンドは、ネイティブ FUSE プロトコルを使用してボリュームをマウントします。このコマンドは、認証済みのクライアントで機能し、承認されていないクライアントでは機能しません。# mount -t glusterfs server1:testvolume /mnt/glusterfs