美文网首页
TCP_Wrappers

TCP_Wrappers

作者: Simon_Ye | 来源:发表于2020-03-12 20:32 被阅读0次

介绍

  • 作者:Wieste Venema
  • 工作在第四层(传输层)的TCP协议
  • 对有状态连接的特定服务进行安全检测并实现访问控制
  • 以库文件形式实现
  • 某进程是否接收libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的
  • 判断服务程序是否能够由tcp_wrapper进行访问控制的方法:
    ldd /PATH/TO/PROGRAM | grep libwrap.so
    strings PATH/TO/PROGRAM | grep libwrap.so

TCP_Wrappers的使用

  • 配置文件:
    /etc/hosts.allow/etc/hosts.deny
  • 帮助参考:
    man 5 hosts_accessman 5 hosts_options
  • 检查顺序:
    hosts.allowhosts.deny(默认允许)
    注意:一旦前面规则匹配,直接生效,将不再继续
  • 基本语法:
    daemon_list@host:client_list [:options:option...]

Daemon_list@host格式

  • 单个应用程序的二进制文件名,而非服务名,例如 vsftpd
  • 以逗号或空格分隔的应用程序文件名列表,如:sshd,vsftpd
  • ALL表示所有接收tcp_wrapper控制的服务程序
  • 主机有多个IP,可用@hostIP来实现控制
    如:in.telnetd@192.168.0.254

客户端 Client_list 格式

  • 以逗号或空格分隔的客户端列表
  • 基于IP地址:192.168.10.1,192.168.1.
  • 基于主机名:www.magedu.com .magedu.com 较少用
  • 基于网络/掩码:192.168.0.0/255.255.255.0
  • 基于net/prefixlen:192.168.1.0/24(CentOS 7)
  • 基于网络组(NIS域):@mynetwork
  • 内置ACL:ALL,LOCAL(匹配本地名字里面不带点的主机),KNOWN(主机名解析成地址),UNKNOWN(不能把主机名解析成地址),PARANOID

EXCEPT用法:

  • 示例:
    vsftpd:172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1
    

[:options]选项:

  • 帮助:man 5 hosts_options
    • deny:主要用在/etc/hosts.allow定义“拒绝”规则
       如:vsftpd;172.16. :deny
    • allow:主要用在/etc/hosts.deny定义“允许”规则
       如:vsftpd;172.16. :allow
    • spawn:启动一个外部程序完成执行的操作
    • twist:实际动作是拒绝访问,使用指定的操作替换当前服务,标准 I/O 和 ERROR 发送到客户端,默认至 /dev/null

测试工具:

tcpdmatch [-d] daemon[@host] client
-d:测试当前目录下的 hosts.allow 和 hosts.deny

示例:

  1. 只允许192.168.1.0/24的主机访问sshd
    /etc/hosts.allow
    sshd:192.168.1.
    /etc/hosts.deny
    sshd:ALL
  2. 只允许192.168.1.0/24的主机访问 telnet 和 vsftpd 服务
    /etc/hosts.allow
    vsftpd,in.telnetd:192.168.1.
    /etc/hosts.deny
    vsftpd,in.telnetd:ALL
  3. 触发启动一个外部程序完成执行操作
    sshd:ALL :spawn echo "$(date +%%F) login attempt from %c to %s,%d" >> /var/log/sshd.log
  4. 使用指定操作替换当前服务
    vsftpd:172.16. :twist /bin/echo "connection prohibited"

说明:

  • /etc/hosts.allow中添加,允许登录,并记录日志
  • /etc/hosts.deny中添加,拒绝登录,并记录日志
  • %c:客户端信息
  • %s:服务器端信息
  • %d:服务名
  • %p:守护进程的PID
  • %%:表示%

相关文章

  • TCP_Wrappers

    简介 TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并...

  • TCP_Wrappers

    介绍 作者:Wieste Venema 工作在第四层(传输层)的TCP协议 对有状态连接的特定服务进行安全检测并实...

  • TCP_Wrappers安全机制

    1.TCP_Wrappers介绍 (1)工作在第四层(传输层)的TCP协议(2)对有状态连接的特定服务进行安全检测...

网友评论

      本文标题:TCP_Wrappers

      本文链接:https://www.haomeiwen.com/subject/mgrijhtx.html