阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

tcp_wrapper:简单的基于主机的访问控制工具

431次阅读
没有评论

共计 2690 个字符,预计需要花费 7 分钟才能阅读完成。

一、常用的主机访问控制工具

独立 (stand alone) 守护进程 (httpd,vsftpd)、瞬时(transient) 守护进程(rsync,tftp,telnet), 这两类守护进程都支持基于 iptables 进行控制。哪一端口运行客户端访问,哪一端口不允许客户端访问,基于主机做防火墙时,都能进行控制。

做主机防火墙时,有些瞬时守护进程,甚至是某些独立独立守护进程,还能够接受另一种方式,tcp_wrapper,来控制。

在众多的基于主机的安全访问控制中,tcp-wrapper 是简单而易于配置的一种。

在 linux 下能实现基于主机访问控制的常用工具有三个:iptables、tcp_wrapper、xinetd(超级守护进程)。

二、tcp_wrapper 简介

显而易见,只能控制 tcp 协议下的软件。

一般翻译为 tcp 包装器,能够实现监听在某一 tcp 服务上,对于进出某本主机区访问某一套接字的应用做检查,而且能够实现所谓授权访问。

简单来说,tcpwrapper 本身是一个守护进程,工作于 tcp 协议上。iptables 工作于内核的 tcp/ip 协议栈上,而 tcp_wrapper 工作于内核的 tcp/ip 协议栈的 tcp 协议上,而且是在 tcp 的入口处启动一个进程,监视每一个 tcp 服务的相关请求,同时把这个报文本身跟 tcp_wrapper 的配置文件中的放行规则或拒绝规则中的规则进行对比。若果一旦匹配,则给予放行或拒绝访问。

工作进程为:tcpd

工作在 tcp 包文所要经过的位置上,有且只有一个位置。工作于 tcp 协议层,比工作在网络层的 iptables 更高一层,因此可以和 iptables 结合使用。但 tcp_wrapper 的控制完成之后,iptables 就无需控制了,同理,iptables 控制完成之后,tcp_wrapper 也就无需控制了。二者可以有一个能完成控制就可以了。

iptables 既然能完成工作,为什么还需要 tcp_wrapper 呢?因为 tcp_wrapper 的配置非常简单。

配置文件:/etc/hosts.allow,/etc/hosts.deny

但是并非所有服务都能接受 tcp_wrapper 的控制,事实上,tcp_wrapper 与其说是一个服务,不如说是一个库更合适。因为所有的守护进程,都是工作在用户空间的,所以与其说 tcp_wrapper 是一个守护进程,不如说是一个库更合适。

所有的服务都能接受 iptables 控制,但并非所有都接受 tcp_wrapper 控制。只有用户在开发某个程序时,如果链接到这个库上,或者说依赖于这个库,就意味着他他是接受 tcp_wrapper 控制的。

三、使用 tcp_wrapper 控制

a). 只需将受控制程序名写入配置文件即可实现控制:

允许访问:/etc/hosts.allow

拒绝访问:/etc/hosts.deny

b). 控制原理

程序链接的库文件,会自动在用户访问服务时,基于 tcpd 检测

/etc/hosts.allow、/etc/hosts.deny 两个配置文件,并判断某一主机是否能够访问服务。

c). 匹配机制

1. 先检查 /etc/hosts.allow, 如果被允许,则直接放行;

2. 如果 /etc/hosts.allow 没有匹配项,则检查 /etc/hosts.deny;如果有匹配项则禁止访问;

3. 如果均无匹配,则默认放行。

d). 配置文件语法格式

daemo_list:client_list [:options]

daemon_list:

一定是应用程序名,不是进程名;

如果有多个,则用逗号隔开;

如果匹配所有,则用 ALL;

client_list:

IP 地址:172.16.100.100

主机名称:www.linuxmi.com

网络地址 / 子网掩码:(子网掩码只能使用长格式)

简短格式:

如:172.16. 表示 172.16.0.0/255.255.0.0

[:options]

deny 使在 hosts.allow 中选项 deny

allow 使在 hosts.deny 中选项 allow

这样的机制可以让我们只需写一个配置文件就可以将所有配置搞定

例:vim /etc/hosts.allow

in.telnetd: ALL EXCEPT 172.16.251.105 :deny

spawn 发起执行一条命令,比如:如果有人访问访问服务器,别拒绝了,这通常是一种恶意访问,或非正常访问,就可以使用 spawn echo 一些命令保存至日志中

vim /etc/hosts.allow

in.telnetd: 172.16 EXCEPT 172.16.251.105

vim /etc/hosts.deny

in.telnetd: ALL : spawn echo `date` login attempt from %c to %s >> /var/log/tcp_wrapper.log

%c:user@host

%s:server@host

%h: 客户端主机名

%p: 服务器上的进程 PID

获取完整帮助信息:man 5 hosts_access

注意:echo 的信息无需加引号,否则命令替换不会进行

e).tcp_wrapper 有几个内置的宏(Macro)

用于 client_list 的有:ALL,NONE,UNKNOW(主机名无法解析的地址),

PARANOID(正反向解析不匹配的地址)

用于 daemon_list 的有:ALL

两者都可以都可以用:EXCEPT(排除)

例:vim /etc/hosts.allow

in.telnetd: 172.16. EXCEPT 172.16.251.105

f). 事例

如果我们要定义仅放行某一网段,则定义 /etc/hosts.allow 放行网段,在 /etc/hosts.deny 定义拒绝所有主机。

演示控制:telnet

yum install telnet-server

ldd `which in.telnetd` 没有显示

ldd `which xinetd` 显示有,telnet 自己本身不监听程序,而是由 xinetd 监听,所有它是接受 tcp_wrapper 控制的。

chkconfig telnet on

service xinetd start

ss -tnl | grep 23

仅放行 172.16 网段:

vim /etc/hosts.allow

in.telnetd: 172.16.

vim /etc/hosts.deny

in.telnetd: ALL

不用重启,立即生效,因为工作在内核中的,和 iptables 一样立即生效

总结:

tcp_wrapper 确实非常简单而又易于配置。尤其是控制 ftp 服务时,强烈推荐,因为基于 iptables 的访问控制与 tcp_wrapper 相比,真的太复杂了。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2690字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7979489
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...