Linux系統下對NFS服務安全加固的方法

2021-09-02 14:16:48 字數 2051 閱讀 7480

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 /dir
udp 協議傳輸速度快,非連線傳輸時便捷,但其傳輸穩定性不如 tcp,當網路不穩定或者黑客入侵時很容易使 nfs 效能大幅降低,甚至導致網路癱瘓。一般情況下,使用 tcp 的 nfs 比較穩定,使用 udp 的 nfs 速度較快。

限制客戶機數量

修改 /etc/hosts.allow 和 /etc /hosts.deny 來限制客戶機數量。

/etc/hosts.allow

portmap: 192.168.0.0/255.255.255.0 : allow

portmap: 140.116.44.125 : allow

/etc/hosts.deny

portmap: all : deny

改變預設的 nfs 埠

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 ...