Liunx-Tcp Wrapper-访问控制工具

2024-05-11 14:04

本文主要是介绍Liunx-Tcp Wrapper-访问控制工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

主要功能

工作原理

配置示例

允许所有来自特定 IP 范围的访问

拒绝所有其他访问

允许特定服务来自特定域名的访问

拒绝特定 IP 地址的访问

注意事项

应用范围

 查看某一个程序是否支持 TCP wrapper

Telnet 

用途

1. 远程登录

2. 网络诊断

3. 测试网络服务

安全性

Telnet与SSH的区别 

安全性

数据压缩

端口转发和隧道

用途

功能性

端口

常见使用场景

总结


TCP Wrapper 是一个在 Linux 和 UNIX 系统中常见的安全工具,用于控制对网络服务的访问。它主要用于为网络服务(如 FTP、SSH、SMTP、HTTP、Telnet 等)提供基本的访问控制机制,通常通过配置文件 /etc/hosts.allow/etc/hosts.deny 来实现。

/etc/hosts.allow   --允许
/etc/hosts.deny    --拒绝

主要功能

TCP Wrapper 的主要功能包括:

  1. 访问控制:允许或拒绝对网络服务的访问。可以根据客户端的 IP 地址、主机名或域名来进行控制。
  2. 日志记录:记录对网络服务的访问,包括成功和被拒绝的访问。
  3. 灵活的策略:可以配置复杂的访问策略,允许或拒绝特定来源的访问。

工作原理

TCP Wrapper 在启动网络服务时,充当服务进程与外部请求之间的中间人。它首先检查访问请求,并根据配置文件中的规则决定是允许还是拒绝访问。

以下是 TCP Wrapper 工作原理的简要描述:

  • 当请求到达受保护的服务时,TCP Wrapper 会读取 /etc/hosts.allow 文件,以检查请求来源是否在允许列表中。如果匹配,则允许访问。
  • 如果请求未在 /etc/hosts.allow 中找到匹配项,则 TCP Wrapper 继续检查 /etc/hosts.deny 文件,以查看请求是否在拒绝列表中。如果匹配,则拒绝访问。
  • 如果请求既不在允许列表中,也不在拒绝列表中,默认行为通常是允许访问。如果两个配置中有冲突,先匹配中的优先,也就是hosts.allow中的配置优先。

配置示例

允许所有来自特定 IP 范围的访问

# 在 /etc/hosts.allow 中 
sshd: 192.168.1.0/24

拒绝所有其他访问

# 在 /etc/hosts.deny 中
ALL: ALL

允许特定服务来自特定域名的访问

# 在 /etc/hosts.allow 中 
smtp: .trusted.com

拒绝特定 IP 地址的访问

# 在 /etc/hosts.deny 中 
httpd: 10.0.0.123

注意事项

  • TCP Wrapper 通常用于保护老式或不支持内置访问控制的服务。现代服务可能具有更复杂的安全功能,因此不再需要 TCP Wrapper。
  • 在配置 TCP Wrapper 时,必须小心操作,以避免误配置导致服务不可用或意外的安全漏洞。

应用范围

TCP Wrapper 可以用于许多网络服务,TCP warpper要看该应用是否依赖libwrap.so这个库文件。尤其是那些基于 inetd 和 xinetd 的服务。例如tcpwrapper可以控制ssh服务,因为实现ssh协议的sshd程序依赖了libwarp.so库文件,这包括但不限于: 

  • Telnet
  • FTP
  • SMTP(邮件)
  • HTTP
  • SSH
  • NFS(网络文件系统)
  • SNMP(简单网络管理协议)

对于现代服务,许多已经有了内置的访问控制和安全机制,如防火墙、IP 地址过滤、认证和授权等。因此,在这些服务中,TCP Wrapper 的作用相对减少了。

因此,尽管 TCP Wrapper 曾在过去起到重要作用,但在现代系统中,通常建议使用更复杂和灵活的安全工具来确保系统安全。TCP Wrapper 仍可能用于某些老式或特殊环境中,但需要小心配置和使用.

 查看某一个程序是否支持 TCP wrapper

ldd 命令用于显示一个可执行文件所链接的共享库。通过运行 ldd 命令来查看某个程序是否链接到 libwrap.so,以确定它是否支持 TCP Wrapper。

[root@localhost ~]# ldd `which sshd` | grep wraplibwrap.so.0 => /lib64/libwrap.so.0 (0x00007f12ebbe8000)
[root@localhost ~]# ldd `which httpd` | grep wrap   
#httpd就不用,所以不支持,当然先安装这个包再做实验
[root@localhost ~]# 

Telnet 

Telnet 是一种古老的网络协议和命令行工具,用于通过网络与远程主机进行文本通信。它最初设计用于在远程终端和主机之间建立交互式会话,允许用户远程登录和执行命令。然而,由于 Telnet 不加密数据传输,在现代网络环境中被认为是不安全的,因此已逐渐被更安全的协议(如 SSH)取代。

用途

Telnet 主要用于以下用途:

1. 远程登录

