常见漏洞验证121 条

NFS 导出权限检查

NFS 共享的导出配置与权限宽松会绕过系统账号体系:核查导出清单、客户端限制、读写权限与 squash 配置。

NFS 导出为什么会出问题

NFS 的信任模型比较特殊:服务端主要按客户端 IP 与 UID 映射决定访问,客户端可以自行声明 UID。因此导出配置过宽时,远端主机上的用户可能以相同 UID 直接访问文件,绕过本机的账号与权限体系。核查的重点是导出清单、允许的客户端范围、读写权限,以及是否做了用户身份压制。

基本信息

核查对象导出路径、允许客户端网段、读写权限、用户映射选项
常用命令showmount -e 列出导出,查看服务端导出配置文件
关键风险项过宽网段、可写导出、关闭身份压制
常用加固最小导出范围、只读优先、启用身份压制
行业实践内部服务优先改用支持认证的共享方式

典型使用场景

  • 内网服务盘点:确认哪些主机在对外提供共享及其范围
  • 权限核对:核对导出目录的业务归属与最小权限要求
  • 横向移动评估:共享可写会显著扩大内网可控范围
  • 变更前核查:共享调整前确认当前使用方与影响面
  • 容灾与备份系统检查:备份目录常被导出且权限宽松

检查命令

检查命令
# 列出目标主机对外导出的共享与允许网段
showmount -e 10.0.0.10
# 服务端侧核对导出配置,重点看权限标记与身份压制选项
cat /etc/exports
# 客户端已挂载情况,确认实际使用范围
mount | grep -i nfs
# 记录导出路径、允许网段与权限标记;不做批量挂载与翻查

导出选项读法

选项含义风险提示
rw 与 ro读写与只读可写导出风险显著更高
root_squash远端 root 映射为匿名关闭后远端 root 拥有本地 root 权限
all_squash所有用户压缩为匿名常配合只读使用,安全性更好
同步与异步写入写入落盘时机异步在断电时存在数据丢失风险
认证方式系统标识或 Kerberos系统标识方式无法验证真实身份
挂载验证需要客户授权与清理安排:通常先以导出配置核查给出结论,不在评估中批量挂载业务共享。
导出网段写得很宽是最常见的配置问题:一个允许整个办公网段的可写导出,等于把文件服务器的权限交给了所有终端。

易错点

  • 对导出目录批量挂载并翻查文件
  • 忽略关闭身份压制带来的权限风险
  • 只看是否可读,未评估可写带来的篡改与投毒风险
  • 清理导出前未确认业务依赖,造成挂载中断

数据来源与参考

  • Linux man 手册(exports(5))
  • CIS Benchmarks(NFS 类)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