linux系统中服务的访问控制列表TCP Wrapper

linux系统中有两个层面的防火墙,第一种是基于TCP/IP协议的流量过滤工具,第二种TCP Wrappers服务则是能允许或禁止linux系统提供服务的防火墙,从而在更高层面保护linux系统的安全性。

TCP Wrapper服务的防火墙策略由两个控制列表文件所控制,用户可以编辑允许控制列表文件来放行对服务的请求流量,也可以编辑拒绝控制列表文件来阻止对服务的请求流量。控制列表文件修改后会立即生效,系统将会先检查允许控制列表(/etc/hosts.allow),如果匹配到相应的允许策略则放行流量,如果没有匹配,则去进一步匹配拒绝控制列表文件(/etc/hosts.deny),若找到匹配项则拒绝该流量。如果着两个文件都没有匹配到,则默认放行流量。

 

 

 在配置TCP Wrappers服务时需要遵循两个原则:

编写拒绝策略规则时,填写的是服务名称,而非协议名称

建议先编写拒绝策略文件,然后编辑允许策略文件,可以观察到编辑后的效果。

测试主机间的sshd服务:

1、编辑前

##  PC2可以正常远程登录PC1 
[root@PC2linuxprobe Desktop]# ifconfig | head -n 3 eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.20 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe15:20b6 prefixlen 64 scopeid 0x20<link> [root@PC2linuxprobe Desktop]# ssh 192.168.10.10 root@192.168.10.10's password: Last login: Sat Nov 7 22:06:30 2020 from 192.168.10.20 [root@PC1linuxprobe ~]# ifconfig | head -n 3 eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe20:bf5e prefixlen 64 scopeid 0x20<link> [root@PC1linuxprobe ~]# exit logout Connection to 192.168.10.10 closed.

 

2、在PC1中修改配置文件

[root@PC1linuxprobe ~]# vim /etc/hosts.deny

 

 

 添加sshd:*,然后保存退出

测试:

[root@PC2linuxprobe Desktop]# ssh 192.168.10.10  ## 拒绝远程登录
ssh_exchange_identification: read: Connection reset by peer

 

3、在PC1中修改允许策略文件

[root@PC1linuxprobe ~]# vim /etc/hosts.allow

 

 添加允许的IP地址,保存退出

在PC2 主机中测试:

[root@PC2linuxprobe Desktop]# ssh 192.168.10.10
root@192.168.10.10's password: 
Last login: Sat Nov  7 22:07:03 2020 from 192.168.10.20
[root@PC1linuxprobe ~]# ifconfig | head -n 3
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe20:bf5e  prefixlen 64  scopeid 0x20<link>
[root@PC1linuxprobe ~]# exit
logout
Connection to 192.168.10.10 closed.

 

posted @ 2020-11-07 22:16  小鲨鱼2018  阅读(182)  评论(0编辑  收藏  举报