“轻量级防火墙”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
本文来自博客园,作者:赛博狗尾草,转载请注明原文链接:https://www.cnblogs.com/gpysir/p/18658357
浙公网安备 33010602011771号