1、背景:
允许指定主机通过mount到nfs服务器上,阻止其他主机通过showmount -e方式,泄露NFS共享目录结构信息。
2、Centos6和Centos7网络拓扑图:
3、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防火墙限制
4、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