tcp_wrappers防火墙介绍
程序员文章站
2022-06-25 14:02:59
...
一 查看系统是否安装了tcp_wrappers
如果有上面类似输出,表示已经安装了tcp_wrappers模块。如果没有显示,可能没有安装,就需要通过yum或者rpm工具进行安装。
二 tcp_wrappers防火墙的局限性
系统中的某个服务是否使用了tcp_wrappers防火墙,取决于服务是否应用了libwrapped库文件,如果应用了就可以使用tcp_wrappers防火墙,系统中默认一些服务(如sshd、portmap、sendmail、xinetd、vsftpd、tcpd等)都可以使用tcp_wrappers防火墙。
三 tcp_wrappers设定规则
tcp_wrappers的防火墙实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的,首先看一下设定的格式。
service:host(s) [:action]
- service:代表服务名,如sshd、vsftpd、sendmail等。
- host(s):代表主机名或者IP地址,可以有多个,如192.168.60.78、www.cakin24.net
- action:代表动作,符合条件后所采取的动作。
几个关键字如下所示。
- ALL:代表所有的服务或者所有的IP。
- ALL EXCEPT:所有服务或者所有IP(除去指定的)。
一般规则:
Linux会首先判断/etc/hosts.allow这个文件。如果远程登录的计算机满足文件/etc/hosts.allow设定规则,就不会使用/etc/hosts.deny文件了。相反,如果不满足/etc/hosts.allow设定规则,就会使用/etc/hosts.deny文件了。如果满足hosts.deny规则,此时主机就被限制为不可访问Linux服务器。如果也不满足hosts.deny的设定,此主机默认是可以访问Linux服务器的。
例如
ALL:ALL EXCEPT 192.168.0.104表示除了192.168.0.104这台机器之外,任何机器执行所有服务时或被允许或被拒绝。
四 应用
局域网上一台Linux服务器,实现的目标是:仅仅允许192.168.0.103通过SSH服务远程登录系统,设置如下:
在/etc/hosts.allow文件中加入下面规则:
sshd:192.168.0.103
在/etc/hosts.deny文件中加入下面规则:
sshd:all
上一篇: 拍照技巧 风景摄影中的三分法与井字构图