
MS が最近 Windows 7 のサポートを終了したおかげで、ついに頑固な Windows 7 ユーザー全員を Windows 10 に移行させることができました。そのため、現在、企業全体では Ubuntu 18.04 か Windows 10 のいずれかが使用されています。
Windows 10 には NFS クライアントがあるため、SAMBA を捨てて NFS を使用するかどうかが問題となります。
具体的には、すべての Windows クライアントが NFS をサポートしている今、SAMBA を保持する理由はあるのでしょうか?
答え1
SMB 3.xx は、「一般的な」TCP 接続よりもパフォーマンスが調整されており、Microsoft が「自社の」(実際にはライセンスされた) NFS クライアントで実装しなかった RDMA やマルチチャネル サポートなどの機能を備えています。
答え2
Samba ソフトウェアで使用されるプロトコルである Server Message Block (SMB) は、十分なセキュリティがあれば、より簡単に導入できる可能性があります。Network File System (略称 NFS) は、冗談で「No File Security」と呼ばれています。これは冗談めいた名前ですが、「No File-Level Security」は、正確な意味を持つ名前かもしれません。つまり、NFS セキュリティは、個々のファイルではなくパーティションの共有に基づいているため、NFS プロトコルではファイル レベルのアクセス許可は適用されません。
私が読んだところによると、NFS サーバーはファイルに注意を払い、無効な要求を拒否することが可能です。ただし、すべての NFS ソフトウェアがそうするわけではありません。プロトコルでは、クライアントがドライブ上のデータ ブロックを要求する傾向があり、サーバーは、そのブロックがどのファイルの一部であるかを必ずしも気にすることなく、ディスクからブロックを読み取ることでその要求を満たすことができます。
NFS 実装が安全であることがわかったとしても、将来的に NFS の実装/展開の安全性が低下するような変更が行われる可能性を防ぐにはどうすればよいのでしょうか。セキュリティ上の懸念がある場合、このような質問に対する答えを用意しておくことは非常に価値があるかもしれません。
SMB では、パーティションではなくディレクトリを共有します。これにより、ドライブの階層の別の部分にある他のディレクトリではなく、必要なディレクトリだけを共有していることを確信できます。
編集: 新たな挑戦者がやって来ました。この回答に対するコメントで、これは的外れだと主張しています。そこで、これを裏付けるのに役立つ昔ながらの文書を探しました。そして、私の回答の主張を裏付ける資料を簡単に見つけました。
まず第一に、「Secure Networks Inc.」は、1997 年 3 月 7 日に「4.4BSD NFS ファイル ハンドル」というタイトルの「セキュリティ アドバイザリ」を公開しました。(このハイパーリンクは OpenBSD の Web サイトからのものです:SecList.org BugTraq メーリング リスト アーカイブ 1997 年: 4.4BSD NFS ファイル ハンドル古いメーリングリストの一部として投稿されたものと同じ内容を表示しますが、ヘッダーが追加されています。 PacketStormSecurity: SNI BSD ファイル ハンドルに関するアドバイス同じ文書も表示されます。
この記事では、NFS がデータを提供するブロックベースの性質について説明します (そして、これがこの特定の脆弱性についての私の理解の源である可能性があります)。
この文書は複数の組織によってホストされています。ここに、この文書とはまったく関係のない別のレポートがあります。「NFS がダメな理由」、SUSE/Novell Inc. の Olaf Kirch 著[メールアドレス]言う:
「NFS は、エクスポートするファイルが reiser、ext3、XFS、CD、DVD のいずれであるかを気にしません。この直接的な結果として、NFS はファイル システムに存在するオブジェクトを識別するためのかなり一般的なメカニズムを必要とします。」...「ファイル ハンドルの内部形式を理解する必要があるのはサーバーだけです。」...「Linux はディレクトリ キャッシュ (別名 dcache) の概念を導入しました。dcache のエントリは dentry と呼ばれます。」...「VFS 層のほぼすべての関数は、これまで使用していた inode オブジェクトの代わりに (またはそれに加えて) dentry を引数として受け取ります。」...「これにより、NFS サーバーにとって興味深い状況になりました。inode 情報だけでは、VFS 層が操作できるものを作成するのに十分ではなくなったためです。」...「攻撃者は、有効な資格情報を持つパケットを傍受し、NFS 要求を操作して悪意のある行為を実行できます。」
ニックネームについての私の主張については、 https://news.ycombinator.com/item?id=10967064バックアップ:
1987年、Sunのエンジニアの間ではNFSが「No File Security」の略語であることが常識となっていた。
最初の画面には、クライアント コンピューターによって報告されたホスト名に基づいて誰かを信頼することなど、いくつかの異なる脆弱性が表示されます。
Google ブックス: 「Ubuntu Linux 実践ガイド」からの引用ノート:
デフォルトの NFS セキュリティは、ほとんどないかまったくありません (NFS は No File Security または Nightmare File System の略であるというのがよくあるジョークです)。そのため、信頼できないマシンへのネットワーク外部のアクセスは許可しないでください。
eTutorials.org の NFS 構成に関するセクションノート:
ファイルシステムをインターネット経由でマウントすると、転送されたファイルはいつでも妨害され、改ざんされる可能性があります (NFS は「No File Security」の略だと冗談を言う人もいます)。