NFS服務(wù)器安全的分析和解決
NFS服務(wù)器的安全問題我們?cè)谙旅鎭?lái)為大家詳細(xì)介紹一下。首先我們需要對(duì)NFS服務(wù)器的安全所涉及的方面做一個(gè)了解。那么我們?yōu)榇蠹易屑?xì)總結(jié)了一下。
1、NFS服務(wù)器不安全體現(xiàn)在以下幾個(gè)方面
第一點(diǎn):新手對(duì)NFS的訪問控制機(jī)制難于做到得心應(yīng)手,控制目標(biāo)的精確性難以實(shí)現(xiàn) |
第二點(diǎn):NFS沒有真正的用戶驗(yàn)證機(jī)制,而只有對(duì)RPC/Mount請(qǐng)求的過程驗(yàn)證機(jī)制 |
第三點(diǎn):較早的NFS可以使未授權(quán)用戶獲得有效的文件句柄 |
第四點(diǎn):在RPC遠(yuǎn)程調(diào)用中,一個(gè)SUID的程序就具有超級(jí)用戶權(quán)限 |
2、加強(qiáng)NFS服務(wù)器安全的方法如下
第一:合理的設(shè)定/etc/exports中共享出去的目錄,最好能使用anonuid,anongid以使MOUNT到NFS SERVER的CLIENT僅僅有最小的權(quán)限,最好不要使用root_squash |
第二:使用IPTABLE防火墻限制能夠連接到NFS SERVER的機(jī)器范圍 |
第三:為了防止可能的Dos攻擊,需要合理設(shè)定NFSD 的COPY數(shù)目 |
第四:修改/etc/hosts.allow和/etc/hosts.deny達(dá)到限制CLIENT的目的 |
第五:改變默認(rèn)的NFS 端口 |
第六:使用Kerberos V5作為登陸驗(yàn)證系統(tǒng) |
四、NFS服務(wù)器的trouble shooting
常見錯(cuò)誤 |
||
(1)權(quán)限的設(shè)置不符合 |
|
|
(2)忘記了激活portmap服務(wù) |
錯(cuò)誤信息 |
mount: RPC: Port mapper failure - RPC: Unable to receive 或mount: RPC: Program not registered |
解決辦法 |
啟動(dòng)portmap,并且重新啟動(dòng)nfs |
|
(3)被防火墻攔截 |
重新設(shè)置防火墻,包括iptables與TCP_Wrappers,因?yàn)榧せ盍?/span>portmap,所以port 111必須提供出去.因此在iptables rules中,要增加: 如果還不行,那就是TCP_Wrappers的問題,檢查/etc/hosts.deny,如果有一行是: 如果我們的NFS針對(duì)內(nèi)部網(wǎng)絡(luò)開發(fā),對(duì)于外部網(wǎng)絡(luò)只對(duì)學(xué)術(shù)網(wǎng)絡(luò)開發(fā)(140.0.0.0/8),可以: 還可以使用TCP_Wrappers,在/etc/hosts.allow里面規(guī)定連上 NFS 主機(jī)的主機(jī) IP 與名稱,例如 |
|
(4)cant contact portmapper: RPC: Remote system error - Connection refused |
出現(xiàn)這個(gè)錯(cuò)誤信息是由于SEVER端的PORTMAP沒有啟動(dòng) |
|
(5)mount clntudp_create: RPC: Program not registered |
NFS沒有啟動(dòng)起來(lái),可以用showmout -e host命令來(lái)檢查NFS SERVER是否正常啟動(dòng)起來(lái) |
|
(6)mount: localhost:/home/test failed, reason given by server: Permission denied |
這個(gè)提示是當(dāng)client要mount nfs server時(shí)可能出現(xiàn)的提示,意思是說(shuō)本機(jī)沒有權(quán)限去mount nfs server上的目錄。解決方法當(dāng)然是去修改NFS SERVER |
五、注意事項(xiàng)
(1)NFS Server關(guān)機(jī)時(shí),如果還有NFS Client聯(lián)機(jī)在線,那么建議NFS Server關(guān)機(jī)之前,要先關(guān)掉portmap與nfs這兩個(gè)系統(tǒng)服務(wù)。如果無(wú)法正確地將這兩個(gè)系統(tǒng)服務(wù)關(guān)掉,那么先以netstat -utlp找出PID,然后使用kill殺掉進(jìn)程,這樣才能正常關(guān)機(jī)
(2)如果要在Windows系統(tǒng)中使用NFS共享目錄,需要使用 Omini Lite 軟件
(3)如果要在Windows系統(tǒng)中訪問NFS服務(wù)器所共享出來(lái)的目錄,需要使用 SFU軟件