网络文件系统(NFS)配置及安全性

2017-03-09 07:17刘仁维
网络安全技术与应用 2017年10期
关键词:客户机身份验证客户端

◆刘仁维

(兰州职业技术学院 甘肃 730070)

网络文件系统(NFS)配置及安全性

◆刘仁维

(兰州职业技术学院 甘肃 730070)

网络文件系统(NFS)是网络中主机之间共享数据的协议,性能高,配置灵活,但是业界认为,NFS协议不够安全,本文提出了NFS v4安全性加固的方法,评估了NFS v4的安全性。

网络安全;NFS协议;安全配置;安全评估

0 引言

网络文件系统(NFS:Network File System)是一种在网络中主机之间共享数据的技术。在客户端完成的工作数据,可以保存到NFS服务器上用户的路径下,可用于局域网、广域网、容灾备份、云存储和云计算中[1],与操作系统和硬件无关,在类 UNIX系统之间应用广泛。

1 NFS概述

1.1 版本

NFS v1由SUN公司研发,包含在SUN操作系统里;NFS v2是最原始的NFS协议,由RFC1094描述, UDP传输;NFS v3在RFC1813中描述,增加了TCP协议的相关支持,安全异步,服务端ACL;NFS v4在RFC3010,RFC3530,RFC7530中描述,要求所有实现都必须支持 kerberos的身份验证;RFC5661描述NFS v4.1,开始支持pNFS(parallel NFS:并行网络文件系统),RFC7862描述NFS v4.2。本文讨论目前常用的NFS v4安全性。

1.2 功能及机制

NFS v4在操作系统内核级别上实现文件共享,由客户端操作系统代表客户端用户进程调用。NFS服务器可以看作是文件服务器,客户端通过网络将NFS服务器的档案挂载到自己的系统中,在客户看来使用NFS的远端文件就像是在使用本地文件一样,能够访问一个本地文件的客户端程序不需要做任何修改,就能够访问一个NFS文件。访问的是本地文件还是NFS文件对于客户端来说是透明的,当文件被打开时,内核将本地文件的引用传递给本地文件访问系统,而将一个NFS文件的引用传递给NFS服务器。

NFS基于 XDR和 RPC的协议。XDR(eXternal Data Representation:外部数据表示法)把数据从一种格式转换成另一种标准数据格式表示法,确保在不同的计算机、操作系统及程序语言中,所有数据代表的意义都是相同的。RPC(Remote Procedure Call:远程程序调用)请求远程计算机给予服务。NFS服务过程如下:

(2)服务器端找到对应的已注册的NFS守护端口后会回报给客户端。由于NFS的各项功能都必须要向RPC注册,因此RPC了解NFS服务的各项功能的端口、进程号和NFS在主机所监听的地址等,而客户端才能够通过 RPC的询问找到正确对应的端口。

(3)客户端了解正确的端口后,就可以直接与NFS守护进程来联机。

NFS v4引入了复合过程(将多个RPC组合到一个调用中)的思想,客户机可以将 lookup、open和read操作组合到一个RPC请求中,这样客户机只需一次请求就可以从文件中读取数据,文件系统操作需要更少的RPC,从而使 NFS响应速度更快[2]。

1.3 NFS与其它同类协议的比较

NFS 比 CIFS(Common Internet File System),FTP(File Transfer Protocol),SMB(Service Message Block)等功能相似协议更容易配置,在学校、企事业单位和网吧应用很广,在局域网中看高清视频流畅。

2 NFS v4的安全配置

为了充分发挥NFS v4 的安全性能,必须精确完成以下安全配置(基于Linux操作系统):

2.1 安全登录配置

(1)使用Kerberos v5作为登录验证系统, 使用DES加密RPC请求中的时间戳记来减少攻击者欺骗 RPC 请求的尝试。

(2)如果使用UID/GID身份验证,请勿允许NFS客户机使用 root用户凭证访问文件系统。不要使用no_root_squash,尽量使用root_squash 或all_squash,这样客户端的任何用户在服务器端只有nobody权限,可以防止客户端冒名服务端UID和GID获得相当于NFS服务器上的同名同组操作权限,也可使用anonuid,anongid选项压缩客户权限到指定用户或组权限。

2.2 系统安全配置

(1)尽量将其置于防火墙之后,结合TCP_Wrappers来限制RPC服务。

