提升nfs服務(wù)器的安全
提升nfs服務(wù)器的安全
服務(wù)器中存儲的信息越來越多,而且也越來越重要;為防止服務(wù)器發(fā)生意外或受到意外攻擊,而導致大量重要的數(shù)據(jù)丟失,服務(wù)器一般都會采用許多重要的安全保護技術(shù)來確保其安全,那么你知道如何提升nfs服務(wù)器的安全嗎?下面是學習啦小編整理的一些關(guān)于提升nfs服務(wù)器的安全的相關(guān)資料,供你參考。
什么是nfs?
NFS是網(wǎng)絡(luò)文件系統(tǒng)(Network File System)的簡稱,是分布式計算系統(tǒng)的一個組成部分,可實現(xiàn)在異種網(wǎng)絡(luò)上共享和裝配遠程文件系統(tǒng)。NFS由Sun公司開發(fā),目前已經(jīng)成為文件服務(wù)的一種標準(RFC1904,RFC1813)。其最大的功能就是可讓不同操作系統(tǒng)的計算機共享數(shù)據(jù),所以也可以將它看做是一個文件服務(wù)器。NFS提供了除SAMBA之外,Windows與Linux、Unix與Linux之間通信的方法。
任何網(wǎng)絡(luò)服務(wù)器都會有安全問題,NFS也不例外。由于設(shè)計方面的因素,NFS服務(wù)器不可能絕對安全。一般來說,不應(yīng)該將NFS服務(wù)器運行在比較敏感的系統(tǒng)或者只有一般防火墻的機器上,應(yīng)該盡量將其置于防火墻之后。配置安全的NFS服務(wù)器,可以從限制RCP服務(wù)的訪問和控制文件系統(tǒng)的導出權(quán)限兩方面著手。
nfs服務(wù)器面臨的安全隱患
因為NFS在網(wǎng)絡(luò)上明文傳輸所有信息,按照默認設(shè)置,NFS共享把根用戶改成用戶nfsnobody,它是一個不具備特權(quán)的用戶賬號。這樣,所有根用戶創(chuàng)建的文件都會被用戶nfsnobody所有,從而防止了設(shè)置setuid的程序被上傳到系統(tǒng)。如果使用了no_root_squash,遠程用戶就能夠改變共享文件系統(tǒng)上的任何文件,把設(shè)置了特洛伊木馬的程序留給其他用戶,在無意中執(zhí)行。
nfs服務(wù)器安全策略
(1)使用TCP_Wrappers
portmap和rpc.nfsd結(jié)合起來,使NFS服務(wù)器上的文件即使沒有任何權(quán)限也能容易得到??梢允褂迷L問控制保障網(wǎng)絡(luò)安全,在使用NFS時最好結(jié)合TCP_Wrappers來限制使用范圍。
(2)注意配置文件語法錯誤
NFS服務(wù)器通過/etc/exports文件來決定要導出哪些文件系統(tǒng),以及把這些目錄導出到哪些主機上。編輯這個文件的時候要特別小心,不要添加額外的空格。
例如:/etc/exports文件的以下行會使主機bob.example.com 能夠共享/tmp/nfs/目錄。
/tmp/nfs/ bob.example.com(rw)
但是 /etc/exports 文件中這一行的情況卻不同。它共享同一目錄,讓主機 bob.example.com 擁有只讀權(quán)限,卻給全局以讀寫權(quán)限。這全是由主機后面的一個空格造成的。
/tmp/nfs/
bob.example.com (rw)
使用 showmount 命令來校驗?zāi)男┠夸洷还蚕?,從而檢查NFS共享配置是一個好習慣。showmount格式為:
showmount -e
(3)使用iptables防火墻
因為NFS在網(wǎng)絡(luò)上明文傳輸所有信息,所以讓NFS服務(wù)器在防火墻后、在一個分段的安全網(wǎng)絡(luò)上運行就很重要。無論何時在不安全的網(wǎng)絡(luò)上傳遞NFS信息都有被截取的危險。從這個角度講,謹慎制定網(wǎng)絡(luò)計劃就有助于防御重要的安全破壞。限制RCP服務(wù)訪問的辦法一般是使用防火墻,除了TCP-Wrapper還有ipchians和iptalbes的防火墻。在全面使用Linux 2.4或更高版本內(nèi)核的今天,了解iptables這種防火墻方法也就足夠了。 缺省的狀態(tài)下,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 49 -j
ACCEPTiptables -t filter -A INPUT -p udp -s not_trusted_client -d this_server_ip -dport
49 -j DROP
(4)把開放目錄限制為只讀權(quán)限
可以在/etc/exports文件中設(shè)定權(quán)限選項ro,通常需要把NFS服務(wù)器對客戶開放的任何目錄或文件系統(tǒng)設(shè)置為只讀訪問:
/app devpc.nitec.com(ro) 這樣,devpc.nitec.com網(wǎng)絡(luò)中的客戶只能對/app目錄進行只讀訪問。
(5)禁止對某些目錄的訪問
當開放一個完整的文件系統(tǒng)或者一個目錄時,缺省情況下它的子目錄會自動開放訪問權(quán)限。如果希望限制對其子目錄的訪問可以使用noaccess訪問選項,例如希望開放/pub目錄權(quán)限但是禁止訪問/pub/staff-only子目錄:
/pub weblab-??.nitec.com (ro)
/pub/staff-only weblab-??.nitec.com (noaccess)
注意: “??”代表任意字符。
(6)root squashing訪問問題
按照默認設(shè)置,root用戶的用戶ID和組群ID都是0。root權(quán)限壓縮(Root squashing)把用戶ID0和組群ID0映射為匿名的用戶和組群ID,因此客戶上的根用戶就不會在NFS服務(wù)器上具備根特權(quán)。如果這個選項被選,root用戶就不會被映射為匿名用戶,客戶上的root用戶就會對導出的目錄擁有根特權(quán)。選擇這個選項會大大降低系統(tǒng)的安全性。除非絕對必要,請不要選擇它。為了明確執(zhí)行該規(guī)則,可以修改文件/etc/exports:
/www www1.nitec.com(rw, root_squash)
這樣如果客戶端的UID0(root)用戶想要訪問(讀、寫、刪除)一個NFS文件系統(tǒng),服務(wù)器端會用UID代替服務(wù)器的nobody賬戶。這樣客戶端的root用戶不能修改和訪問服務(wù)器端root用戶才能訪問和修改的文件。
(7)使用nosuid和noexec選項
SUID(Set User ID)或SGID(Set Group ID)程序可以讓普通用戶以超過自己權(quán)限的形式執(zhí)行。很多SUID/SGID可執(zhí)行程序是必須的,比如上面提到的passwd。SUID/SGID程序會被一些惡意的本地用戶利用,獲取本不應(yīng)有的權(quán)限。運行以下命令可以找到所有具有這一屬性的程序:
#find / \( -perm -4000 -o -perm -2000 \)
使用者必須查看這一列表,盡量減少那些所有者是root或是在root組中卻擁有SUID/SGID屬性的文件,刪除或?qū)ζ鋵傩赃M行更改。使用nosuid選項禁止set-UID程序在 NFS服務(wù)器上運行,可以修改文件/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中的文件和目錄,但是禁止所登錄文件系統(tǒng)中文件的執(zhí)行。
NFS是非常重要的網(wǎng)絡(luò)協(xié)議,許多企業(yè)通過NFS協(xié)議共享硬盤和其它設(shè)備。把能登錄NFS目錄設(shè)置為只讀訪問、提高portmap服務(wù)的安全性、squashing root訪問、使用on set-UID 和non executable文件設(shè)置可以提高NFS服務(wù)器的安全。
看過文章“提升nfs服務(wù)器的安全”的人還看了:
5.Windows服務(wù)器的基礎(chǔ)安全加固方法
8.怎么利用服務(wù)器的DHCP維護局域網(wǎng)安全
9.怎么設(shè)置網(wǎng)件PR2000為公共熱點安全模式
10.服務(wù)器物理安全