5.4. NFS保護

ネットワークシステム(NFS)はRPCサービスの1つで、 ネットワークがアクセス可能なファイルシステムをクライアントマシンに提供するため、 portmap などの関連サービスと併せて使用されます。 NFSの仕組みに関しての詳細は、Red Hat Enterprise Linux リファレンスガイドの章、Network File System (NFS)をご参照下さい。NFS設定の詳細は、Red Hat Enterprise Linux システム管理ガイドをご参照下さい。 続いてのサブセクションはNFSの基本知識を有するユーザー向けの内容となっています。

誓要項目重要
 

NFS サーバーの導入を予定している場合、項5.2の説明通り、初めにportmap サービスの 安全性を確認して下さい。 その後、次にあげる問題に対応して下さい。

5.4.1. ネットワーク計画は慎重に

NFS は全情報を暗号化しないままネットワーク上に配信するため、 安全で、セグメント化されたネットワーク上のファイヤウォールの裏でサービスを 実行する必要があります。NFS の情報が安全でないネットワーク上で配信されるたび、 妨害を受けるリスクにさらされます。このような問題を考慮した慎重なネットワーク設計をすることは重大なセキュリティー違反の回避につながります。

5.4.2. 構文エラーに注意する

ディレクトリを/etc/exportsファイル経由で転送する先の ファイルシステムやホストはNFSサーバーが決定します。 このファイルを編集する時、無関係なスペースを追加しないように気をつけて下さい。

例えば、/etc/exportsファイルにある次のラインは ホストbob.example.comに対してディレクトリ/tmp/nfs/を共有し、読み込みと書き込みが許可されています。

/tmp/nfs/     bob.example.com(rw)

反対に、/etc/exportsにあるこのラインは ホストbob.example.comに対して同じディレクトリを共有し、 読み取り専用として許可されています。 又、worldに対してもディレクトリを共有し、 ホスト名の後の1文字によって、読み取りと書き込みが許可されています。

/tmp/nfs/     bob.example.com (rw)

showmountコマンドを使用し、設定されたNFSの共有を確認してみて下さい。

showmount -e <hostname>

5.4.3. no_root_squashオプションは使用しない

NFSはデフォルトで特権のないユーザーアカウントであるnfsnobodyのルートユーザー変更を共有します。 又、setuid ビットセットでのプログラムアップロードを防ぐため、 全ルート作成ファイルは nfsnobodyユーザーが所有します。

no_root_squashが使用された場合、リモートルートユーザーは 共有ファイルシステムのファイルを変更することができるため、 他のユーザーが気づかないまま実行してしまうような 感染アプリケーションを格納できてしまいます。