TCP Wrappers访问控制
一、TCP Wrappers
1、TCP Wrappers概述
TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并实现访问控制,凡是包含有libwrap.so库文件的的程序就可以受TCP_Wrappers的安全控制。
它的主要功能就是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd,telnet。
2、TCP Wrappers工作原理
TCP_Wrappers有一个TCP的守护进程叫作tcpd。以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。
- 当有请求从远程到达本机的时候
首先检查/etc/hosts.allow
如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件
没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问 - 如果在这两个文件中,都没有匹配到,默认是允许访问的。
3、TCP Wrappers配置文件
/etc/hosts.allow
/etc/hosts.deny
这两个文件被整合在xinetd中.
[root@client ~]#
[root@client ~]# ssh root@192.168.152.130 //远程登录服务端
Last login: Tue May 25 19:37:58 2021 from 192.168.152.129
[root@service ~]# //可以发现不需要密码就能够登录
4、设置访问控制策略
语法格式:<服务程序列表>: <客户端地址列表>
(1)服务程序列表 服务程序列表可分为以下几类
ALL:代表所有的服务。 Ø 单个服务程序:如“vsftpd”。 多个服务程序组成的列表:如“vsftpd,sshd”。
(2)客户端地址列表 客户端地址列表可分为以下几类
ALL:代表任何客户端地址。
LOCAL:代表本机地址。
单个 IP 地址:如“192.168.4.4”。
网络段地址:如“192.168.4.0/255.255.255.0”。
以“.”开始的域名:如“.bdqn.com”匹配 bdqn.com 域中的所有主机。
以“.”结束的网络地址:如“192.168.4.”匹配整个 192.168.4.0/24 网段。嵌入通配符“”“?”:前者代表任意长度字符,后者仅代表一个字符,如“10.0.8.2” 匹配以 10.0.8.2 开头的所有 IP 地址。不可与以“.”开始或结束的模式混用。
多个客户端地址组成的列表:如“192.168.2.,172.16.14.,.ky11.com”。