网络文件系统的安全性分析与改进

作者:胡晓晔;王能辉 刊名:煤炭技术 上传者:朱德芝

【摘要】介绍了NFS网络文件系统的跨平台工作原理,并指出该系统在实际应用中的安全性问题和可能存在的安全隐患,并提出流加密的解决方案,提高现有NFS网络文件系统的安全性和可靠性。

全文阅读

收稿日期:2011-07-08;修订日期:2011-12-10 作者简介:胡晓晔(1981-),男,陕西宝鸡人,网络中心工程师,硕士,研究方向:校园网络规划及建设。 0 前言 网络文件系统(NetworkFileSystem)是 Sun 公司在 20 世纪 80 年代推出的网络文件存取机制,由于其协议简单,配置灵活,功能强大,迅速为业界所接受。NFS 网络文件系统屏蔽了各异构平台的差异性和网络环境的复杂性, 它允许将远程主机的文件系统挂载到本地计算机,对于应用程序而言透明,应用程序和用户操作远端文件和操作本地文件方法完全一致。 1 网络文件系统协议及规范 NFS 的协议规范主要分为 2 部分:Mount 挂载协议和 NFS 远程过程调用。Mount 挂载协议主要用于远程文件系统的安装和卸载,NFS 远程过程调用则提供对远程文件系统的访问和支持。 1.1 协议及规范 Mount 协议与 NFS 远程过程调用依赖于 Sun 公司的 RPC(Remote Procedure Call Protocol)远程过程调用协议。NFS 将文件系统的访问切分成 21 个远程过程调用, 负责对远程文件系统的读写和访问。NFS 远程过程调用层使用 XDR 编码规范进行编码,然后使用 RPC 协议对其进行封装, 构造成 RPC 数据包后交给传输层使用 UDP 或 TCP 网络协议传送到目的主机, 目的主机在应用层对 RPC 数据解包,再依据 XDR 编码标准解码, 即得到 NFS 远程过程调用的数据。完成一次通信操作。 1.2 远程文件系统的访问过程 当 NFS 网络服务启动时, 向 portmap 进程服务注册服务端口,portmap 服务为 NFS 网络服务分配一个 32 位的标识号 prog。 struct mapping { unsignedintprog; //标识远程程序unsignedintvers; //程序版本号unsignedintprot; //网络传输协议 unsignedintport; //NFS 网络服务端口 }; 这样,给定一个程序号“prog”,版本号“vers”和传输协议号“prot”,该过程返回该程序等待调用请求的端口号 [1]。 客户端向远程主机 portmap 服务询问NFS 服务端口,之后,向远端主机 mountd 进程请求挂载,NFS 服务器在验证客户机权限后给客户机远程文件系统根目录的文件句柄, 此时完成文件系统的挂载。 客户机对远程文件系统的访问是基于路径的,如果客户机访问的文件路径为/X/Y/Z,它必须分别取得对X、Y、Z 的访问权限。 2 NFS 网络文件系统的安全性分析 2.1 文件句柄与系统安全 NFS 服务器给每个文件分配一个唯一的文件句柄,以此为标识符。对于客户机和服务器来说文件句柄是一个可变长度的字符串。 客户机在访问文件之前, 必须分别获得访问路径上所有目录或文件的文件句柄。那么存在这样一个问题:已知文件句柄是一个可变长度的字符串, 经过分析完全有可能猜测一个 NFS 文件句柄的编码方式,获得服务端的根目录文件句柄,做允许权限下的任意操作。 网络文件系统的安全性分析与改进 胡晓晔, 王能辉 (宝鸡文理学院, 陕西 宝鸡 721007) 摘 要:介绍了 NFS 网络文件系统的跨平台工作原理,并指出该系统在实际应用中的安全性问题和可能存在的安全隐患,并提出流加密的解决方案,提高现有 NFS 网络文件系统的安全性和可靠性。 关键词:NFS 网络文件系统; 流加密; NFS 系统安全 中图分类号:TP393.0

参考文献

引证文献

问答

我要提问