Linux网络服务-基础-TCP Wrappers

TCP Wrappers简介

TCP_Wrappers是一个工作在第四层(传输层)的安全工具,对具有状态连接(TCP)的特定服务进行安全检测并实现访问控制,界定方式是凡是调用libwrap.so库文件的程序就可以受TCP_Wrappers的安全控制。它的主要功能就是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd、telnet。
判断程序是否受其安全控制方式:

  1. 查看对应服务命令所在位置
    which sshd
  2. 查看指定命令执行时是否调用libwrap.so文件
    lld /usr/sbin/sshd | grep libwrap.so
    如果存在,则可以控制,否则则不可以

TCP Wrappers工作原理

以ssh为例,每当有ssh的连接请求时,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。
在这里插入图片描述

  1. 优先查看/etc/hosts.allow,匹配即停止
  2. 允许个别,拒绝所有:hosts.allow文件添加允许的策略,hosts.deny文件添加all
  3. 拒绝个别,允许所有:hosts.allow文件为空,hosts.deny文件添加单个拒绝的策略

TCP Wrappers的使用

TCP_Wrappers的使用主要是依靠两个配置文件/etc/hosts.allow,/etc/hosts.deny,以此实现访问控制,默认情况下,两个文件什么都没有添加,此时没有限制
配置文件编写规则:
service_list@host: client_list
service_list:程序(服务)的列表,可以是多个,当多个时,使用,隔开
@host:设置允许或进制他人从自己的哪个网口进入。不写则代表全部
client_list:访问者的地址,如果需要控制的用户是多个,可以使用空格或,隔开
格式如下:

  • 基于IP地址:192.168.88.1 192.168.88
  • 基于主机名:hostname1 hostname2
  • 基于网络/掩码:192.168.0.0/255.255.255.0

案例

  • 拒绝单个IP使用ssh远程连接:
    配置文件:
    hosts.allow:空着
    hosts.deny:ssh:192.168.88.20
  • 拒绝某一网段使用ssh远程连接:
    hosts.allow:空着
    hosts.deny:ssh:192.168.88
  • 仅允许某一IP使用ssh远程连接:
    hosts.allow:ssh:192.168.88.20
    hosts.deny:ALL
发布了59 篇原创文章 · 获赞 3 · 访问量 3592
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览