4.12. 相互 TLS 対応の NFS クライアントの設定
サーバーが TLS 暗号化を使用した NFS をサポートしている場合は、TLS プロトコルを使用して NFS サーバーとクライアントが相互に認証するように設定できます。
前提条件
- NFS サーバーを TLS 暗号化を使用して設定した。詳細は、TLS 対応の NFS サーバーの設定 を参照してください。
-
ktls-utilsパッケージをインストールした。
手順
秘密鍵および証明書署名要求 (CSR) を作成します。
# openssl req -new -newkey rsa:4096 -noenc \ -keyout /etc/pki/tls/private/client.example.com.key \ -out /etc/pki/tls/private/client.example.com.csr \ -subj "/C=US/ST=State/L=City/O=Organization/CN=client.example.com" \ -addext "subjectAltName=DNS:client.example.com,IP:192.0.2.2"重要コモンネーム (CN) と DNS はホスト名と一致する必要があります。IP はホストの IP と一致する必要があります。
-
/etc/pki/tls/private/client.example.com.csrファイルを認証局 (CA) に送信し、クライアント証明書を要求します。受信した CA 証明書とクライアント証明書をホストに保存します。 CA 証明書をシステムのトラストストアにインポートします。
# cp ca.crt /etc/pki/ca-trust/source/anchors # update-ca-trustクライアント証明書を
/etc/pki/tls/certs/ディレクトリーに移動します。# mv client.example.com.crt /etc/pki/tls/certs/秘密鍵と証明書の SELinux コンテキストが正しいことを確認します。
# restorecon -Rv /etc/pki/tls/certs/クライアント証明書と秘密鍵を、
/etc/tlshd.confファイルの[authenticate.client]セクションに追加します。x509.certificate= /etc/pki/tls/certs/client.example.com.crt x509.private_key= /etc/pki/tls/private/client.example.com.keyx509.truststoreパラメーターは未設定のままにします。tlshdサービスを有効にして起動します。# systemctl enable --now tlshd.serviceTLS 暗号化を使用して NFS 共有をマウントします。
# mount -o xprtsec=mtls server.example.com:/nfs/projects/ /mnt/
検証
クライアントが TLS 対応の NFS 共有を正常にマウントしたことを確認します。
# journalctl -u tlshd … Apr 01 08:37:56 client.example.com tlshd[10688]: Handshake with server.example.com (192.0.2.1) was successful