• 关于如何解决目标主机showmount -e信息泄露(CVE-1999-0554)的问题


            在我们的日常工作中,企业和单位一般都会使用NFS网络文件系统,最近在工作中,遇到了"目标主机showmount -e信息泄露(CVE-1999-0554)"的问题,并最终做出如下处置。

            问题如下:

    我现在手上有三台主机,分别为主机host1,主机host2,主机host3,其中主机host1为服务其,并且部署了NFS,而且只允许主机host2使用,然而呢,主机host3可以通过showmount -e命令来浏览主机host1的目录清单。

    1. #主机a的nfs服务配置文件,其中10.28.7.210是主机host2的IP地址
    2. [root@host1 ~]# cat /etc/exports
    3. /data 10.28.7.210/32(rw,sync)
    1. #主机b使用showmount -e命令可以查看到的信息
    2. [root@host2 ~]# showmount -e 10.28.7.253
    3. Export list for 10.28.7.253:
    4. /data 10.28.7.210/32
    5. [root@host2 ~]# ifconfig
    6. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    7. inet 10.28.7.210 netmask 255.255.255.0 broadcast 10.28.7.255
    1. #主机c也可以使用showmount -e命令查看nfs服务器上共享出来的目录信息
    2. [root@host3 ~]# showmount -e 10.28.7.253
    3. Export list for 10.28.7.253:
    4. /data 10.28.7.210/32
    5. [root@host3 ~]# ifconfig
    6. eth0 Link encap:Ethernet HWaddr 00:0C:29:62:18:E8
    7. inet addr:10.28.7.252 Bcast:10.28.7.255 Mask:255.255.255.0

    解决办法:

    在NFS服务器上的/etc/hosts.allow和/etc/hosts.deny文件添加以下内容即可解决该问题。 

    编辑/etc/hosts.allow文件

    1. [root@host1 ~]# cat /etc/hosts.allow
    2. #
    3. # hosts.allow This file contains access rules which are used to
    4. # allow or deny connections to network services that
    5. # either use the tcp_wrappers library or that have been
    6. # started through a tcp_wrappers-enabled xinetd.
    7. #
    8. # See 'man 5 hosts_options' and 'man 5 hosts_access'
    9. # for information on rule syntax.
    10. # See 'man tcpd' for information on tcp_wrappers
    11. #
    12. #
    13. mountd:10.28.7.210 #<==添加客户端IP地址,相当于白名单

    编辑/etc/hosts.deny文件

    1. [root@host1 ~]# cat /etc/hosts.deny
    2. #
    3. # hosts.deny This file contains access rules which are used to
    4. # deny connections to network services that either use
    5. # the tcp_wrappers library or that have been
    6. # started through a tcp_wrappers-enabled xinetd.
    7. #
    8. # The rules in this file can also be set up in
    9. # /etc/hosts.allow with a 'deny' option instead.
    10. #
    11. # See 'man 5 hosts_options' and 'man 5 hosts_access'
    12. # for information on rule syntax.
    13. # See 'man tcpd' for information on tcp_wrappers
    14. #
    15. #
    16. mountd:all #<==添加该行,相当于黑名单

    在以上两个文件中国添加对应的内容之后,不需要重启NFS服务,就可以生效

    测试结果

    1. #主机host3使用showmount -e命令,无法查看相关信息
    2. [root@host3 ~]# showmount -e 10.28.7.253
    3. rpc mount export: RPC: Authentication error; why = Failed (unspecified error)
    4. [root@host3 ~]# ifconfig
    5. eth0 Link encap:Ethernet HWaddr 00:0C:29:62:18:E8
    6. inet addr:10.28.7.252 Bcast:10.28.7.255 Mask:255.255.255.0
    1. #主机host2使用正常
    2. [root@host2 ~]# showmount -e 10.28.7.253
    3. Export list for 10.28.7.253:
    4. /data 10.28.7.210/32
    5. [root@host2 ~]# ifconfig
    6. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    7. inet 10.28.7.210 netmask 255.255.255.0 broadcast 10.28.7.255

    当然呢  其它解决方案呢就是

    * 限制可以获取NFS输出列表的IP和用户
    * 除非绝对必要,请关闭NFS服务、MOUNTD

  • 相关阅读:
    redis实战-redis实现好友关注&消息推送
    Perl 脚本运行时提示:Can‘t locate Win32/OLE.pm in @INC
    并发之wait/notify说明
    C#控制电脑注销、关机、重启
    【考研复试】计算机专业考研复试英语常见问题五(兴趣爱好/实践经历篇)
    QT网络协议知识体系(一)
    go——协程调度
    CocosCreator-精灵动态加载图片资源,实例化精灵
    CSS中三栏布局的实现
    测试日报如何写能体现当日工作量呢 ?前美团技术大佬给提供的模版 ,看着还不错 。
  • 原文地址:https://blog.csdn.net/weixin_55821558/article/details/126505444