zoukankan      html  css  js  c++  java
  • tcp_wrapper

    TCP_Wrappers介绍

    作者:Wieste Venema,IBM,Google
    工作在第四层(传输层)的TCP协议
    对有状态连接的特定服务进行安全检测并实现访问控制
    以库文件形式实现
    某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的

    判断服务程序是否能够由tcp_wrapper进行访问控制的方法:

      ldd /PATH/TO/PROGRAM|grep libwrap.so
      strings PATH/TO/PROGRAM|grep libwrap.so
      

    配置文件:

    /etc/hosts.allow, /etc/hosts.deny

    帮助参考:

    man 5 hosts_access,man 5 hosts_options

    检查顺序:

    hosts.allow,hosts.deny(默认允许)
     

    生效规则:

    先检查/etc/hosts.allow,如果匹配则允许。如果匹配在检查/etc/hosts.deny,如果匹配则拒绝。二者都不匹配则默认允许。

    基本语法:

    daemon_list@host: client_list [ :options :option… ]

    Daemon_list@host格式

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

    客户端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(CentOS7)
    基于网络组(NIS 域):@mynetwork
    内置ACL:ALL,LOCAL,KNOWN,UNKNOWN,PARANOID

    EXCEPT用法: 

    /etc/host.deny  
      vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1
    除了172.16.100.0/24,不允许172.16.0.0/16网段访问ftp,也不允许172.16.100.1主机访问。

    示例

    示例:只允许192.168.1.0/24的主机访问sshd
    /etc/hosts.allow
    sshd: 192.168.1.
    /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

    [:options]选项:

    帮助:man 5 hosts_options
    deny 主要用在/etc/hosts.allow定义“拒绝”规则
    如:vsftpd: 172.16. :deny
    allow 主要用在/etc/hosts.deny定义“允许”规则
    如:vsftpd:172.16. :allow
    spawn 启动一个外部程序完成执行的操作
    twist 无论在/etc/hosts.deny还是/etc/hosts.allow,实际动作是拒绝访问,使用指定操作替换当前服务,标准输出和ERROR
    发送到客户端,默认至/dev/null
    sshd: ALL :spawn echo "$(date +%%F) login attempt from %c to %s,%d" >>/var/log/sshd.log
    说明:
    在/etc/hosts.allow中添加,允许登录,并记录日志
    在/etc/hosts.deny中添加,拒绝登录,并记录日志
    %c 客户端信息
    %s 服务器端信息
    %d 服务名
    %p 守护进程的PID
    %% 表示%

    实验一:指定策略值允许192.168.206.11,ssh192.168.206.10。其他全部拒绝,并在/var/log/sshd.log中记录信息

    实验二:twist示例。拒绝192.168网段主机ssh到本机
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Python位运算符
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13512102.html
Copyright © 2011-2022 走看看