TCP Wrappers
定义:将TCP程序包裹起来,代为监听TCP服务程序的端口,增加了一个安全监测的过程。外来的连接请求必须先通过这层安全监测。获得许可后才能访问正真的服务程序 大多数linux发行版,TCP Wrappers 是默认提供的功能。
保护原理:
TCP Wrappers保护机制实现的两种方式:
1、直接使用tcpd程序对其他服务进行保护,不需要运行tcpd程序
2、由其他网络服务程序调用libwrap.so.* 链接库。不需要运行tcpd程序。因此此方式的使用更加广泛,也更加有效率
使用ldd命令可以查看程序的libwrap.so. 链接库,跟上完整的命令路径*
ldd $(which ssh vsftpd) ;查看这些命令的链接库文件
TCP Wrappers 的访问策略
TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端·地址进行访问控制。
对应的两个策略文件为/etc/host.allow 和 /etc/host.deny ,分别用来设置允许和拒绝的策略。
格式:
<服务程序列表>:<客户端地址列表>
a、服务程序列表
ALL:代表所有的服务
单个服务程序:例如 vsftpd
多个服务程曦组成的列表: 例如 vsftpd,sshd
b、客户端地址列表
ALL:代表任何客户端地址
允许使用通配符 "*"、"?" ,前者代表任意程度的字符,后者仅代表一个字符
网段地址,例如 192.168.80. 或者192.168.80.0/255.255.255.0
区域地址,例如 "." 匹配 域中的所有主机
TCP Wrappers 机制的基本原则
(先看allow策略,再看deny策略。最后默认都放行)
首先检查 /etc/hosts.allow 文件,如果找到相匹配的策略。则允许访问
否则继续查找/etc/hosts.deny文件。如果找到相匹配的策略,则拒绝访问;
如果上述两个文件都找不到相匹配的策略,则允许访问
“允许所有,拒绝个别”
只需要在/etc/hosts.deny 文件中添加相应的拒绝策略
“允许个别,拒绝所有”
除了在/etc/hosts.allow 中添加允许策略之外
实验:使用TCP Wrappers策略
可以限制网段地址和区域地址 环境:只能限制使用TCP的协议 TCP Wrappers 机制的基本原则
(优先级:先看allow策略,再看deny策略。最后默认都放行)
首先检查 /etc/hosts.allow 文件,如果找到相匹配的策略。则允许访问
否则继续查找/etc/hosts.deny文件。如果找到相匹配的策略,则拒绝访问;
如果上述两个文件都找不到相匹配的策略,则允许访问
1、使用allow允许 2、使用deny拒绝 3、设置区域地址 补充: 1、如果是shhd:ALL (则表示是允许(拒绝)所有shh的连接) 2、如果是ALL:ALL或者ALL:192.168.206.0/255.255.255.0 ;则表示允许(拒绝)所有TCP的服务,或者TCP的所有服务只允许(拒绝)192.168.206.0 网段的。 3、设置白名单的方式:我们先去allow设置允许通过的ip,然后去deny配置文件选择"服务:ALL"表示禁用所有的服务即可。 4、设置黑名单的方式。我们不用去设置allow配置文件。我们只需要去deny配置文件设置对应的"服务: ip/域名"即可