NFS服务器的安全问题我们在下面来为大家详细介绍一下。首先我们需要对NFS服务器的安全所涉及的方面做一个了解。那么我们为大家仔细总结了一下。
1、NFS服务器不安全体现在以下几个方面
第一点:新手对NFS的访问控制机制难于做到得心应手,控制目标的精确性难以实现
第二点:NFS没有真正的用户验证机制,而只有对RPC/Mount请求的过程验证机制
第三点:较早的NFS可以使未授权用户获得有效的文件句柄
第四点:在RPC远程调用中,一个SUID的程序就具有超级用户权限
2、加强NFS服务器安全的方法如下
第一:合理的设定/etc/exports中共享出去的目录,最好能使用anonuid,anongid以使MOUNT到NFS SERVER的CLIENT仅仅有最小的权限,最好不要使用root_squash
第二:使用IPTABLE防火墙限制能够连接到NFS SERVER的机器范围
iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT
第三:为了防止可能的Dos攻击,需要合理设定NFSD 的COPY数目
第四:修改/etc/hosts.allow和/etc/hosts.deny达到限制CLIENT的目的
/etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 : allow
portmap: 140.116.44.125 : allow
/etc/hosts.deny
portmap: ALL : deny
第五:改变默认的NFS 端口
NFS默认使用的是111端口,但同时你也可以使用port参数来改变这个端口,这样就可以在一定程度上增强安全性
第六:使用Kerberos V5作为登陆验证系统
四、NFS服务器的trouble shooting
常见错误
(1)权限的设置不符合
(2)忘记了激活portmap服务
错误信息
mount: RPC: Port mapper failure - RPC: Unable to receive 或mount: RPC: Program not registered
解决办法
启动portmap,并且重新启动nfs
#service portmap start
#service nfs restart
(3)被防火墙拦截
重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所以port 111必须提供出去.因此在iptables rules中,要增加:
iptables -A INPUT -p TCP --dport 111 -j ACCEPT
iptables -A INPUT -p UDP --dport 111 -j ACCEPT
如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是:
那就必须在/etc/hosts.allow中增加:
如果我们的NFS针对内部网络开发,对于外部网络只对学术网络开发(140.0.0.0/8),可以:
iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT
还可以使用TCP_Wrappers,在/etc/hosts.allow里面规定连上 NFS 主机的主机 IP 与名称,例如
#vi /.etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 :allow
portmap: 140.113.23.23
(4)cant contact portmapper: RPC: Remote system error - Connection refused
出现这个错误信息是由于SEVER端的PORTMAP没有启动
(5)mount clntudp_create: RPC: Program not registered
NFS没有启动起来,可以用showmout -e host命令来检查NFS SERVER是否正常启动起来
(6)mount: localhost:/home/test failed, reason given by server: Permission denied
这个提示是当client要mount nfs server时可能出现的提示,意思是说本机没有权限去mount nfs server上的目录。解决方法当然是去修改NFS SERVER
五、注意事项
(1)NFS Server关机时,如果还有NFS Client联机在线,那么建议NFS Server关机之前,要先关掉portmap与nfs这两个系统服务。如果无法正确地将这两个系统服务关掉,那么先以netstat -utlp找出PID,然后使用kill杀掉进程,这样才能正常关机
(2)如果要在Windows系统中使用NFS共享目录,需要使用 Omini Lite 软件
(3)如果要在Windows系统中访问NFS服务器所共享出来的目录,需要使用 SFU软件
推荐阅读
NFS是网络文件共享系统。在网络中,这个协议的使用非常广泛,也是基于共享,网络才有了今天的发展。那么现在我们主要讲解一下Debian NFS服务器的一些安装和设置。Debian下安装NFS服务器安装Debian NFS服务器端: >>>详细阅读
本文标题:NFS服务器安全的分析和解决
地址:http://www.17bianji.com/xieyi/5734.html
1/2 1