目标主机showmount -e信息泄露(CVE-1999-0554),如何禁止只允许特定主机使用showmount -e查看挂载列表

最近单位信息系统做安全等保,因为服务器使用了nfs文件共享,而导致在等保扫描中发现了一个高危漏洞,通过showmount -e可以展示nfs挂载列表,然后建议整改方法是限制使用showmount -e展示列表的主机,也就是说在使用nfs的客户端可以通过showmount -e展示可挂载的主机列表,其他主机均不可以使用showmount -e展示可挂载列表。思考了一番,发觉还是在nfs服务器端用iptables防火墙来限制好,那么现在遇到了几个问题:

1 客户端nfs使用mount或者showmount命令等貌似是和服务器端动态建立端口的,也就是nfs使用的某些端口不固定,这样iptables很难做限制

2iptables规则怎么写好(因为服务器都在云上,我调试iptables防火墙规则的时候不小心弄得连堡垒机都登录不了主机了55555)

下面给出上面漏洞和问题的解决方案:

1首先在服务器绑定nfs服务的相关端口,这样iptables防火墙规则就可以很容易控制了:

这里我nfs服务器端的ip是10.194.212.131

 

服务器端(10.194.212.131)绑定nfs服务相关端口:

 
  1. [root@i-B18A2F40 /]# vi /etc/sysconfig/nfs

  2. #在文件最下面添加如下信息

  3. RQUOTAD_PORT=30001

  4. LOCKD_TCPPORT=30002

  5. LOCKD_UDPPORT=30002

  6. MOUNTD_PORT=30003

  7. STATD_PORT=30004

2在服务器端(10.194.212.131)防火墙配置规则允许特定的主机访问nfs服务端口,其他全部禁止:

 
  1. [root@i-B18A2F40 /]# vi /etc/sysconfig/iptables

  2. # Firewall configuration written by system-config-firewall

  3. # Manual customization of this file is not recommended.

  4. *filter

  5. #下面三句注意不要注释掉,否则就可能在规则的调试过程中导致无法登陆服务器主机

  6. :INPUT ACCEPT [0:0]

  7. :FORWARD ACCEPT [0:0]

  8. :OUTPUT ACCEPT [0:0]

  9. #下面默认自带的五行注意要用#号注释掉

  10. #-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  11. #-A INPUT -p icmp -j ACCEPT

  12. #-A INPUT -i lo -j ACCEPT

  13. #-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

  14. #-A INPUT -j REJECT --reject-with icmp-host-prohibited

  15. #-A FORWARD -j REJECT --reject-with icmp-host-prohibited

  16. #下面是要添加的规则

  17. #允许nfs客户端10.194.212.132访问本机nfs服务端10.194.212.131的相关nfs端口

  18. -A INPUT -p tcp -s 10.194.212.132 --dport 111 -j ACCEPT

  19. -A INPUT -p udp -s 10.194.212.132 --dport 111 -j ACCEPT

  20. -A INPUT -p tcp -s 10.194.212.132 --dport 2049 -j ACCEPT

  21. -A INPUT -p udp -s 10.194.212.132 --dport 2049 -j ACCEPT

  22. -A INPUT -p tcp -s 10.194.212.132 --dport 30001:30004 -j ACCEPT

  23. -A INPUT -p udp -s 10.194.212.132 --dport 30001:30004 -j ACCEPT

  24.  
  25. #允许nfs客户端10.194.212.133访问本机nfs服务端10.194.212.131的相关nfs端口

  26. -A INPUT -p tcp -s 10.194.212.133 --dport 111 -j ACCEPT

  27. -A INPUT -p udp -s 10.194.212.133 --dport 111 -j ACCEPT

  28. -A INPUT -p tcp -s 10.194.212.133 --dport 2049 -j ACCEPT

  29. -A INPUT -p udp -s 10.194.212.133 --dport 2049 -j ACCEPT

  30. -A INPUT -p tcp -s 10.194.212.133 --dport 30001:30004 -j ACCEPT

  31. -A INPUT -p udp -s 10.194.212.133 --dport 30001:30004 -j ACCEPT

  32.  
  33. #允许nfs客户端10.194.212.134访问本机nfs服务端10.194.212.131的相关nfs端口

  34. -A INPUT -p tcp -s 10.194.212.134 --dport 111 -j ACCEPT

  35. -A INPUT -p udp -s 10.194.212.134 --dport 111 -j ACCEPT

  36. -A INPUT -p tcp -s 10.194.212.134 --dport 2049 -j ACCEPT

  37. -A INPUT -p udp -s 10.194.212.134 --dport 2049 -j ACCEPT

  38. -A INPUT -p tcp -s 10.194.212.134 --dport 30001:30004 -j ACCEPT

  39. -A INPUT -p udp -s 10.194.212.134 --dport 30001:30004 -j ACCEPT

  40.  
  41. #禁止其他主机访问本机nfs服务端10.194.212.131的相关nfs端口

  42. -A INPUT -p tcp --dport 111 -j DROP

  43. -A INPUT -p udp --dport 111 -j DROP

  44. -A INPUT -p tcp --dport 2049 -j DROP

  45. -A INPUT -p udp --dport 2049 -j DROP

  46. -A INPUT -p tcp --dport 30001:30004 -j DROP

  47. -A INPUT -p udp --dport 30001:30004 -j DROP

  48. COMMIT

我这里有三个客户端(10.194.212.132、10.194.212.133和10.194.212.134)是需要挂载nfs服务器端的共享目录的

完成了上述配置后,可以在其他的客户端用showmount -e命令来测试下规则有没有生效,这里有个方法是,如果像我在云上操作可能没有多余的客户端来测试,那么在第二步添加iptables的规则时不妨先添加一台客户端主机(例如上面的10.194.212.132)的允许访问nfs服务端相关nfs端口规则(上面的第一块规则)和添加禁止其他主机访问nfs服务端相关nfs端口访问规则(上面的第四块规则),然后在其他客户端主机(如10.194.212.133)上面用showmount -e命令测试有没有被禁掉;还有就是添加规则时候先添加accept的规则再添加drop的规则,否则accept规则放在drop后面是不会生效的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值