TCP Wrappers配置(下)。

 

 

在上所示内容是/etc/hosts.allow中配置的一个例子,其中。

①:阻止192.168.0.0/24网段的所有客户端访问本机的telnet服务。

②:允许192.168.0.0/24网段的所有客户端访问本机的ssh服务。如果在/etc/hosts.deny中没有定义任何与sshd相关规则的情况下此配置没有意义,因为根据TCP Wrappers规则生效的原则,假设有一个IP地址为192.168.1.100的客户端访问本机ssh服务时,会因为在/etc/hosts.allow/etc/hosts.deny都无匹配记录而正常通过TCP Wrappers检查。

 

TCP Wrappers执行外部命令

可以在选项中使用spawn参数让TCP Wrappers执行一些外部命令。比如在/etc/hosts.allow文件中增加如下内容后,当TCP Wrappers阻止连接后,将相关信息写入到/var/log/example.log文件中,其中“%”开头的是TCP Wrappers传递给外部命令的一些变量(常见变量见下)。

sshd:ALL:spawn (/bin/echo %a from %h attempted to access %d >>     \

/var/log/tw.example):deny

变量名

含义

%c

访问的客户端信息(user@host)

%s

访问的服务器端信息(server@host)

%h

访问的客户端的FQDN(如果可以DNS反向解析)

%p

服务器PID

 

TCP Wrappers排除

/etc/hosts.allow/etc/hosts.deny中指定客户端时,可使用EXCEPT参数在一个范围内排除指定客户端。比如在/etc/hosts.allow文件中增加如下内容后,将TCP Wappers将允许所有的客户端访问ssh服务,但不包括192.168.0.100。不过要注意这里被排除的192.168.0.100并不表示阻止其访问ssh服务,因为根据TCP Wrappers规则生效的原则,如果在/etc/hosts.deny中没有明确阻止192.168.0.100访问的情况下,192.168.0.100还是可以访问本机的ssh服务。

sshd:ALL EXCEPT 192.168.0.100

EXCEPT参数还可以嵌套使用,比如下面的例子中在/etc/hosts.allow文件中增加如下内容后表示允许所有客户端访问本机ssh服务,但DNS后缀为.example.com(不包括server.example.com)的客户端排除。

sshd:ALL EXCEPT .example.com EXCEPT server.example.com

 

 

你可能感兴趣的:(linux,职场,休闲,onlyzq,tcpwrappers)