TCP Wrappers机制的“包袱”保护原理:
其作用有点类似于机关的“传达室”、大型理发店的“服务台”等, 例如:
在一些规模较大的理发店中,会设置有服务台(前台)直接面向顾客。顾客需要指定的理发师提供服务时,需要通过前台进行预约;而当生意清淡没有顾客的时候,理发师们可能在后边休息呢,并不需要一致在前台等待。
对于少数高级的理发师来说,可能只为特定人群提供服务(如专做婴幼儿理发、女士发型等),而是否拒绝顾客的预约要求则由服务台完成
软件包
tcp_wrappers-7.6-40.2.1.i386.rpm
使用RHEL5系统自带的tcp_wrappers软件包
保护机制的实现方式
方式1:通过tcpd主程序对其他服务程序进行包装(需要运行tcpd主程序)
方式2:由其他网络服务程序调用libwrap.so.*链接库(无需运行tcpd主程序, 例如vsftpd、sshd、xinetd等)
主要配置文件
/etc/hosts.allow
/etc/hosts.deny
设置访问控制策略
配置格式:服务程序列表:客户机地址列表
服务程序列表
单个服务程序名
以逗号“,”分隔多个服务程序名
ALL表示所有服务程序
客户机地址列表
单个IP地址
网段地址,“192.168.4.”或“192.168.4.0/255.255.255.0”
使用通配符 ? 和 *
以逗号“,”分隔多个地址
ALL表示所有地址
TCP Wrappers的访问控制原则
首先检查 hosts.allow 文件,若找到相匹配的策略,则允许访问
否则继续检查 hosts.deny 文件,若找到相匹配的策略,则拒绝访问
如果两个文件中都没有相匹配的策略,则允许访问
应用示例:
仅允许地址为 61.63.65.67 或 176.16.16.10~19 以及 192.168.2.0/24 网段的客户机访问sshd服务
[root@localhost ~]# vi /etc/hosts.allow
sshd:61.63.65.67,192.168.2.*,176.16.16.1?
[root@localhost ~]# vi /etc/hosts.deny
sshd:ALL