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> 关键字 ...
随机推荐
- oracle/mysql java jdbc类型映射
MySQL数据类型 JAVA数据类型 JDBC TYPE 普通变量类型 主键类型 BIGINT Long BIGINT 支持 支持 TINYINT Byte TINYINT 支持 不支持 SMALLI ...
- 测量MySQL的表达式和函数的速度
测量MySQL的表达式和函数的速度,可以调用benchmark()函数.语法格式是benchmark(loop_count,expr).运行的返回值是0,但是mysql会打印一行显示语句大概要执行多长 ...
- [转]Vue-Devtools安装配置教程(献给伸手党)
原文地址:https://blog.csdn.net/weixin_38654336/article/details/80790698 可以先看视频教程:链接 最简便的方法是用FQ来通过google应 ...
- typescript - 8.命名空间
基础 略. https://www.tslang.cn/docs/handbook/namespaces.html 多文件中的命名空间(一个文件分解为几个) 现在,我们把Validation命名空间分 ...
- Mac下 python2和python3共存
一般是python2默认安装了,python3没有安装,这时候一般使用命令:brew install python3 进行安装 不同方法安装python的路径是不一样的,如下所示: 接下来就要看具体步 ...
- 解决VS Code开发Python3语言自动补全功能
1.打开设置界面 2)使用快捷键组合[Ctrl+Shift+p] . 输入setting,选中首选项的user setting模式设置界面 在打开的User Settings文件界面,搜索:pytho ...
- c#修改webservice 的地址和端口(修改配置文件)
修改服务引用的地址和端口有两种方法: 1.直接修改配置文件web.config 2.动态修改: 右击转到实现 发现五个构造方法,通过第三个构造方法即可进行URL的初始化 IIS修改IP地址后 直接在初 ...
- JS字符串数字前面加加号会变成数字类型
JS中一个字符串中只有数字,如果该字符串前面加了个加号,这个数值就变成了number类型.如本文测试中,用lodop打印二维码,最后一个参数是一个字符串,在前面加了加号和不在前面加加号,通过控制台输出 ...
- [LeetCode] 71. Simplify Path 简化路径
Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...
- Python 获取文件类型后缀
import os path='file.txt' file=os.path.splitext(path) filename,type=file print(filename) print(type)