如何确保NFS服务安全 操作系统

如何确保NFS服务安全

上一篇博文《Redhat设置NFS挂载的简单步骤》,其中摘录了一段nfs中fuser的使用,索性将其全部发出,以供参考。 对于NFS的安全问题,我们是不能掉以轻心的。那么我们如何确保它的安全呢?这里我们首先我们需要分析一下它的不安全性。看看在那些方面体现了它的不安全。NFS服务安全性分析:不安全性主要体现于以下4个方面: 1、新手对NFS的访问控制机制难于做到得心应手,控制目标的精确性难以实现 2、NFS没有真正的用户验证机制,而只有对RPC/Mount请求的过程验证机制 3、较早的NFS可以使未授权用户获得有效的文件句柄 4、在RPC远程调用中,一个SUID的程序就具有超级用户权限. 加强NFS服务安全的方法: 1、合理的设定/etc/exports**享出去的目录,最好能使用 anonuid,anongid以使MOUNT到NFS SERVER的CLIENT仅仅有最小的权限,最好不要使用root_squash. 2、使用IPTABLE防火墙限制能够连接到NFS SERVER的机器范围 3、为了防止可能的Dos攻击,需要合理设定NFSD 的COPY数目. 4、修改/etc/hosts.allow和/etc /hosts.deny达到限制CLIENT的目的 5、改变默认的NFS 端口 NFS默认使用的是111端口,但同时你也可以使用port参数来改变这个端口,这样就可以在一定程度上增强安全性. 6、使用Kerberos V5作为登陆验证系统 修改/etc/hosts.allow和/etc/hosts.deny达到限制CLIENT的目的 这个NFS服务安全得多注意!! /tmp *(rw,no_root_squash) no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用. 有时需要执行umont卸载nfs盘阵时,会遇见device is busy的情况,字面意思理解为设备忙,有其他进程正在使用此设备. 此时需要用到命令fuser 其格式为: $ fuser -m -v  (nfs挂载点) 回车执行后得到的结果依次是:用户 进程号 权限 命令 此命令可以查看到访问此设备的所有进程,停止进程后umount. 如果添加参数 -k则可以一次性将所有当前访问nfs共享盘阵的进程停止 也可以加-i 打开交互显示,以便用户确认 或者用fuser命令: #fuser -v -m 挂载点 即可查处 用户 PID等,KILL掉该进程后再umount. 或者 #umount -l 挂载点 选项 –l 并不是马上umount,而是在该目录空闲后再umount.还可以先用命令 ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的NFS服务安全非常放心了. 注:本文来自网络,作者:佚名
阅读全文