nfs(network file system)是 freebsd 支援的一種檔案系統,它允許網路中的計算機之間通過 tcp/ip 網路共享資源。不正確的配置和使用 nfs,會帶來安全問題。
概述
nfs 的不安全性,主要體現於以下 4 個方面:
加固方案
為有效應對以上安全隱患,推薦您使用下述加固方案。
配置共享目錄(/etc/exports)
使用 anonuid,anongid 配置共享目錄,這樣可以使掛載到 nfs 伺服器的客戶機僅具有最小許可權。不要使用 no_root_squash。
使用網路訪問控制
使用 安全組策略 或 iptable 防火牆限制能夠連線到 nfs 伺服器的機器範圍。
iptables -a input -i eth0 -p tcp -s 192.168.0.0/24 --dport 111 -j accept賬號驗證iptables -a input -i eth0 -p udp -s 192.168.0.0/24 --dport 111 -j accept
iptables -a input -i eth0 -p tcp -s 140.0.0.0/8 --dport 111 -j accept
iptables -a input -i eth0 -p udp -s 140.0.0.0/8 --dport 111 -j accept
使用 kerberos v5 作為登入驗證系統,要求所有訪問人員使用賬號登入,提高安全性。
設定 nfsd 的 copy 數目
在 linux 中,nfsd 的 copy 數目定義在啟動檔案 /etc/rc.d/init.d/nfs 中,預設值為 8。
最佳的 copy 數目一般取決於可能的客戶機數目。您可以通過測試來找到 copy 數目的近似最佳值,並手動設定該引數。
選擇傳輸協議
對於不同的網路情況,有針對地選擇 udp 或 tcp 傳輸協議。傳輸協議可以自動選擇,也可以手動設定。
mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 export_machine:/exported_dir /dirudp 協議傳輸速度快,非連線傳輸時便捷,但其傳輸穩定性不如 tcp,當網路不穩定或者黑客入侵時很容易使 nfs 效能大幅降低,甚至導致網路癱瘓。一般情況下,使用 tcp 的 nfs 比較穩定,使用 udp 的 nfs 速度較快。
限制客戶機數量
修改 /etc/hosts.allow 和 /etc /hosts.deny 來限制客戶機數量。
/etc/hosts.allow改變預設的 nfs 埠portmap: 192.168.0.0/255.255.255.0 : allow
portmap: 140.116.44.125 : allow
/etc/hosts.deny
portmap: all : deny
nfs 預設使用的是 111 埠,使用 port 引數可以改變這個埠值。改變預設埠值能夠在一定程度上增強安全性。
配置 nosuid 和 noexec
suid (set user id) 或 sgid (set group id) 程式可以讓普通使用者以超過自己許可權來執行。很多 suid/sgid 可執行程式是必須的,但也可能被一些惡意的本地使用者利用,獲取本不應有的許可權。
儘量減少所有者是 root,或是在 root 組中卻擁有 suid/sgid 屬性的檔案。您可以刪除這樣的檔案或更改其屬性,如:
使用 nosuid 選項禁止 set-uid 程式在 nfs 伺服器上執行,可以在 /etc/exports 加入一行:
/www www.abc.com(rw, root_squash, nosuid)使用 noexec 禁止直接執行其中的二進位制檔案。
Linux系統下NFS伺服器的配置
一 nfs伺服器的安裝 檢查linux系統中是否安裝了nfs utils和portmap兩個軟體包 rhel4系統預設已經安裝了這兩個軟體包 命令 rpm q nfs utils portmap 二 檢視nfs伺服器是否啟動 命令 service nfs starus service portmap...
linux下的nfs服務配置
1 nfs伺服器端與客戶端的安裝 sudo apt get install nfs kernel server nfs common portmap 2 配置portmap 兩種方法任選一種就可以 sudo emacs etc default portmap 去掉 i 127.0.0.1 3 配置掛...
linux系統上部署nfs服務
環境說明 server 192.168.0.65 client 192.168.0.68 os centos 7.2 需求 多台主機之間檔案共享 一,首先在server端安裝nfs,rpcbind 服務 1.檢測服務是否已安裝。rpm qa grep nfs rpm qa grep rpcbind ...