tcp_wrapper访问控制

版权声明:本文为博主原创文章,未经博主允许不得转载,转载附上原文链接即可。 https://blog.csdn.net/GX_1_11_real/article/details/89452719

前言



由于前一篇登陆安全的配置中涉及的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

在这里插入图片描述

扫描二维码关注公众号,回复: 6039687 查看本文章
  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,默认使用allow
allow代表接受,在/etc/hosts.allow中可以不写,例如:sshd:192.168.10.1  等同于  sshd:192.168.10.1:allow
deny代表拒绝,在/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,默认使用deny
deny代表拒绝,在/etc/hosts.deny中可以不写,例如:sshd:192.168.10.1  等同于  sshd:192.168.10.1:deny
allow代表允许,在/etc/hosts.deny如配置允许规则,必须填写
当接受和拒绝规则配置到同一个配置文件中,可以单使用一个配置文件进行管理
。。。


【3】tcp_wrapper具体示例


更新。。。


猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/89452719