tcp_wrapper访问控制
发布日期:2021-07-01 04:12:34 浏览次数:2 分类:技术文章

本文共 2225 字,大约阅读时间需要 7 分钟。

前言



由于前一篇登陆安全的配置中涉及的Tcp_Wrapper,仅演示了其中一个用法。下面就列举一下tcp_wrapper的另外几种配置方法。



tcp_wrapper的介绍



tcp wrapper是Wietse Venema开发的一个开源软件。

它是一种类似于iptables防火墙的,基于tcp协议的访问控制工具,只能对基于tcp协议的部分服务作访问控制。

iptables在网络层上通过IP过滤,阻挡网络中部分IP的恶意攻击,与网络有关。
tcp_wrapper依赖于libwrap库,会控制支持libwrap库的那部分基于tcp协议的服务,通过读取两个配置文件中配置的规则,判断该服务是否可以访问,因此它只能对本机内部的服务进行控制,跟网络无关。


工作流程:

系统检查用户访问的程序是否支持libwrap库。

如果支持,就可以对该服务进行控制,系统会检查hosts.allow文件中是否有匹配的规则
如果hosts.allow有匹配的规则,则允许访问
如果hosts.allow没有匹配的规则,则检查hosts.deny文件中是否有匹配的规则
如果hosts.deny有匹配的规则,则拒绝访问
如果hosts.deny没有匹配的规则,则视为默认,允许访问
如果hosts.allow与hosts.deny中的规则有冲突,以hosts.allow为准

在这里插入图片描述


上面仅是个人理解的tcp_wrapper逻辑上的流程图。



tcp_wrapper的操作



【1】判断服务是否支持tcp_wrapper


判断某一个基于tcp协议的服务是否支持tcp_wrapper,要先判断它是否支持libwrap库

虽然ssh,ftp,nfs,telnet等服务大多支持tcp_wrapper,但也不一定支持。当查询到服务支持libwrap库,可被tcp_wrapper控制,才可配置tcp_wrapper进行控制,否则配置了也不生效。



<1>ldd查看服务是否支持libwrap

ldd `which sshd` |grep libwrap

在这里插入图片描述

ldd `which vsftpd` |grep libwrap

在这里插入图片描述



<2>strings命令列出服务是否支持libwrap

strings `which sshd` |grep libwrap

在这里插入图片描述

strings `which vsftpd` |grep libwrap

在这里插入图片描述



【2】tcp_wrapper配置格式


此处仅列举了较常用的几种配置格式


<1>/etc/hosts.allow 配置允许访问

格式:  daemo_list:client_list:[:options]每个参数间用 :隔开

daemon_list:要配置的服务列表配置单个服务,填写应用程序名(例如:sshd)配置多个服务,使用逗号隔开(例如:sshd,vsftpd)配置所有可受控制的服务,使用ALL(大小写均可,通常小写)。。。

client_list:要配置的网段或IP列表配置单个IP,(例如:192.168.10.1)配置多个IP:使用逗号隔开(例如:192.168.10.1,192.168.10.2)配置网段方式一,例如192.168.代表192.168.0.0网段的所有IP配置网段方式二,使用完整格式的掩码,不可使用前缀格式掩码(例如:192.168.0.0/255.255.255.0)配置网段方式三,例如192.168.10.*代表192.168.10网段的所有IP配置主机名,例如,www.utest.com配置所有主机,使用ALL(大小写均可,通常小写)配置所有可以解析到的主机,使用KNOWN配置所有无法解析到的主机,使用UNKNOWN配置主机名正反解析不匹配的地址,使用PARANOID配置中排除某个主机或某个网络,使用EXCEPT(例如:sshd:192.168.  EXCEPT 192.168.10.)。。。

[:options]:声明处理方式在hosts.allow,默认使用allowallow代表接受,在/etc/hosts.allow中可以不写,例如:sshd:192.168.10.1  等同于  sshd:192.168.10.1:allowdeny代表拒绝,在/etc/hosts.allow如配置拒绝规则,必须填写当接受和拒绝规则配置到同一个配置文件中,可以单使用一个配置文件进行管理。。。


<2>/etc/hosts.deny 配置拒绝访问

与hosts.allow的常用参数使用方式相同,但配置的是拒绝格式:  daemo_list:client_list:[:options]每个参数间用 :隔开

daemon_list:要配置的服务列表(同hosts.allow)

client_list:要配置的网段或IP列表(同hosts.allow)

[:options]:声明处理方式(与hosts.allow相反)在hosts.deny,默认使用denydeny代表拒绝,在/etc/hosts.deny中可以不写,例如:sshd:192.168.10.1  等同于  sshd:192.168.10.1:denyallow代表允许,在/etc/hosts.deny如配置允许规则,必须填写当接受和拒绝规则配置到同一个配置文件中,可以单使用一个配置文件进行管理。。。


【3】tcp_wrapper具体示例


更新。。。


转载地址:https://moxiao.blog.csdn.net/article/details/89452719 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:write error in swap file 问题解决
下一篇:(20190419.v2)Linux系统中的安全加固---登陆安全

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月30日 01时23分47秒