首先放上漏掃結果中對於這兩個漏洞的描述及修復建議。
兩個漏洞其實都是NFS共享目錄信息泄露的漏洞。showmout -e 這個檢查的是rpc.mountd 這個NFS的守護進程,rpc.mountd可以訪問文件系統,當客戶端順利地通過rpc.nfsd登錄NFS服務器后,在使用NFS服務器所提供的文件前,還必須通過文件使用權限的驗證,rpc.mountd會讀取NFS的配置文件/etc/exports來對比客戶端的權限。通過類似showmount -e 這個過程展示nfs的掛載列表;第二個漏洞NFS這個漏洞,是從協議的角度進行檢查的,檢查是否對nfs端口服務的訪問進行了限制。
通過showmount -e漏洞可以獲取的信息如下,顯示出了目標機nfs的掛載列表:
通過NFS共享目錄信息泄露漏洞可以獲取的信息如下,同樣顯示出了目標機nfs的共享目錄及共享IP:
shared dir:/app,shared ip:10.xx.xx.xx/24
漏洞修復:
一、除非必要,關閉NFS服務 rpc.mountd進程。
二、如果必須使用NFS服務,可采用以下3種方式避免信息泄露漏洞:
1.登錄NFS服務器端所在的機器,修改hosts配置文件,vim /etc/hosts.allow設置允許查詢NFS共享目錄的IP。
可添加多個(以下假設允許查詢的IP為192.168.100.1等)
mountd:192.168.100.1
mountd:192.168.100.2
mountd:192.168.100.3
rpcbind:192.168.100.1
rpcbind:192.168.100.2
rpcbind:192.168.100.3
然后vim /etc/hosts.deny設置拒絕除hosts.allow以外其他所有IP查詢共享目錄
mountd:all
rpcbind:all
2.在NFS服務器端 iptables防火牆配置規則允許特定的IP訪問nfs服務端口,其他全部禁止,vim /etc/sysconfig/iptables。
可添加多個(假設允許nfs客戶端192.168.100.1訪問本機nfs服務端的相關nfs端口2049,20048等)
#下面是要添加的規則
#允許nfs客戶端192.168.100.1訪問本機nfs服務端的相關nfs端口
-A INPUT -p tcp -s 192.168.100.1 --dport 2049 -j ACCEPT
-A INPUT -p udp -s 192.168.100.1 --dport 2049 -j ACCEPT
-A INPUT -p tcp -s 192.168.100.1 --dport 20048 -j ACCEPT
-A INPUT -p udp -s 192.168.100.1 --dport 20048 -j ACCEPT
#禁止其他主機訪問本機nfs服務端的相關nfs端口
-A INPUT -p tcp --dport 2049 -j DROP
-A INPUT -p udp --dport 2049 -j DROP
-A INPUT -p tcp --dport 20048 -j DROP
-A INPUT -p udp --dport 20048 -j DROP
COMMIT
3.在NFS的配置文件/etc/exports中進行設置,可以定義NFS系統的輸出目錄(即共享目錄)、訪問權限和允許訪問的主機等參數,該文件默認為空。然后啟動NFS服務即可。
發現一位大佬寫的關於NFS的配置與應用博客實在是太詳細了,自認為寫不到那么全面深刻,所以放上鏈接:
https://www.cnblogs.com/nufangrensheng/p/3486839.html