分类: LINUX
2010-09-16 15:45:08
五、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的机器范围 |
第三:为了防止可能的Dos攻击,需要合理设定NFSD 的COPY数目 |
第四:修改/etc/hosts.allow和/etc/hosts.deny达到限制CLIENT的目的 |
第五:改变默认的NFS 端口 |
第六:使用Kerberos V5作为登陆验证系统 |
六、NFS服务的trouble shooting
常见错误 | ||
(1)权限的设置不符合 |
| |
(2)忘记了激活portmap服务 | 错误信息 | mount: RPC: Port mapper failure - RPC: Unable to receive 或mount: RPC: Program not registered |
解决办法 | 启动portmap,并且重新启动nfs | |
(3)被防火墙拦截 | 重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所以port 111必须提供出去.因此在iptables rules中,要增加: 如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是: 如果我们的NFS针对内部网络开发,对于外部网络只对学术网络开发(140.0.0.0/8),可以: 还可以使用TCP_Wrappers,在/etc/hosts.allow里面规定连上 NFS 主机的主机 IP 与名称,例如 | |
(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 |