多语言展示
当前在线:639今日阅读:175今日分享:29

如何使用TCP过滤器来限制服务的权限

何在一台Linux服务器上配置限制网络服务的权限,在开始之前,必须澄清TCP封装器并不能消除对于正确配置防火墙的需要,可以把这个工具看作是一个基于主机的访问控制列表,而且并不能作为你的系统的终极安全措施。通过使用一个防火墙和TCP封装器,而不是只偏爱其中的一个,将会确保服务不会被出现单点故障。
工具/原料
1

计算机

2

虚拟机

方法/步骤
1

首先网络请求到达主机的时候,TCP封装器会使用hosts.allow和hosts.deny来决定客户端是否应该被允许使用一个提供的服务,这些文件内容是空的,或者被注释掉,或者根本不存在。所以,任何请求都会被允许通过TCP过滤器而且系统被置于依靠防火墙来提供所有的保护,确保下面两个文件都存在。

2

接着记住/etc/hosts.allow文件中允许一个服务接入的规则要优先于/etc/hosts.deny中的规则,另外还有,如果两个规则应用于同一个服务,只有第一个规则会被纳入考虑,不是所有的网络服务都支持 TCP 过滤器,为了查看一个给定的服务是否支持他们,可以执行以下命令。

3

如果以上命令执行以后得到了以下结果,那么它就可以支持TCP过滤器,sshd和vsftpd作为例子,输出如图所示。如果进行反向DNS查找彼此返回了不同的地址,那么连接就会被断开首先根据IP去解析主机名,然后根据主机名去获得IP地址。

4

然后编辑/etc/hosts.allow和/etc/hosts.deny的时候,确保在最后一个非空行后面通过回车键来添加一个新的行,使得SSH和FTP服务只允许localhost和192.168.0.102并且拒绝所有其他用户,在/etc/hosts.deny添加如下内容。

5

接着在/etc/hosts.allow文件中添加如图内容,这些更改会立刻生效并且不需要重新启动,在最后一行中删掉LOCAL后,FTP服务器会对于localhost不可用。添加通配符以后,服务又变得可用了。

6

最后允许所有服务对于主机名中含有example.com都可用,为了禁止10.1.0/24的机器访问vsftpd服务,在hosts.deny文件中添加如图的代码。

推荐信息