Samba

Win10 NFS客戶端是SAMBA殺手?

  • January 31, 2020

由於微軟最近撤回了對 Windows 10 的支持,我們終於讓最後一個頑固的 Windows 7 使用者使用 Windows 10,所以現在整個企業要麼是 Ubuntu 18.04,要麼是 Windows 10。

因為 Windows 10 有 NFS 客戶端,所以現在的問題是是否放棄 SAMBA 以支持 NFS。

具體來說,既然我們所有的 Windows 客戶端都支持 NFS,是否有任何理由保留 SAMBA?

SMB 3.xx 比“通用”TCP 連接具有更好的調整性能,並且具有 RDMA 和多通道支持等功能,Microsoft 沒有通過“他們的”(實際上是許可的)NFS 客戶端實現。

Samba 軟體使用的協議伺服器消息塊 (SMB) 可能更容易部署且具有足夠的安全性。網路文件系統,縮寫為 NFS,被戲稱為“無文件安全”。這是一個開玩笑的名字,但“無文件級安全性”可能是一個具有某些準確含義的名字。換句話說,NFS 安全性基於共享分區,而不是單個文件,因此 NFS 協議不強制執行文件級權限。

根據我的閱讀,NFS 伺服器可能會關注文件並拒絕無效請求。但是,並非所有 NFS 軟體都會這樣做。該協議傾向於讓客戶端請求驅動器上的數據塊,而伺服器可以通過從磁碟讀取數據塊來滿足該請求,而不必注意該數據塊屬於哪個文件。

即使您發現 NFS 實現是安全的,又是什麼阻止了未來發生變化的可能性,從而導致 NFS 的實現/部署不那麼安全?如果您有安全問題,那麼回答此類問題可能非常值得。

使用 SMB,人們共享目錄而不是分區。這可以幫助您確信您共享的只是您想要的目錄,而不是位於驅動器層次結構不同部分的其他目錄。

編輯:來了一個新的挑戰者。對此答案的評論聲稱這是脫靶的。因此,我尋找了一些歷史悠久的文件來幫助支持這一點。我很容易從我的回答中找到支持聲明的材料:

首先是“安全網路公司”。1997 年 3 月 7 日發布了一篇名為“4.4BSD NFS 文件句柄”的“安全公告”。(該超連結來自 OpenBSD 網站:SecList.org BugTraq Mailing List Archive from 1997: 4.4BSD NFS File Handles顯示作為舊郵件列表的一部分發布的相同內容,但添加了標題 。PacketStormSecurity:SNI BSD 文件句柄諮詢也顯示相同的文件。)

本文討論了 NFS 如何提供數據的基於塊的性質(並且可能是我理解這個特定漏洞的來源)。

該文件已由多個組織託管。這是一份不同的報告,顯然與該文件完全無關:“為什麼 NFS 糟透了”的部分內容,作者是“SUSE/Novell Inc.”的“Olaf Kirch”。okir@suse.de說:

“NFS 不關心您導出的是 reiser、ext3 還是 XFS、CD 還是 DVD。這樣做的直接後果是 NFS 需要一個相當通用的機制來辨識駐留在文件系統上的對象。” …“只有伺服器需要了解文件句柄的內部格式。” …“Linux 引入了目錄記憶體的概念,也就是 dcache。dcache 中的條目稱為 dentry” …“實際上 VFS 層中的所有函式都期望一個 dentry 作為參數而不是(或另外to) 他們過去使用的 inode 對象。” “這讓 NFS 伺服器變得有趣,因為 inode 資訊不再足以創建 VFS 層願意操作的東西”……“

至於我對暱稱的說法, https ://news.ycombinator.com/item?id= 10967064 支持:

1987 年,Sun 的工程師們都知道 NFS 代表“No File Security”

第一個螢幕顯示了一些不同的漏洞,包括根據客戶端電腦報告的主機名信任某人。

Google Books:引用“A Practical Guide to Ubuntu Linux”的材料注:

預設 NFS 安全性微乎其微(一個常見的笑話是 NFS 代表無文件安全或噩夢文件系統),因此不應允許在您的網路之外對您不信任的機器進行此類訪問。

有關 NFS 配置說明的 eTutorials.org 部分

如果您通過 Internet 掛載文件系統,傳輸的文件可能隨時受到干擾甚至被篡改(有人開玩笑說 NFS 是“No File Security”的縮寫)。

引用自:https://serverfault.com/questions/1001138