Liunx架站之架设NFS服务器6:安全设定
【IT168 服务器学院】安全设定(被防火墙挡掉了):
好了!一些注意事项讲完了之后,再来呢?对了!又是最重要的安全设定方面的问题了!那么 NFS 可以设定安全的地方有哪里呢?其实还不少呢?由外而内可以这样看:
1. iptables 防火墙设定;
2. TCP_Wrappers 防火墙设定;
3. /etc/exports 权限设定。
防火墙的基本概念请参考『简易防火墙建置』一文,最好能将该篇文章给他看完,否则还真难了解底下在干嘛~嗯!假设您已经看完该篇短文了,接着下来我们就得要一步一步的接着建立防火墙啰!
· 使用 iptables 限制大范围联机:
假设我们的 NFS 主要是针对内部网络开放而已,而对于外部网络只有对学术网络开放,亦即是 140.0.0.0/8 ,那么你可以使用这样的语法:
这样大致上就可以让 192.168.0.0/24 这个 C Class 的网域与 140.0.0.0/8 这个 A Class 的网域到你的主机里面来,而其它的联机就视您的原本的 iptables 的状态而定喔!
· 使用 TCP_Wrappers 限制更细的范围:
事实上,如果你不懂得如何设定 iptables 的话,那也没关系,我们可以使用 TCP_Wrappers 阿!因为要使用 NFS 就必须要通过 portmap 这一关( 因为要使用 RPC 啦! ),而这个 portmap 可以藉由 TCP_Wrappers 来管理!呵呵!太好了!那么就将他联机的范围限制的更小啰!我们可以在 /etc/hosts.allow 里面规定连上 NFS 主机的主机 IP 与名称,假设限制中的主机只有 192.168.0.0/24 这个 C class 及 140.116.44.125 这个主机,以及后面接的是 ncku.edu.tw 的网域可以连上我的 NFS 主机,那么我可以写成这样:
呵呵!这样可就设定好啰!很简单的吧!
· 使用 /etc/exports 设定更安全的权限:
这就牵涉到您的逻辑思考了!怎么设定都没有关系,但是在『便利』与『安全』之间,要找到您的平衡点吶!善用 root_squash 及 all_squash 等功能,再利用 anonuid 等等的设定来规范登入您主机的使用者身份!应该还是有办法提供一个较为安全的 NFS 主机的!
· Client 端挂载的问题:
基本上,在 Client 端挂载的时候,为了担心会不小心刚 NFS 端挂进来的具有 SUID 权限档案的程序执行!这个很可能会危害到系统的安全呢!因为 SUID 本来就不是很安全的嘛!所以呢,你这个 root 也可以将 NFS 所分享的目录以较为安全的情况挂载进来!例如:
好了!一些注意事项讲完了之后,再来呢?对了!又是最重要的安全设定方面的问题了!那么 NFS 可以设定安全的地方有哪里呢?其实还不少呢?由外而内可以这样看:
1. iptables 防火墙设定;
2. TCP_Wrappers 防火墙设定;
3. /etc/exports 权限设定。
防火墙的基本概念请参考『简易防火墙建置』一文,最好能将该篇文章给他看完,否则还真难了解底下在干嘛~嗯!假设您已经看完该篇短文了,接着下来我们就得要一步一步的接着建立防火墙啰!
· 使用 iptables 限制大范围联机:
假设我们的 NFS 主要是针对内部网络开放而已,而对于外部网络只有对学术网络开放,亦即是 140.0.0.0/8 ,那么你可以使用这样的语法:
![]() |
这样大致上就可以让 192.168.0.0/24 这个 C Class 的网域与 140.0.0.0/8 这个 A Class 的网域到你的主机里面来,而其它的联机就视您的原本的 iptables 的状态而定喔!
· 使用 TCP_Wrappers 限制更细的范围:
事实上,如果你不懂得如何设定 iptables 的话,那也没关系,我们可以使用 TCP_Wrappers 阿!因为要使用 NFS 就必须要通过 portmap 这一关( 因为要使用 RPC 啦! ),而这个 portmap 可以藉由 TCP_Wrappers 来管理!呵呵!太好了!那么就将他联机的范围限制的更小啰!我们可以在 /etc/hosts.allow 里面规定连上 NFS 主机的主机 IP 与名称,假设限制中的主机只有 192.168.0.0/24 这个 C class 及 140.116.44.125 这个主机,以及后面接的是 ncku.edu.tw 的网域可以连上我的 NFS 主机,那么我可以写成这样:
![]() |
· 使用 /etc/exports 设定更安全的权限:
这就牵涉到您的逻辑思考了!怎么设定都没有关系,但是在『便利』与『安全』之间,要找到您的平衡点吶!善用 root_squash 及 all_squash 等功能,再利用 anonuid 等等的设定来规范登入您主机的使用者身份!应该还是有办法提供一个较为安全的 NFS 主机的!
· Client 端挂载的问题:
基本上,在 Client 端挂载的时候,为了担心会不小心刚 NFS 端挂进来的具有 SUID 权限档案的程序执行!这个很可能会危害到系统的安全呢!因为 SUID 本来就不是很安全的嘛!所以呢,你这个 root 也可以将 NFS 所分享的目录以较为安全的情况挂载进来!例如:
![]() |
选择 nosuid 也是一个很不错的抉择喔!
通常我们都会约略的建议,不要激活 NFS Server ,即使要激活,最好也是针对某个范围来进行目录的分享!并且,『要分使用者层级来管理』会比较好一些喔!底下我们就来实际的在您的机器上面搞一个简单的 NFS server 吧!
0
相关文章
