TCP_Wrappers基础知识介绍
1. TCP_Wrappers基础知识介绍
TCP_Wrappers是在 Solaris, HP_UX以及 Linux中广泛流行的免费软件。它被设计为一个介于外来服务请求和系统服务回应的中间处理软件。最常见的用法是与inetd一起使用。
当系统的Inetd接收到一个外来服务请求的时候,并不是直接调用,而是调用TCP_Wrappers(可执行文件tcpd),TCP_Wrappers根据这个所请求的服务和针对这个服务所定制的存取控制规则来判断对方是否有使用这个服务的权限,如果有,TCP_Wrappers将该请求按照配置文件定义的规则转交给相应的守护进程去处理同时记录这个请求动作,然后自己就等待下一个请求的处理。
TCP_Wrappers机制的主要目的在于,来自客户端的请求只被允许同一个独立的守护进程(xinetd)直接通信,而它请求的目标服务被TCP_Wrappers包裹起来,这样就提高了系统的安全性和系统管理的方便性。
TCP_Wrappers随着应用逐渐成为一种标准的Unix安全工具,成为unix守护程序inetd的一个插件。通过TCP_Wrappers,管理员可以设置对inetd提供的各种服务进行监控和过滤,以保证系统的安全性。
Telnet、SSH、FTP、POP和SMTP等很多网络服务都会用到TCP_Wrappers,它被设计为一个介于外来服务请求和系统服务回应中间处理软件。
原理介绍:https://www.jianshu.com/p/03b1016d4da5
简单配置使用:https://blog.csdn.net/IT_DREAM_ER/article/details/52314704
严格控制登录配置:https://www.aikaiyuan.com/4503.html
2、TCP_Wrappers的简单使用
Tcp_Wrappers的使用很简单,仅仅两个配置文件:/etc/hosts.allow和/etc/hosts.deny
且配置后不需重启,立即生效。这有利于使用脚本动态配置。
3、iptables和TCP_Wrappers的区别
(1)OSI七层模型
第3层(网络层):含IP头信息,其中包含IP地址。
第4层(传输层):含TCP头信息,其中包含port(端口号)。
第7层(应用层):应用层信息,其中包含应用层协议。如:http、ssh等
(2)归属层和作用对象
iptables是防火墙软件,归于第4层传输层,作用于第3层和第4层,对IP、port、传输层协议(tcp、udp、第三层的icmp)进行限定。
TCP_Wrappers是安全工具,归于第7层应用层,作用于第3层和第7层,对IP、应用层协议(ssh、http、ftp等)进行限定。
由于配置中涉及应用层协议telnetd、sshd、ftpd等,虽然配置中有第三层的IP信息,可同时作用于第3层和第7层,但仍然将TCP_Wapper归于第7层应用层。
(3)执行顺序:
iptables-》TCP_Wrappers-》本地服务
Linux 本身有两层安全防火墙,通过 IP过滤机制的iptables实现第一层防护。
iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。
如果通过了第一层防护,那么下一层防护就是 tcp_wrappers 了。通过 Tcp_Wrappers 可以实现对系统中提供的某些服务的开放与关闭、允许和禁止,从而更有效地保证系统安全运行。
(4)其他安全知识
linux安全主要通过下面三个进行加固
Selinux----主要是对内核的访问权限加以控制
tcp_wrappers---一定程度上限制某种服务的访问权限
iptables---主要是设置软件的防火墙
TCP_Wrappers基础知识介绍的更多相关文章
- Nginx基础知识介绍
Nginx基础知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx概述 Nginx是免费的.开源的.高性能的HTTP和正向/反向代理服务器.邮件代理服务器.以及T ...
- Swift Playgrounds for mac基础知识介绍
Swift Playgrounds是一款适用于iPad和Mac的革命性应用程序,它使Swift学习变得互动而有趣.它不需要编码知识,因此非常适合刚开始的学生.使用Swift解决难题,以掌握基本知识.S ...
- WPF Step By Step -基础知识介绍
回顾 上一篇我们介绍了WPF基本的知识.并且介绍了WPF与winform传统的cs桌面应用编程模式上的变化,这篇,我们将会对WPF的一些基础的知识做一个简单的介绍,关于这些基础知识更深入的应用则在后续 ...
- python基础----基础知识介绍
一 编程语言的划分 编译型:将代码一次性全部编译成二进制,然后运行. 缺点:开发效率低,不能跨平台(windows与linux) 优点:执行效率高 代表语言:c语言 解释型:当程序开始运 ...
- android开发学习---linux下开发环境的搭建&& android基础知识介绍
一.配置所需开发环境 1.基本环境配置 JDK 5或以上版本(仅有JRE不够) (http://www.oracle.com/technetwork/java/javase/downloads/ind ...
- Linux基础知识介绍
1.Linux知识说明1)文件位置 1)/etc/inittab2)模式介绍 0:挂起模式-不推荐 1:单用户模式-只有管理员可以进入该模式,可以修改root密码,处理有登录权限而没有修改文件的权限问 ...
- ABP VNext框架基础知识介绍(1)--框架基础类继承关系
在我较早的时候,就开始研究和介绍ABP框架,ABP框架相对一些其他的框架,它整合了很多.net core的新技术和相关应用场景,虽然最早开始ABP框架是基于.net framework,后来也全部转向 ...
- ABP VNext框架基础知识介绍(2)--微服务的网关
ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如 ...
- OC - 2.OC基础知识介绍
一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...
随机推荐
- PostgreSQL中的partition-wise aggregation
partition-wise aggregation允许对每个分区分别执行的分区表进行分组或聚合.如果GROUP BY子句不包括分区键,则只能在每个分区的基础上执行部分聚合,并且必须稍后执行最终处理. ...
- ISO/IEC 9899:2011 条款6.10——预处理指示符
6.10 预处理指示符 语法 1.preprocessing-file: groupopt group: group-part group group-part group-part: if-s ...
- 转 zabbix debug and zabbix使用percona插件监控mysql
########## https://www.cnblogs.com/keithtt/p/8542987.html zabbix使用percona插件监控mysql 1.添加percona仓库. ...
- ireport初接触
我用的版本5.6.0 @官网下载地址 下载安装@参考博客龙凌云端,着重留意:在windows下使用,只下载iReport-5.6.0-windows-installer.exe就行了 安装后配置环境变 ...
- [LeetCode] 280. Wiggle Sort 摆动排序
Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] < ...
- [LeetCode] 351. Android Unlock Patterns 安卓解锁模式
Given an Android 3x3 key lock screen and two integers m and n, where 1 ≤ m ≤ n ≤ 9, count the total ...
- svn密码找回
TortoiseSVN Password Decrypterhttp://www.leapbeyond.com/ric/TSvnPD/点击打开链接去这个地址下载这个,然后直接运行,就可以看到你的use ...
- harbor的安装和简单使用【h】
安装docker的私有仓库, 利用vmware提供的harbor工具, 参考Docker 私有仓库方案比较与搭建, Harbor安装 -- 企业级Registry仓库 2.2harborProject ...
- 【VS开发】#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- javascript实现每秒执行一次的方法
javascript实现每秒执行一次的方法 <pre> i=0; function showzhandou() { $('.zhandouresult p').eq(i).fadeIn() ...