4

如何确保NFS服务安全

 3 years ago
source link: https://zhang.ge/1237.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
如何确保NFS服务安全 | 张戈博客
Jager · 1月23日 · 2014年linux · nfs · nfs安全 323次已读

上一篇博文《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的机器范围

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

3、为了防止可能的Dos攻击,需要合理设定NFSD 的COPY数目.

4、修改/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

5、改变默认的NFS 端口

NFS默认使用的是111端口,但同时你也可以使用port参数来改变这个端口,这样就可以在一定程度上增强安全性.

6、使用Kerberos V5作为登陆验证系统

修改/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

这个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服务安全非常放心了.

注:本文来自网络,作者:佚名


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK