ネットワークファイルシステム

目次

概要

このセクションでは、NFSv4およびCIFS(SMB)のネットワークファイルシステムに関するセキュリティ、設定、および管理の知識が問われます。特に、認証・アクセス制御・セキュリティ機構についての理解と、Linuxでの実装・運用経験が重要です。


1. NFSv4(Network File System version 4)

1.1 NFSv4の特徴とセキュリティ改善

  • ポート番号が固定(TCP/2049)され、ファイアウォールの設定が容易
  • Kerberosによる認証サポート
  • 擬似ファイルシステム(Pseudo Filesystem)の導入:クライアントに対して安全なエクスポートツリーを提供
  • ACL(Access Control List)のサポート(POSIX ACLより柔軟)

1.2 NFSv4のサーバー設定手順

/etc/exports の記述例:

/exports/data 192.168.1.0/24(rw,sync,fsid=0,no_subtree_check,sec=krb5p)
  • fsid=0: 擬似ファイルシステムのルート
  • sec=krb5p: Kerberos + パケット暗号化による認証

サービス起動:

systemctl enable nfs-server
systemctl start nfs-server
exportfs -rav

ファイアウォール開放:

firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload

1.3 クライアント設定

マウント例:

mount -t nfs4 -o sec=krb5p server:/ /mnt/nfs

認証(Kerberos)を有効にするには:

kinit ユーザー名

1.4 NFSv4の認証方式

認証方式内容
sys従来方式(UID/GIDベース)
krb5Kerberosベースの認証
krb5i認証+完全性保護(Integrity)
krb5p認証+暗号化(Privacy)

1.5 NFSv4 ACLの使用

nfs4_setfacl -a A::ユーザ名:rw /mnt/nfs/test.txt
nfs4_getfacl /mnt/nfs/test.txt

2. CIFS(Common Internet File System)

2.1 CIFSの概要

  • Microsoft系ファイル共有プロトコル(SMBと同義)
  • Linuxではmount.cifsを使用
  • Windowsネットワークとの連携に最適
  • 認証:NTLMKerberosが使用可能
  • SID(Security Identifier)とLinux UID/GIDのマッピングが必要

2.2 CIFSクライアント設定

マウント例:

mount -t cifs //server/share /mnt/smb -o username=ユーザー,password=パスワード,sec=krb5
  • sec=krb5: Kerberos認証(winbind設定が必要)
  • sec=ntlm: パスワードによる認証

セキュリティモードとパラメータ

オプション説明
uid, gid所有者とグループのマッピング
file_modeファイルのパーミッション設定
dir_modeディレクトリのパーミッション設定
sec認証モード(ntlm, kerberos など)

2.3 CIFSのACLとSID処理

ACLの取得・設定

getcifsacl /mnt/smb/test.txt
setcifsacl -a "ACL:ユーザー:ALLOWED/0x0/FULL" /mnt/smb/test.txt

SIDマッピング(winbindによる)

apt install winbind

/etc/nsswitch.conf に以下を追加:

passwd: files winbind
group: files winbind

3. 設定ファイルとユーティリティ一覧

ファイル・コマンド用途
/etc/exportsNFSのエクスポート設定
/etc/idmap.confUID/GIDと名前のマッピング設定
mount.cifsCIFS共有のマウント
getcifsacl, setcifsaclCIFS共有におけるACL操作
nfs4_setfacl, nfs4_getfaclNFSv4 ACL操作
winbindWindows認証との連携

4. 試験対策のポイント

  • NFSv4とCIFSの違いを明確に理解する。
  • Kerberos認証やACLの具体的な設定手順を把握しておく。
  • 実際に環境を構築し、ファイル共有→ACL設定→アクセス確認を体験しておくと理解が深まります。

章末問題(四択)

問題 1: NFSv4でKerberos認証を使用し、パケットの完全性保護を有効にするにはどのオプションを使いますか?

A. sec=sys
B. sec=krb5
C. sec=krb5i
D. sec=krb5p

解説

正解:C

krb5i はKerberos認証に加え、通信内容の整合性(Integrity)保護を提供します。


問題 2: CIFSマウントにおいて、WindowsユーザーのSIDとLinuxのUIDを関連付けるために使用されるサービスはどれですか?

A. sssd
B. winbind
C. nfs-utils
D. slapd

解説

正解:B

winbindはWindowsのSIDをLinuxのUID/GIDにマッピングするために使われます。


問題 3: NFSv4の擬似ファイルシステムのルートを指定するために必要な/etc/exportsの設定はどれですか?

A. root=yes
B. fsid=0
C. default_root=true
D. pseudofs=yes

解説

正解:B

fsid=0を指定することで、擬似ファイルシステムのルートディレクトリとして認識されます。


問題 4: NFSv4でアクセス制御リストを確認するコマンドはどれですか?

A. getfacl
B. getacl
C. nfs4_getfacl
D. showacl

解説

正解:C

nfs4_getfaclはNFSv4 ACLを確認するための専用コマンドです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次