在早期,Telnet 被用于在网络上远程登录其他计算机并执行命令。这对于系统管理员和网络工程师特别有用。然而,由于其不安全性,现在通常使用 SSH(Secure Shell)替代。

2. 网络诊断

Telnet 可以用来检查网络服务是否在特定端口上运行。通过连接到特定 IP 地址和端口,可以测试服务的可用性。这在调试网络和应用程序问题时很有用。

3. 测试网络服务

Telnet 可以用于手动测试 TCP 服务,例如 HTTP、SMTP、FTP 等。它允许你发送简单的文本命令,并查看服务的响应。

安全性

由于 Telnet 不加密通信内容,所有数据(包括用户名和密码)都是明文传输的,这使得它容易受到中间人攻击和流量嗅探。因此,Telnet 不再用于远程登录目的,而是更多用于本地网络中的网络调试和诊断。在需要安全远程连接时,应该使用 SSH 等加密协议。

在许多 Linux 和 UNIX 系统中,Telnet 客户端可能默认未安装。你可以通过包管理器安装它,例如:

# 在 Ubuntu/Debian 上 
apt-get install telnet # 在 CentOS/Fedora 上 
yum install telnet

要使用 Telnet 连接到特定 IP 地址和端口,你可以运行:

telnet <IP地址> <端口>

例如,连接到本地主机的 80 端口:

#这样就是断开的,此时我并没有开启80端口
[root@localhost ~]# telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
#但我开启nginx,监听80端口时
[root@localhost ~]]# telnet telnet 127.0.0.1 80 #检查tcp连接80端口是否开放
Trying 127.0.0.1...
Connected to 127.0.0.1.  #如果出现这样那就是通了
Escape character is '^]'. 

Telnet与SSH的区别 

 注:这个要记住,能简单口述出一些区别的程度

Telnet 和 SSH 是两种用于远程连接和管理的网络协议,但它们在安全性、功能性和用途上有显著的区别。以下是它们之间的主要差异:

安全性

  • Telnet:数据以明文传输,这意味着所有信息,包括用户名、密码和传输内容,都是未加密的。这使得 Telnet 容易受到中间人攻击和网络嗅探的威胁。
  • SSH:提供了强大的加密机制,所有传输内容都被加密。这使得 SSH 在安全性方面远超 Telnet,成为远程连接的首选。

数据压缩

SSH支持数据压缩,这意味着在传输之前,SSH可以压缩数据,以减少网络带宽的占用。这可以使SSH在低带宽或高延迟的网络环境中表现得更好。Telnet没有内置的压缩机制。

端口转发和隧道

SSH支持端口转发和隧道,这允许在一条连接上进行多种数据传输。这意味着用户可以在一条SSH连接上执行多种任务,而无需建立多个连接。这种多路复用可能减少了因多次连接而导致的延迟和开销。

Telnet 是一种简单的协议,用于建立未加密的远程终端会话。它不具备加密、认证等功能,且没有内置的端口转发和隧道能力。

用途

  • Telnet:主要用于远程终端会话和网络服务测试。由于其不安全性,现代网络中不再用于远程管理,而更多用于网络诊断和调试。
  • SSH:主要用于安全的远程登录和服务器管理,通常用于通过网络执行命令、管理文件和应用程序。SSH 还支持安全的文件传输(通过 SCP 和 SFTP)。

功能性

  • Telnet:功能相对简单,主要用于在网络上建立基本的远程终端会话。它没有内置的加密或高级认证机制。
  • SSH:提供多种功能,包括公钥认证、端口转发、加密文件传输和安全隧道。这使得 SSH 非常灵活,可以用于各种远程管理和安全通信场景。

端口

  • Telnet:默认使用 23 端口。
  • SSH:默认使用 22 端口。

常见使用场景

  • Telnet:由于其不安全性,现代系统中很少用于远程登录。它在网络调试、协议测试和本地网络中的特定场景下仍然有用。例如,测试网络服务是否在特定端口上运行。
  • SSH:用于远程管理和登录,适用于系统管理员、开发人员和运维人员。SSH 被广泛用于云计算、服务器管理和 DevOps 流程中。

总结

        由于 Telnet 的不安全性,SSH 在现代网络环境中已成为远程连接和管理的标准。SSH 提供加密和高级认证功能,确保在网络上传输的敏感信息是安全的。如果你需要在安全环境中进行远程管理,SSH 是首选。对于调试和测试场景,Telnet 有时仍然有用,但应谨慎使用,避免在公共网络或敏感环境中使用。SSH传输数据经过压缩,所以传输速度比较快。

这篇关于Liunx-Tcp Wrapper-访问控制工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/979737

相关文章

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

10个好用的AI写作工具【亲测免费】

1. 光速写作 传送入口:http://u3v.cn/6hXWYa AI打工神器,一键生成文章&ppt 2. 讯飞写作 传送入口:http://m6z.cn/5ODiSw 3. 讯飞绘文 传送入口:https://turbodesk.xfyun.cn/?channelid=gj3 4. AI排版助手 传送入口:http://m6z.cn/6ppnPn 5. Kim

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