强制安全性

除包括 ACL 之外,NFSv4 还通过以下措施提高了上个NFS版本的安全性:

·要求带加密的具有很强的 RPC 安全性

·通过一个安全的带内系统,协商在服务器和客户端之间使用的安全性类型

·使用字符串而不是整数来表示用户和组标识符

NFS安全性已获得基于"一般安全性服务API (GSS-API)"的安全性附加功能支持,称为RPCSEC_GSS [RFC2203].NFS的所有版本均可以使用 RPCSEC_GSS.但是,要实施一致的 NFS 版本 4 就必须实施 RPCSEC_GSS.RPCSEC_GSS 是分配的类似于常用的 AUTH_SYS安全性,后者是上个NFS版本中标准的身份验证方法.

RPCSEC_GSS在以下两个方面有别于AUTH_SYS和其他传统的NFS安全机制:

·RPCSEC_GSS不只是身份验证.它能执行完整性校验和与整个RPC请求和响应体的加密.因此,RPCSEC_GSS 提供远远不只身份验证的安全性.

·由于RPCSEC_GSS只封装 GSS-API 消息标记 — 它仅作为Kerberos等安全机制的特定机制标签的传输 — 添加新安全机制只要它们符合 GSS-API)不要求重新编写NFS的重要部分.

NFSv3 和 NFSv4 可以使用 RPCSEC-GSS.但是,AUTH_SYS 是 NFSv3 的默认值.

目前 NetApp 或大多数 NFSv4 客户端在 RPCSEC_GSS下提供的唯一安全机制是 Kerberos 5.Kerberos是使用对称密钥加密的一种身份验证机制.它从不以明文或加密形式在整个网络中发送密码,并且从不在用户使用网络资源之前,依靠加密票证和会话密钥验证他们的身份.Kerberos 系统采用含有用户名和密码的集中式数据库的密钥分配中心 (KDC).NetApp 支持两种类型的 KDC:UNIX 和 Windows Active Directory.

只要您需要,您仍然可以选择使用上个NFS版本 (AUTH_SYS) 的弱身份验证方法.您可以通过在 exportfs 命令行或 /etc/exports 文件中指定 sec=sys 来完成.使用 AUTH_SYS 时,Data ONTAP仅支持一个证书内的最多 16 个补充组 ID 加上 1 个主要组 ID. Kerberos 支持最多 32 个补充组 ID.

客户端缓存委派

在 NFSv3 中,客户端通常当作它们已打开的文件之间存在竞争尽管通常不是这种情况)来处理.通过从客户端到服务器的频繁请求以查证是否打开的文件已被其他人修改,系统保持了较弱的一致性,这会导致不必要的网络流量并在高延迟的环境中造成延误.在客户端锁定文件的情况下,所有写 I/O 必须同步,这在很多情况下将进一步影响客户端性能.

NFSv4与NFS以前的版本不同,它允许服务器将文件上的专门活动委派给客户端,以便实现更多积极的客户端数据缓存并允许缓存锁定状态.服务器通过委派放弃对文件更新和客户端的锁定状态的控制.通过允许客户端在本地执行不同的操作和缓存数据,减少了延迟.目前存在两种类型的委派:读和写.服务器在存在文件竞争时能够从客户端调回委派.

一旦客户端具有委派,它就能在已在本地缓存数据的文件上执行操作,以避免网络延迟并优化 I/O.由委派引起的更为积极的缓存在具有以下特点的环境中能发挥较大的作用:

·频繁打开和关闭

·频繁的 GETATTR

·文件锁定

·只读共享

·高延迟

·快客户端

·具有多个客户端的重负荷服务器

Data ONTAP支持读写委派,并且您可以单独调整NFSv4服务器以启用或禁用委派的一种或全部两种类型.打开委派时,Data ONTAP会自动向客户端授予打开文件读取的读委派,或向客户端授予打开文件写入的写委派.

系统提供启用或禁用读写委派选项,以便您对委派影响具有一定水平的控制.理想情况下,服务器将确定是否向客户端提供委派.在读操作高度密集的环境中,打开读委派会很有用.在工程设计中写委派将构建这样的环境,环境中每个用户写入单独的构建文件并且性能还会由于不存在竞争而改善.但是,在同一文件具有多个写入者的情况中,写委派可能没有多大用处.


相关内容

    暂无相关文章