固定熱線:+86-0754-87269192 移動電話:13592853937   13592853927      QQ:1075433888
新聞中心網站專題聯係AG亚游集团

數據安全談:看 NFS網絡文件係統的安全

  AG亚游集团網絡 : 2014-12-01 12:11:37     閱讀數 :     分享到 :
0

NFS是網絡文件係統(Network File System)的簡稱,是分布式計算係統的一個組成部分,可實現在異種網絡上共享和裝配遠程文件係統。NFS由Sun公司開發,目前已經成為文件服務的一種標準(RFC1904,RFC1813)。其最大的功能就是可讓不同操作係統的計算機共享數據,所以也可以將它看做是一個文件服務器。NFS提供了除SAMBA之外,Windows與Linux、Unix與Linux之間通信的方法。

任何網絡服務器都會有安全問題,NFS也不例外。由於設計方麵的因素,NFS服務器不可能絕對安全。一般來說,不應該將NFS服務器運行在比較敏感的係統或者隻有一般防火牆的機器上,應該盡量將其置於防火牆之後。配置安全的NFS服務器,可以從限製RCP服務的訪問和控製文件係統的導出權限兩方麵著手。

NFS麵臨的安全隱患

因為NFS在網絡上明文傳輸所有信息,按照默認設置,NFS共享把根用戶改成用戶nfsnobody,它是一個不具備特權的用戶賬號。這樣,所有根用戶創建的文件都會被用戶nfsnobody所有,從而防止了設置setuid的程序被上傳到係統。如果使用了no_root_squash,遠程用戶就能夠改變共享文件係統上的任何文件,把設置了特洛伊木馬的程序留給其他用戶,在無意中執行。

NFS服務器安全策略

(1)使用TCP_Wrappers

portmap和rpc.nfsd結合起來,使NFS服務器上的文件即使沒有任何權限也能容易得到。可以使用訪問控製保障網絡安全,在使用NFS時最好結合TCP_Wrappers來限製使用範圍。

(2)注意配置文件語法錯誤

NFS服務器通過/etc/exports文件來決定要導出哪些文件係統,以及把這些目錄導出到哪些主機上。編輯這個文件的時候要特別小心,不要添加額外的空格。

例如:/etc/exports文件的以下行會使主機bob.example.com 能夠共享/tmp/nfs/目錄。

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

但是 /etc/exports 文件中這一行的情況卻不同。它共享同一目錄,讓主機 bob.example.com 擁有隻讀權限,卻給全局以讀寫權限。這全是由主機後麵的一個空格造成的。

/tmp/nfs/

bob.example.com (rw)

使用 showmount 命令來校驗哪些目錄被共享,從而檢查NFS共享配置是一個好習慣。showmount格式為:

showmount -e

(3)使用iptables防火牆

因為NFS在網絡上明文傳輸所有信息,所以讓NFS服務器在防火牆後、在一個分段的安全網絡上運行就很重要。無論何時在不安全的網絡上傳遞NFS信息都有被截取的危險。從這個角度講,謹慎製定網絡計劃就有助於防禦重要的安全破壞。限製RCP服務訪問的辦法一般是使用防火牆,除了TCP-Wrapper還有ipchians和iptalbes的防火牆。在全麵使用Linux 2.4或更高版本內核的今天,了解iptables這種防火牆方法也就足夠了。 缺省的狀態下,portmap使用111端口,而NFS使用2049端口,可以通過iptables來限製對該端口的訪問:

iptables -t filter -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -t filter -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -t filter -A INPUT -p udp -s trusted_client -d this_server_ip --dport \2049 -j
 ACCEPTiptables -t filter -A INPUT -p udp -s not_trusted_client -d this_server_ip -dport
 \2049 -j DROP

(4)把開放目錄限製為隻讀權限

可以在/etc/exports文件中設定權限選項ro,通常需要把NFS服務器對客戶開放的任何目錄或文件係統設置為隻讀訪問:

/app devpc.nitec.com(ro)

這樣,devpc.nitec.com網絡中的客戶隻能對/app目錄進行隻讀訪問。