由于台湾海峡冬季风浪较大,开航前严格执行装卸货作业的相关规定,大副应根据船长提供航次生产任务和装货清单结合本船干舷,稳性资料及船舶强度,编制《货物配载图》。装货期间,根据船舶稳性和强度尽量达到配载均匀,保持船舶正浮,由于高速船高速航行时,船头吃水变小,所以在配载时尽量保持较小吃水差。大副将本航次的配载计划、装(卸)要求及注意事项等与装卸的工头进行沟通;严格安装配载图进行装卸货作业,防止因货物作业不善而导致船舶强度和稳性受到影响。

(2)确保已安装了最新的软件补丁,特别是安全性相关的补丁,如#1095935 补丁可以防止UID欺骗。

(3)为了防止可能的Dos攻击,需要合理设定nfsd的copy数目(默认是8)。

2.3 导出目录和文件配置

(1)使用nosuid和noexec选项禁止有suid特性的程序执行,不要export可执行特性。

(2)对有权限访问文件系统的用户明确地导出文件系统。合理的设定/etc/exports共享出去的目录,明确设置 rw=host的选项,ro(只读)的选项和access=host的选项,不要export home目录。

特别注意配置文件语法,一个多余的空格,一个错误的换行可能使权限与预期完全相反。

3 NFS v4的安全机制与安全性评估

3.1 NFS v4的主要安全机制

(1)使用TCP作为传输层,开发了新的ACL控制机制,对WAN环境部署做出改进并提出分布式文件系统方案,自身集成辅助协议,只需要TCP 2049一个端口即可,这样极大方便NFS在防火墙后环境中部署。

(2)NFS v4要求所有实现都必须支持kerberos的身份验证,Kerberos 5在 RPCSEC_GSS(RPC security protocol_the Generic Security Service:基于一般安全性服务的RPC安全协议)安全机制之下提供,RPCSEC-GSS基于GSS-API,可以通过配置来使用RPCSEC-GSS方式替代基于UID/GID的身份验证,从而提高协议的安全性,这种安全机制还可以提供可选择的、多重的数据保护措施,如数据的完整性和机密性,NFS v4由客户机和服务器来协商身份验证的方式和数据保护的级别[3]。

(3)NFS v4是“有状态”(stateful)的协议,每个文件打开操作、文件加锁功能和获取文件系统根节点功能以及相当多的RPC 调用都被转换成了内核层的文件系统操作,消除了可能的攻击,提高了安全性。

3.2 NFS v4的安全不足

(1)NFS v4安全配置灵活但过于琐碎,配置项达到几十项,配置语法及选项很容易出现错误,如果用户分组较多且权限错综复杂,控制目标的权限精确性难以实现,对访问控制机制难于做到得心应手。

(2)NFS的实现依赖于 RPC远程过程调用协议,NTP(Network Time Protocol) 网络时间协议,Kerberos网络认证协议等协议。RPC是黑客攻击的首选途径;NTP有恶意重放、篡改数据包、放大攻击和假扮合法服务器的漏洞和相应攻击方法;Kerberos 5存在窃听、重放、篡改和拒绝服务的漏洞,如CVE-2014-4342,就是MIT Kerberos 5 (krb5) 1.7.x - 1.12.x上,存在的远程攻击者通过将无效的令牌注入到GSS-API应用会话内,造成缓冲区溢出或空指针间接引用,从而导致应用崩溃的漏洞[4],Kerberos 5所基于的DES,加密强度不足(在RFC 6649中将采用AES)。

3.3 NFS v4的安全性评估

NFS的安全性是由其本身和所依赖的协议共同构成的协议簇的安全性。由于本身安全问题,再加上所依赖的协议潜在的安全问题,NFS无法达到理想的安全要求,其综合安全性的不足使其不适合高安全要求的场合。

4 结束语

任何网络服务器都会有安全问题,NFS服务器也不例外。由于设计方面的因素,NFS服务器做不到绝对安全。对NFS v4,只要正确配置,能满足大部分场合的安全需求。

[1]何文婷,刘健,袁庆升.支持 Hadoop大数据访问的 pNFS框架研究与实现[J].计算机应用研究,2016.

[2]D.Noveck.NFS version 4protocol[EB/OL]. https://www.rfc-editor.org/rfc/pdfrfc/rfc3010.txt.pdf.

[3]刘丽霞,邱晓华. Linux服务范例速查大全[M].北京:清华大学出版社,2016.

[4]CVE.CVE-2014-4342[EB/OL].http://cve.mitre. org/cgi-bin/cvename.cgi?name=CVE-2014-4342.

猜你喜欢
客户机身份验证客户端
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
人脸识别身份验证系统在养老保险生存核查中的应用
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
HID Global推动多层身份验证解决方案
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”
基于Web数据提高访问速度的方法