“轻量级防火墙”tcp_wrappers模块实现服务访问控制
介绍:
1、对有状态连接的特定服务进行安全检测并实现访问控制,所以只能用于tcp服务
2、判断进程是否接收tcp_wrappers的控制,取决于程序在编译时是否添加了libwrap库
3、类似防火墙的功能,但需要程序支持;对于一些访问控制可简单配置即可实现
4、适用于rhel 6/7,rhel8已被firewalld替代
5、
查询程序是否tcpwrap模块
存放位置:/lib64/libwrap.so.0
判断进程是否能够由tcp_wrapper进行访问控制的方法:
ldd /path/to/program |grep libwrap.so
strings /path/to/program |grep libwrap.so
部分进程没有单独的服务,如telnet,通过xinetd服务管理

使用:
配置文件:/etc/hosts.allow,/etc/hosts.deny
帮助文件:man 5 hosts_access,man 5 hosts_options
检查顺序:hosts.allow,hosts.deny,(规则无法匹配时,默认允许)
注:一旦前面规则匹配到,直接生效,将不再继续
基本语法:
dameon_list[@host]:clinet_list [EXCEPT ][:options:option…]
dameon_list@host格式:
dameon_list:
单个进程,sshd
多个进程,sshd,vsftpd
全部,ALL
[@host]:
可省略,表示主机所有ip
选择只针对主机的某个ip:@172.20.10.1
clinet_list:
单个ip
多个ip,用逗号隔开
基于主机名,如www.hello.cn
基于网络/掩码:如192.168.0.0/255.255.0.0
基于网络/prefix:如192.168.0.0/16
简写:如192.168.
内置ACL:ALL,LOCAL,KNOWN,UNKNOWN,PRRANOID
测试工具:
tcpdmatch [-d] daemon[@host] client
-d 测试当前目录下的hosts.allow和hosts.deny
[root@localhost init.d]# grep -v ^# /etc/hosts.deny
sshd:ALL
[root@localhost init.d]# tcpdmatch sshd 192.168.181.3
client: address 192.168.181.3
server: process sshd
access: denied
示例:
1、只允许192.168.1.0/24的主机访问sshd服务和telnet服务
/etc/host.allow
sshd,in.telnetd:192.168.1
/etc/hosts.deny
sshd,in.telnetd:ALL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」