tcp_wrappers是linux中一个安全机制[TCP_wrappers防火墙],一定程度上限制某种服务的访问权限,达到了保护系统的目的
一. 要想用好tcp_wrappers,首先检查某种服务是否受tcp_wrappers 管理
ldd $(which domainname) | grep libwrap
   domainname=sshd httpd smb xinetd .........
如果有这个链接,说明某个服务接受tcp_wrappers管理,这种检查不一定正确。
a.一般只要某些进程归xinetd管理,那么这个服务就一定接受tcp_wrappers的管理
  如xinetd管理的进程:
xinetd based services:
 chargen-dgram
 chargen-stream
 cvs
 daytime-dgram
 daytime-stream
 discard-dgram
 discard-stream
 echo-dgram
 echo-stream
 eklogin
 ekrb5-telnet
 gssftp
 klogin
 krb5-telnet
 kshell
 rsync
 tcpmux-server
 telnet
 time-dgram
 time-stream
b.一些独立的进程(daemons)也受tcp_wrappers的管理
  如:  sendmail
 slapd
 sshd
 stunnel
 xinetd
 gdm
 gnone-session
 vsftpd
  portmap
c.注意:有些进程不受tcp_wrappers管理
  如:  httpd
 smb
 squid 等
二. 与tcp_wrappers相关的文件有
/etc/hosts.allow
/etc/hosts.deny
这两个文件被整合在xinetd中.
三. 工作原理
1. 当有请求从远程到达本机的时候
首先检查/etc/hosts.allow
如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件
没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问
2. 如果在这两个文件中,都没有匹配到,默认是允许访问的
四. 这两个文件格式
服务列表 :地址列表 :选项
A. 服务列表格式:如果有多个服务,那么就用逗号隔开
B. 地址列表格式:
1. 标准IP地址:例如:192.168.0.254,192.168.0.56如果多于一个用,隔开
2. 主机名称:例如:www.baidu.com, .example.con匹配整个域
3. 利用掩码:192.168.0.0/255.255.255.0指定整个网段
   注意:tcp_wrappers的掩码只支持长格式,不能用:192.168.0.0/24
4. 网络名称:例如 @mynetwork
五.宏定义
ALL :指代所有主机
LOCAL :指代本地主机
KNOWN :能够解析的
UNKNOWN :不能解析的
PARANOID :
  example:
    /etc/hosts.allow
 sshd:192.168.0.0
    /etc/hosts.deny
 sshd:ALL
 此例子表明:sshd服务只允许192.168.0.0网段的主机访问,其他拒绝。
六. 扩展选项:
spawn : 执行某个命令
 如:
vsftpd:192.168.0.0/255.255.255.0 :spawn echo “login attempt from %c”to %s” | mail –s warning root
 其意是党192.168.0.0网段的主机来访问时,给root发一封邮件,邮件主题是:waring,邮件内容是:客户端主机(%c)试图访问服务端主机(%s)
twist : 中断命令的执行:
vsftpd:192.168.0.0/255.255.255.0: twist echo -e "\n\nWARNING connection not allowed.\n\n" 
 其意是当未经允许的电脑尝试登入你的主机时, 对方的萤幕上就会显示上面的最后一行
七.高级用法
daemaon@host:client_list
对于多块网卡的linux主机,要想用tcp_wrappers做一些控制得基于接口:
如eth0所在的网段:192.168.0.0 eth1所在的网段:192.168.1.0
 则:
   sshd@192.168.0.11:192.168.0.
   sshd@192.168.1.34:192.168.1.
   则两句可以根据需要写到hosts.allow或hosts.deny中
典例:
/etc/hosts.allow
 sshd:ALL EXCEPT .cracker.org EXCEPT trusted.cracker.org
/etc/hosts.deny
 sshd:ALL
此例用到了EXCEPT的嵌套,其意思是:允许所有访问sshd服务,在域.cracker.org的不允许访问
但是trusted.cracker.org除外
sshd:ALL 就是拒绝.cracker.org的访问,因为默认是允许,所以在hosts.deny中必须明确定义。
 
本文: 总结、整理来自互联网

Linux tcp_wrappers 详解的更多相关文章

  1. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  2. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  3. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  4. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

  5. Linux命令详解之—cat命令

    cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...

  6. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

  7. Linux命令详解之–cd命令

    cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...

  8. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  9. Linux 系统结构详解

    Linux 系统结构详解 Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统 ...

随机推荐

  1. Webbench网站压力测试

      Webbench是有名的网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒 ...

  2. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  3. Linux_Centos使用mutt+msmtp发送邮件

    一.软件环境 1.centos 6.5 2.msmtp-1.4.32 3.Mutt 1.5.20 (2009-12-10) 二.实现步骤 1.安装配置Mutt $ yum install mutt - ...

  4. 虚拟机 vlan trunk 特性

    1. 功能 1)允许不同vlan的network下的虚拟机之间通信.一般情况下,虚拟机只能在相同vlan的网络下通信. 2)允许虚拟机发送vlan报文. 2. 组网图 虚拟机出来的tap设备连接到tb ...

  5. 详解Java中ArrayList、Vector、LinkedList三者的异同点

    转载:https://my.oschina.net/zzw922cn/blog/491631 一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数&quo ...

  6. 从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011

    在sqlserver创建计划任务的时候,保存时出现:“从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011”. 解决方法:在运行sqlserver时,使用“以管理员身 ...

  7. mac下使用minicom

    各种艰辛就不一一表过了,反正最后无奈的有捡起了minicom. 因为使用的brew,所以安装相对比较容易: brew install minicom 和Linux下一样的操作,先是查看硬件设备名称: ...

  8. MySql与Java的时间类型

    MySql的时间类型有          Java中与之对应的时间类型date                                           java.sql.DateDatet ...

  9. Linux文件目录权限浅谈

    1.基本权限三种(1)r (read) 读 针对目录,有读(r)权限就代表能对此目录有列表功能,就是可以执行ls命令进行查看,另外还有cp的功能.针对文件,有读(r)权限就代表能对此文件有阅读功能,可 ...

  10. php两种导出excel的方法

    所需要的:jquery库,phpexcel插件,页面导出excel效果测试文件explode.php,excel导出功能实现文件exp.php和explode_excel.php,文件相关内容在此文下 ...