首页 > 系统相关 >Linux 防火墙之TCP Wrappers

Linux 防火墙之TCP Wrappers

时间:2022-12-21 10:25:19浏览次数:47  
标签:Wrappers deny 服务 TCP etc hosts allow Linux 客户端

1、TCPWrappers  原理 Telnet、SSH、FTP、POP和SMTP等很多网络服务都会用到TCPWrapper,它被设计为一个介于外来服务请求和系统服务回应的中间处理软件。     基本处理过程 当系统接收到一个外来服务请求的时候,先由TCP Wrapper处理这个请求,TCP Wrapper根据这个请求所请求的服务和针对这个服务所定制的存取控制规则来判断对方是否有使用这个服务的权限, 如果有,TCPWrapper将该请求按照配置文件定义的规则转交给相应的守护进程去处理同时记录这个请求动作,然后自己就等待下一个请求的处理。   查看一个服务是否支持tcp_wrapper 在Linux系统中有许多服务,包括基于System V服务、基于Xinetd服务。其中 基于Xinetd的服务都是支持tcp_wrapper,因为xinetd服务本身就支持tcp_wrapper。而只有一部分的System  V服务支持tcp_wrapper,如:sshd、vsftpd等。 用户可以通过下面的两种方式得知某服务是否支持tcp_wrapper。

  • strings  可执行工具路径| grep [tcp_wrappers|hosts_access]
  • ldd   可执行工具路径|grep libwrap
  [root@natsha ~]# ldd /usr/sbin/sshd |grep libwrap         libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f97ecca5000)   2、TCPWrappers规则定义 在TCPWrappers中通过/etc/hosts.allow和/etc/hosts.deny配置规则允许或阻止指定客户端对指定服务的访问,修改保存此文件后配置无需重启服务立即生效。   在/etc/hosts.allow和/etc/hosts.deny文件定义规则的方法采用以下格式:   Daemon_list@Host: Client_list [ :Options :Option… ]  服务:客户端   [:选项] (1)服务:指定TCPWrappers需要控制的服务名称。如果是SystemV服务直接指定服务名称。如果是超级服务必须指定超级服务的启动脚本名称。【也就是后台】   后台进程应该是服务的可执行工具名 例如:telnet-server服务的可执行工具是in.telnetd,因此在/etc/hosts.allow及/etc/hosts.deny中应该写in.telnetd,而不是telnet或telnetd。     (2)客户端:指定TCPWrappers需要控制哪些客户端对指定服务的访问。指定客户端方法如下: 单一主机:IP 指定网段:IP/24 指定DNS后缀:example.com 指定FQDN:client.example.com 指定所有客户端:ALL                       (3)选项:包括allow、deny以及一些其他参数。推荐不使用/etc/hosts.deny文件配置。  需要阻止操作时,直接在/etc/hosts.allow中使用deny动作。             选项中其他参数 A、执行外部命令 可以使用spawn参数让TCPWrappers执行一些外部命令。日志文件:/var/log/example.log   sshd,in.telnetd:192.168.111.:spawn echo "`date +'%%F %%T'` login from client: %c to %d">>/var/log/tcpwrap.log               TCPWrappers变量              %c                访问的客户端信息(user@host)              %s             访问的服务器端信息(server@host)              %h                访问的客户端的FQDN(如果可以DNS反向解析)              %p                服务器PID        B、  排除   在/etc/hosts.allow和/etc/hosts.deny中指定客户端时,可使用EXCEPT参数在一个范围内排除指定客户端。   #禁止172.16.0.0/16网络访问我,排除172.16.100.0/24和172.16.100.1之外             vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1   3、tcp_wrapper访问控制判断顺序 如果同时在“hosts.allow”与“hosts.deny”配置了某个相反的限制,那么最终以哪一个文件为准呢? tcp_wrapper中有访问控制判断顺序明确规定:
  • 访问是否被明确许可,如果是则直接通过。
  • 否则才会判断访问是否被明确禁止,如果是则禁止通过。
  • 如果都没有,默认许可。
      4、配置实例     #仅仅仅仅允许192.168.1.0/24的主机访问sshd  vim /etc/hosts.allow     sshd: 192.168.1.0  vim /etc/hosts.deny     sshd: ALL     只允许192.168.1.0/24的主机访问telnet和vsftpd服务   /etc/hosts.allow vsftpd,in.telnetd: 192.168.1. /etc/host.deny vsftpd,in.telnetd: ALL     另外:
deny 主要用在/etc/hosts.allow定义“拒绝”规则     如:vsftpd: 172.16. :deny   allow 主要用在/etc/hosts.deny定义“允许”规则     如:vsftpd:172.16. :allow

标签:Wrappers,deny,服务,TCP,etc,hosts,allow,Linux,客户端
From: https://www.cnblogs.com/Alwayslearn/p/16995642.html

相关文章

  • python 运程连接 linux
    python实现远程连接,操作linux1.安装依赖pip3installparamiko2.实现原理#-*-coding:utf-8-*-importparamikodefconnect(cmd,try_times=3):while......
  • Linux xattr shell command All In One
    LinuxxattrshellcommandAllInOnemacOS$manxattr>xattr.mdmanxattrXATTR(1)GeneralCommandsManualXAT......
  • Linux Shell开发功能点
    背景需要操作一批次服务器安装Docker功能特色一键执行bash<(curl-s-Lhttp://server.com/installDocker.sh)MemberNode参数传递hostname修改if[!-n"$1"......
  • Linux软件安装包中devel与非devel包之间的区别
    带devel(develop)的包,俗称开发包。功能上与普通包相同,但体积更大使用rpm-qi看看这两类包的区别:#rpm-qiglibc-devel-2.12-1.149.el6.x86_64Name:glibc-devel......
  • #yyds干货盘点#Linux使用最频繁的命令:ls 命令
    ls命令介绍ls命令是英文list的简写形式。我们用它来列出文件。它的用法就是在任何目录下直接执行ls,或者在ls后接目录路径(包括相对路径和绝对路径)。当然我们还可以使用......
  • Linux下如何安装MySQL?
    目标主机:centos8MySQL安装所有平台的MySQL下载地址为:https://dev.mysql.com/downloads/repo/yum/。挑选你需要的MySQLCommunityServer版本及对应的平台。注意:安......
  • linux动态库(.so)搜索路径(目录)设置方法
     https://blog.csdn.net/my_angle2016/article/details/121770237 { 在Linux中,动态库的搜索路径除了默认的搜索路径外,还可通过三种方法来指定:方法一:在配置文件/et......
  • 在linux上oracle服务启动停止详细
    在CentOS6.3下安装完Oracle10gR2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如......
  • linux LO接口
    1、什么是LO接口?在LINUX系统中,除了网络接口eth0,还可以有别的接口,比如lo(本地环路接口)。环回地址lo是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。本......
  • [ Linux ] 互斥量实现原理,线程安全
    上篇文章我们对抢票系统做了加锁处理,对互斥量tickets进行加锁。而本篇博文来谈谈互斥量实现的原理以及相关问题。1.上篇遗留问题我们在临界资源对应的临界区中加锁了,就不是......