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