CVE-1999-0554
目标主机showmount -e信息泄露(CVE-1999-0554)
可以对目标主机进行"showmount -e"操作,此操作将泄露目标主机大量敏感信息,比如目录结构。更糟糕的是,如果访问控制不严的话,攻击者有可能直接访问到目标主机上的数据。
NSFOCUS建议您采取以下措施以降低威胁:
- 限制可以获取NFS输出列表的IP和用户。
- 除非绝对必要,请关闭NFS服务、MOUNTD。
漏洞验证:
- NFS-server
#在nfs-server主机查看nfs配置信息
[root@master ~]# cat /etc/exports
/data 192.168.10.0/24(insecure,rw,sync,no_root_squash,no_subtree_check)
通过以上信息可以知晓,在192.168.10.0/24网段内的服务器都可以访问该NFS服务器。假设NFS服务器地址是192.168.10.11,在192.168.10.12上面执行showmount -e 192.168.10.11
[root@node1 ~]# showmount -e 172.21.1.11
Export list for 192.168.10.11:
/data 192.168.10.0/24
显示以上信息则说明漏洞存在。
解决方案:
通过服务器器端的hosts.allow和hosts.deny两个文件限制。
- 备份原有的hosts.allow和hosts.deny
cp /etc/hosts.allow /etc/hosts.allow.bak
cp /etc/hosts.deny /etc/hosts.deny.bak
- 修改hosts.allow和hosts.deny
在hosts.allow末尾添加以下内容
mountd:192.168.10.12 #redhat 7.*及衍生版配置方式
rpcbind: 192.168.10.12:allow #redhat 6.*及衍生版配置方式
Portmap:192.168.10.12:allow #redhat 5.*及衍生版配置方式
在hosts.deny末尾添加以下内容
mountd:all #redhat 7.*及衍生版配置方式
rpcbind:ALL:deny #redhat 6.*及衍生版配置方式
Portmap:ALL:deny #redhat 5.*及衍生版配置方式
- 重启相关服务
systemctl restart rpcbind
systemctl restart nfs-server
- 验证
再次在192.168.10.12上面进行验证,任然会显示NFS服务器的相关目录结构,但是在其他的服务器上则会提示身份认证错误,从而阻止了对NFS服务器的访问。
#192.168.10.12
[root@node1 ~]# showmount -e 172.21.1.11
Export list for 192.168.10.11:
/data 192.168.10.0/24
#其他主机
[root@localhost ~]# showmount -e 172.21.1.11
rpc mount export: RPC: Authentication error; why = Failed (unspecified error)