2.12. TLS 対応の NFS サーバーの設定
RPCSEC_GSS
プロトコルがない場合、NFS トラフィックはデフォルトで暗号化されません。Red Hat Enterprise Linux 9.6 以降、NFS を TLS で設定できるようになり、NFS トラフィックがデフォルトで暗号化されるようになります。
前提条件
- NFSv4 サーバーを設定した。手順については、NFSv4 専用サーバーの設定 を参照してください。
- 認証局 (CA) 証明書がある。
-
ktls-utils
パッケージをインストールした。
手順
秘密鍵および証明書署名要求 (CSR) を作成します。
openssl req -new -newkey rsa:4096 -noenc \ -keyout /etc/pki/tls/private/server.example.com.key \ -out /etc/pki/tls/private/server.example.com.csr \ -subj "/C=US/ST=State/L=City/O=Organization/CN=server.example.com" \ -addext "subjectAltName=DNS:server.example.com,IP:192.0.2.1"
# openssl req -new -newkey rsa:4096 -noenc \ -keyout /etc/pki/tls/private/server.example.com.key \ -out /etc/pki/tls/private/server.example.com.csr \ -subj "/C=US/ST=State/L=City/O=Organization/CN=server.example.com" \ -addext "subjectAltName=DNS:server.example.com,IP:192.0.2.1"
Copy to Clipboard Copied! 重要コモンネーム (CN) と DNS はホスト名と一致する必要があります。IP はホストの IP と一致する必要があります。
-
/etc/pki/tls/private/server.example.com.csr
ファイルを CA に送信し、サーバー証明書を要求します。受信した CA 証明書とサーバー証明書をホスト上に保存します。 CA 証明書をシステムのトラストストアにインポートします。
cp ca.crt /etc/pki/ca-trust/source/anchors update-ca-trust
# cp ca.crt /etc/pki/ca-trust/source/anchors # update-ca-trust
Copy to Clipboard Copied! サーバー証明書を
/etc/pki/tls/certs/
ディレクトリーに移動します。mv server.example.com.crt /etc/pki/tls/certs/
# mv server.example.com.crt /etc/pki/tls/certs/
Copy to Clipboard Copied! 秘密鍵と証明書の SELinux コンテキストが正しいことを確認します。
restorecon -Rv /etc/pki/tls/certs/
# restorecon -Rv /etc/pki/tls/certs/
Copy to Clipboard Copied! サーバー証明書と秘密鍵を、
/etc/tlshd.conf
ファイルの[authenticate.server]
セクションに追加します。x509.certificate= /etc/pki/tls/certs/server.example.com.crt x509.private_key= /etc/pki/tls/private/server.example.com.key
x509.certificate= /etc/pki/tls/certs/server.example.com.crt x509.private_key= /etc/pki/tls/private/server.example.com.key
Copy to Clipboard Copied! x509.truststore
パラメーターは未設定のままにします。tlshd
サービスを有効にして起動します。systemctl enable --now tlshd.service
# systemctl enable --now tlshd.service
Copy to Clipboard Copied!