TCP Wrappers 访问控制
ICP Wrappe
将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许
可后才能访问真正的服务程序。
大多数Linux发行版,TCP Wrappers是默认提供的功能。rpm -q tcp_wrappers
TCP Wrapper 保护机制的两种实现方式
直接使用 tcpd 程序对其他服务程序进行保护,需要运行tcpd程序。
由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率。
使用 ldd 命令可以查看程序的libwrap.so.*链接库
Idd $(which ssh vsftd) #$代表直接调用()里的结果
TCP Wrappers 的访问策略
rcp wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝的策略。
格式:
<服务程序列表>:<客户端地址列表>
服务程序列表
ALL:代表所有的服务。
单个服务程序:如"vsftpd"。
多个服务程序组成的列表:如"vsftpd,sshd"。
客户端地址列表
ALL:代表任何客户端地址。
LOCAL:代表本机地址。
多个地址以逗号分隔
允许使用通配符“*”和“?”,前者代表任意长度字符,后者仅代表一个字符
网段地址,如192.168.66. 或者192.168.66.0/255.255.255.0
区域地址,如“.benet.com"匹配bdqn.com域中的所有主机。
TCP Wrappers 机制的基本原则:
首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;
否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;
如果检查上述两个文件都找不到相匹配的策略,则允许访问。
“允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略
“允许个别,拒绝所有”
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置"ALL:ALL"的拒绝策略。
常见错误以及配置方法:
1. /etc/hosts.allow文件默认权限大于/etc/hosts.deny文件
2.输入命令ldd /usr/sbin/sshd |grep libwrap.so.0 检查是否依赖,否则要重装openssh查看
3.无需重启立即生效
ps:
1.如果/etc/hosts.allow文件和/etc/hosts.deny文件不生效,执行
#yum install -y tcp_wrappers
#yum update -y openssh
2.再次执行ldd /usr/sbin/sshd |grep libwrap.so.0查看