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到本机
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    抽象类
    继承
    面向对象的静态属性,类方法,静态方法
    查找linux系统下的端口被占用进程的两种方法 【转】
    awk学习
    【转】借助LVS+Keepalived实现负载均衡
    ORA-28001: the password has expired解决方法
    ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤
    Oracle控制文件多路复用以及Oracle备份重建控制文件
    RedHat6.1通过配置yum server安装软件包
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13512102.html
Copyright © 2011-2022 走看看