NFS - ファイルシステムのサブディレクトリを安全にエクスポートする

NFS - ファイルシステムのサブディレクトリを安全にエクスポートする

コンテキストでは、プライマリサーバーとフェールオーバーサーバー間で共有されるNFSマウントを使用して、正しく文書化されていないソフトウェアの一部を管理するのに役立ちます。 NFS サーバーは現在ファイルシステムのサブディレクトリをエクスポートしており、エクスポート時に no_subtree_check オプションが有効になっています。これは、セキュリティの意味とエクスポートされたサブディレクトリが独自のファイルシステムにあるようにコンテンツを並べ替える価値があるかどうかを理解しようとしています。


エクスポート(5)のマニュアルページによると:

サブディレクトリのエクスポート

通常、ファイルシステムのルートのみをエクスポートする必要があります。 NFS サーバーでは、ファイルシステムのサブディレクトリをエクスポートすることもできますが、次の欠点があります。

まず、悪意のあるユーザーは他のファイルのファイルハンドルを推測して、ファイルシステムのエクスポートされたサブディレクトリの外部にあるファイルにアクセスする可能性があります。これを防ぐ唯一の方法はno_subtree_checkオプションを使用することです。これは他の問題を引き起こす可能性があります。

オプションのドキュメントと比較すると、最後の文が逆さまに見えるようです。それではダメですか?サブツリー検査悪意のあるユーザーがエクスポートしたサブディレクトリ以外のファイルハンドルを推測してアクセスするのを防ぐオプションはありますか?

これは、サブツリーチェックの問題に関して、マニュアルページの他の場所で言及されている「他の問題の発生」行とも一致しているようです。

nfs-utils バージョン 1.1.0 以降、デフォルトは no_subtree_check です。なぜなら、subtree_checkingは価値あるよりも多くの問題を引き起こす傾向があるからです。

また、ファイルハンドルの推測がどのように機能するかは少し不明です。この攻撃はテストコマンドで簡単にシミュレートできますか?では、どうすればよいですか? (これを行う方法がわかっている場合は、subtree_checkとno_subtree_checkの動作を直接比較できます。)

関連情報