20.6.2. 自己署名証明書
前提条件
- このプロセスでは、自己署名証明書が自動的に生成されず更新されないため、信頼済みストレージプールはオフラインでなければなりません。このプロセスを開始する前に、ボリューム、アプリケーション、クライアント、およびその他のエンドユーザーに停止した期間をスケジュールします。
このセクションでは、自己署名証明書によるネットワーク暗号化を使用する信頼できるストレージプールにアクセスできるように新しいクライアントを認証する方法を説明します。
手順20.11 自己署名証明書を使用した新規クライアントの承認
クライアントのキーの生成
クライアントで以下のコマンドを実行します。# openssl genrsa -out /etc/ssl/glusterfs.key 2048
クライアント用の自己署名証明書の生成
以下のコマンドは、デフォルトの 30 日ではなく、365 日で有効期限が切れる署名済み証明書を生成します。COMMONNAME の代わりにこのマシンの短縮名を指定します。これは通常、ホスト名、FQDN、または IP アドレスです。# openssl req -new -x509 -key /etc/ssl/glusterfs.key -subj "/CN=COMMONNAME" -days 365 -out /etc/ssl/glusterfs.pem
クライアントへの認証局リストの追加
既存のクライアントから新しいクライアントに/etc/ssl/glusterfs.ca
ファイルをコピーします。新しいクライアントから以下のコマンドを実行します。# scp existingclient:/etc/ssl/glusterfs.ca /etc/ssl/glusterfs.ca
新規サーバーの
glusterfs.ca
ファイルの生成任意のサーバーで、新しいクライアントの/etc/ssl/glusterfs.pem
ファイルの値をサーバーの/etc/ssl/glusterfs.ca
ファイルの最後に追加します。更新された/etc/ssl/glusterfs.ca
ファイルを、信頼できるストレージプール内の全サーバーの/etc/ssl
ディレクトリーに置きます。たとえば、いずれかのサーバーで以下のコマンドを実行すると、新しいクライアントからglusterfs.ca
ファイルで.pem
ファイルを更新してから、そのglusterfs.ca
ファイルをすべてのサーバーにコピーします。# ssh user@newclient cat /etc/ssl/glusterfs.pem >> /etc/ssl/glusterfs.ca # scp /etc/ssl/glusterfs.ca server1:/etc/ssl/glusterfs.ca # scp /etc/ssl/glusterfs.ca server2:/etc/ssl/glusterfs.ca
新しいクライアント上で管理暗号化を設定します (使用している場合)。
クライアントで/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
管理暗号化を使用する場合は、すべてのサーバーで glusterd を再起動します。
Red Hat Enterprise Linux 7 ベースのインストールの場合:# systemctl start glusterd
Red Hat Enterprise Linux 6 ベースのインストールの場合:# service glusterd start
重要Red Hat Gluster Storage は 3.5 Batch Update 1 以降では、Red Hat Enterprise Linux 6 (RHEL 6) でサポートされません。インストールガイドの『バージョンの詳細』表および『Red Hat Gluster Storage ソフトウェアコンポーネントおよびバージョン』 を参照してください。検証
ボリュームが新規クライアントからマウントできることを確認します。ボリュームをマウントするプロセスは、クライアントが使用しているプロトコルによって異なります。次のコマンドは、ネイティブ FUSE プロトコルを使用してボリュームをマウントします。このコマンドは、認証済みのクライアントで機能し、承認されていないクライアントでは機能しません。# mount -t glusterfs server1:testvolume /mnt/glusterfs