(5)禁止對某些目錄的訪問

當開放一個完整的文件係統或者一個目錄時,缺省情況下它的子目錄會自動開放訪問權限。如果希望限製對其子目錄的訪問可以使用noaccess訪問選項,例如希望開放/pub目錄權限但是禁止訪問/pub/staff-only子目錄:

/pub weblab-??.nitec.com (ro)
/pub/staff-only weblab-??.nitec.com (noaccess)

注意: “??”代表任意字符。

(6)root squashing訪問問題

按照默認設置,root用戶的用戶ID和組群ID都是0。root權限壓縮(Root squashing)把用戶ID0和組群ID0映射為匿名的用戶和組群ID,因此客戶上的根用戶就不會在NFS服務器上具備根特權。如果這個選項被選,root用戶就不會被映射為匿名用戶,客戶上的root用戶就會對導出的目錄擁有根特權。選擇這個選項會大大降低係統的安全性。除非絕對必要,請不要選擇它。為了明確執行該規則,可以修改文件/etc/exports:


/www www1.nitec.com(rw, root_squash)

這樣如果客戶端的UID0(root)用戶想要訪問(讀、寫、刪除)一個NFS文件係統,服務器端會用UID代替服務器的nobody賬戶。這樣客戶端的root用戶不能修改和訪問服務器端root用戶才能訪問和修改的文件。

(7)使用nosuid和noexec選項

SUID(Set User ID)或SGID(Set Group ID)程序可以讓普通用戶以超過自己權限的形式執行。很多SUID/SGID可執行程序是必須的,比如上麵提到的passwd。SUID/SGID程序會被一些惡意的本地用戶利用,獲取本不應有的權限。運行以下命令可以找到所有具有這一屬性的程序:

#find / \( -perm -4000 -o -perm -2000 \)

使用者必須查看這一列表,盡量減少那些所有者是root或是在root組中卻擁有SUID/SGID屬性的文件,刪除或對其屬性進行更改。使用nosuid選項禁止set-UID程序在 NFS服務器上運行,可以修改文件/etc/exports加入一行:

/www www1.nitec.com(rw, root_squash, nosuid)

上麵的例子說明:/www目錄在www1.nitec.com上可以登錄,www1.nitec.com的用戶可以讀取/www中的文件和目錄,但是不能運行set- UID程序。

/www www1.nitec.com(rw, root_squash, noexec)

上麵的例子說明/www目錄在www1.nitec.com上可以登錄,www1.nitec.com的用戶可以讀取/www中的文件和目錄,但是禁止所登錄文件係統中文件的執行。

NFS是非常重要的網絡協議,許多企業通過NFS協議共享硬盤和其它設備。把能登錄NFS目錄設置為隻讀訪問、提高portmap服務的安全性、squashing root訪問、使用on set-UID 和non executable文件設置可以提高NFS服務器的安全。

相關熱詞搜索:文件 數據 係統

上一篇:木馬賺流量牟暴利 非法篡改IE瀏覽器首頁
下一篇:用好Windows命令 識別木馬蛛絲馬跡

最新案例
新聞中心
  1. 國家版權局:各圖片公司要規範版權運營不得濫用權利
  2. 接入公共Wi-Fi不要使用支付類應用
  3. 蘋果CEO庫克:感謝中國打開大門
  4. 拚多多發布財報後 市值蒸發63億美元
  5. 科技部表示統籌港澳與內地的科技力量建設大灣區
  6. 科技部將形成科研經費包幹製改革試點方案
網站策劃
  1. 網頁大圖片應用技巧淺析
  2. 如何讓粉絲甘心為你的微博文章買單?
  3. 如何讓一個網站看起來高大上、更有設計感?
  4. 超實用!帶你認識網頁設計的構圖法則
  5. 移動端字體7準則
  6. 怎樣搭建一個自有域名的 WordPress 博客?

  • 電話:0754-88815988 13592853937
    傳真:0754-88815988
    網站地圖
400-660-5510qqsina