文書集 >
ユーザーズマニュアル >
TLS 認証
TLS 認証
English | 日本語
この文書は、Gfarm の TLS 認証で必要な設定について説明します。
Gfarm の TLS 認証ではプロトコルとして TLS 1.3 を利用しますので、
OpenSSL version 1.1.1 以降が必要です。
TLS認証には、
サーバーとクライアントで秘密鍵を共有する tls_sharedsecret 認証と、
クライアント証明書を用いる tls_client_certificate 認証の
2種類があります。
以下の設定は2種類のTLS認証方式、sasl 認証方式および sasl_auth 認証方式で
共通です。
- 認証局の証明書ファイル群を置くディレクトリ
クライアント、gfmd、gfsd すべてで必要です。
tls_ca_certificate_path ディレクティブで設定でき、デフォルトは /etc/pki/tls/certs/gfarm です。
このディレクトリの形式は GSI 認証における /etc/grid-security/certificates と共通ですので、
既に GSI 認証の設定を完了しているサイトでは、以下のコマンドでシンボリックリンクを張れば設定完了です。
# mkdir -p /etc/pki/tls/certs
# ln -s /etc/grid-security/certificates /etc/pki/tls/certs/gfarm
- 認証局が提供する CRL ファイルを置くディレクトリ
クライアント、gfmd、gfsd すべてで必要です。
デフォルトは /etc/pki/tls/certs/gfarm であり tls_ca_certificate_path と共通です。
このディレクトリの形式も GSI 認証における /etc/grid-security/certificates と共通ですので、
既に GSI 認証の設定を完了しているサイトでは、上述のシンボリックリンク作成で設定が完了しています。
- gfmd のホスト証明書および秘密鍵
gfmd を実行するホストのみで必要です。
gfmd.conf の tls_certificate_file および tls_key_file で設定でき、
デフォルトでは以下のファイル名となっています。
ホスト証明書 | /etc/pki/tls/certs/gfmd.crt |
秘密鍵 | /etc/pki/tls/private/gfmd.key |
既に GSI 認証の設定を完了しているサイトでは、以下のコマンドでシンボリックリンクを張れば設定完了です。
# mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
# ln -s /etc/grid-security/hostcert.pem /etc/pki/tls/certs/gfmd.crt
# ln -s /etc/grid-security/hostkey.pem /etc/pki/tls/private/gfmd.key
- gfsd のサービス証明書および秘密鍵
gfsd が参照する gfarm2.conf の
tls_certificate_file および tls_key_file ディレクティブで設定でき、
デフォルト設定では以下のファイル名となっています。
| ディレクティブ | デフォルト値 |
サービス証明書 | tls_certificate_file | /etc/pki/tls/certs/gfsd.crt |
秘密鍵 | tls_key_file | /etc/pki/tls/private/gfsd.key |
ただし tls_certificate_file および tls_key_file の設定よりも、
それぞれ環境変数 X509_USER_CERT および X509_USER_KEY の設定の方が
優先されるようになっており、config-gfsd コマンドを用いて
gfsd を初期設定した場合には、gfsd 起動スクリプトでこれらの環境変数を
設定しているため、tls_certificate_file および tls_key_file ディレクティブの
設定は効きません。必要な場合は起動スクリプトを修正してください。
| 環境変数 | 起動スクリプトの設定 |
サービス証明書 | X509_USER_CERT | /etc/grid-security/gfsd*/gfsdcert.pem |
秘密鍵 | X509_USER_KEY | /etc/grid-security/gfsd*/gfsdkey.pem |
起動スクリプトに設定されているパス名は GSI 認証と同一ですので、
既に GSI 認証の設定を完了しているサイトでは追加設定は不要です。
また、gfsd でサービス証明書を用いるためには以下の設定の追加が、
クライアントの gfarm2.conf、gfsd の gfarm2.conf、gfmd の gfmd.conf
すべてについて必要です。
spool_server_cred_type host
spool_server_cred_service gfsd
この設定についても GSI と共通ですので、
既に GSI 認証の設定を完了しているサイトでは追加設定は不要です。
tls_sharedsecret 認証に特有の設定
クライアント、gfmd、gfsd すべてのホストについて、
各ユーザのホームディレクトリ直下の .gfarm_shared_key ファイルに
共通鍵を置く必要があります。
このファイルの設定については sharedsecret 認証と同一ですので、
sharedsecret 認証に関する記述を参照してください。
tls_client_certificate 認証に特有の設定
管理者の行なう設定
各ユーザー毎に、
gfuser コマンドで設定する第4欄に「/O=Company/OU=Division/CN=UserName」
のような形式で、クライアント証明書の Subject DN を設定しておきます。
この設定についても GSI と共通ですので、
既に GSI 認証の設定を完了しているサイトでは追加設定は不要です。
各ユーザーの行なう設定
SEE ALSO
gfarm2.conf(5)
Gfarm File System <gfarmfs at gmail.com>