Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. 保护 NFS

以前,Linux 系统管理员无法保护网络文件系统(NFS),因为 NFSv2 和 NFSv3 不安全地传递数据。通过 NFSv4,您可以使用 Kerberos 验证并加密所有文件系统操作。使用 NFSv4 时,如果客户端位于 NAT 或防火墙后面,则可能会关闭委派。相反,NFSv2 和 NFSv3 不使用带有文件锁定和挂载文件操作的 Kerberos 。

可在所有版本中使用 TCP 来发送 NFS 流量。NFS 支持 Kerberos 用户和组身份验证,来作为 RPCSEC_GSS 内核模块的一部分。

NFS 允许远程主机通过网络挂载文件系统,并与这些文件系统进行交互,就像它们被挂载到本地一样。这使系统管理员能够将资源整合到网络上的集中式服务器上。您可以在 /etc/nfsmount.conf 文件中自定义 NFS 挂载选项,该文件还用于设置默认选项。

系统管理员应定期检查 NFS 服务器和 NFS 客户端是否存在任何可能的威胁或攻击,以确保 NFS 的安全。

3.3.1. 保护 NFS 配置

NFS 服务器确定哪个文件系统要导出到哪个主机。所有这些详细信息都添加到 /etc/exports 文件中。在配置文件中添加目录和主机时,您应非常谨慎。编辑此文件时请注意,不要添加额外的空格,因为它可能会导致重大更改。

以下是几个编写 /etc/exports 文件时的示例:

  • 在以下行中,/tmp/nfs/ 目录与 bob.example.com 主机共享,并具有读写权限。
/tmp/nfs/     bob.example.com(rw)
  • 以下行与上一行相同,但对 bob.example.com 主机共享具有只读权限的相同的目录,由于主机名后面有一个空格字符,因此可以对 世界 共享具有读写权限的目录。
/tmp/nfs/     bob.example.com (rw)
注意

要验证系统中共享的内容,请执行 showmount -e <hostname> 命令。