一、背景:
容許指定主機經過mount到nfs服務器上,阻止其餘主機經過showmount -e方式,泄露NFS共享目錄結構信息。
二、Centos6和Centos7網絡拓撲圖:
三、centos7採用如下方式,能實現showmount -e的信息泄露
1)vi /etc/hosts.allow
mountd:192.168.56.13
2)vi /etc/hosts.deny
mountd:all
【提示】無需重啓rpc.bind和nfs
3)測試結果
192.168.56.14
192.168.56.13
192.168.56.12
第二種方式:採用iptables防火牆限制
四、Centos6的NFS服務叫作rpcbind,而Centos5的NFS服務叫portmap。
第一種方式:
1)vi /etc/hosts.allow
rpcbind: 192.168.56.4:allow
2)vi /etc/hosts.deny
rpcbind: ALL : deny
【提示】無需重啓rpc.bind和nfs
3)測試結果
第二種方式:採用iptables防火牆限制
1)修改nfs配置文件,分配未使用的端口。
xxx]# vi /etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
2)重啓nfs服務
1)/etc/init.d/rpcbind restart
2)/etc/init.d/nfs restart
3)容許客戶端掛載主機的ip地址
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
4)其餘客戶端所有拒絕訪問nfs服務
iptables -A INPUT -p tcp --dport 111 -j DROP
iptables -A INPUT -p udp --dport 111 -j DROP
iptables -A INPUT -p tcp --dport 2049 -j DROP
iptables -A INPUT -p udp --dport 2049 -j DROP
iptables -A INPUT -p tcp --dport 30001:30004 -j DROP
iptables -A INPUT -p udp --dport 30001:30004 -j DROP
5)開機啓動服務加載
vim /etc/profile.d/iptables-nfs.sh
#!/bin/bash
#容許客戶端掛載主機的ip地址
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 111 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.85.15 --dport 30001:30004 -j ACCEPT
#其餘客戶端所有拒絕訪問nfs服務
iptables -A INPUT -p tcp --dport 111 -j DROP
iptables -A INPUT -p udp --dport 111 -j DROP
iptables -A INPUT -p tcp --dport 2049 -j DROP
iptables -A INPUT -p udp --dport 2049 -j DROP
iptables -A INPUT -p tcp --dport 30001:30004 -j DROP
iptables -A INPUT -p udp --dport 30001:30004 -j DROP
6)測試結果
192.168.56.5 (NFS-server)
防火牆規則顯示
192.168.56.4
192.168.56.3