Tcp Wrappers是在LINUX中一个很好的安全功能.要使用TCP Wrappers功
能需要配置下面2个文件.hosts.allow
和 hosts.deny.当客户端向服务器的某个应用发起连接请求时.假设连接
请求已经通过了IPTABLES.TCP Wrappers 接下来会参照hosts.allow 文件
。对比文件中设置的规则。若有匹配的规则,那连接则允许建立,若是没
有相应的匹配的规则将比对host.deny中的规则。如果,hosts.deny有匹
配的规则,连接就被禁止了。如果没有则允许建立连接。
对于HOSTS.ALLOW 和 HOSTS.DENY中的规则,有以下几点需要注意。
1。文件中的规则是一条一条往后比对,有一条匹配那后面的规则就被忽
略了,所以规则的顺序将影响访问控制。
2。在hosts.allow 和hosts.deny文件中的规则发生冲突时,hosts.deny
中的规则将被忽略。
3。tcp wrappers程序不cache以上两文件,所以以上文件中的规则做任何
的更改将马上起作用。
 
访问规则的格式:
  <daemon list>: <client list> [: <option>:.....]
e.g: vsftpd : .test.com
 
以上表示 tcp wrapprs将检测 从test.com连接到 FTP DAEMON的 连接 。
如果把 该规则放置在 host.all那 该 连接 将允许建立 。放置到
host.deny中 则是 中止该 连接请求 。
e.g: sshd : .test.com \
: spawn /bin/echo '/bin/data" from %h% access denied >>
/var/log/sshd.log \
: deny
  这个规则将记录 所有来自 test。com中的 SSH连接 ,并且 连接
danied。
关于规则设置中的通配符:
all:---匹配 所有 。可以使用到damon list 也可以使用在 client
list
local: --匹配所有的主机 (主机 名称后面没有 。)
known:---匹配 所有主机。名称 或IP地址是USER所知道的 。
unknow:--和know相反
paranoid: -- 匹配所有主机名同 IP地址 不匹配的主机 。