Tcp_Wapper被设计为一个介于外来服务请求和系统服务回应
的中间处理软件。最常见的用法是与inetd一起使用。当Inetd接收到一个外来服务请求的时候,并不是直接调用,而是调用TCP Wrapper,TCP Wrapper根据这个所请求的服务和针对这个服务所定制的存取控制规则来判断对方是否有使用这个服务的权限,如果有,
TCP Wrapper将该请求按照配置文件定义的规则转交给相应的守护进程去处理同时记录这个请求动作,然后自己就等待下一个请求的处理。
为了配置TCP wrappers,用户需要在两个文件里接受或拒绝连接的标准:/etc/hosts.allow和
/etc/hosts.dent。前一个文件定义计算机允许的访问,后一个文件指定应该拒绝的连接。如果某个系统同时出现在两个文件里,
hosts.allow是优先的。如果某个系统没有出现在任何一个文件里,TCP Wrappers会允许它进行连接。另外,如果运行最严格的
TCP Wrappers安全,用户可以在/etc/hosts.deny文件力包含一行“ALL:ALL”,它会禁止所有由TCP Wrappers处
理的输入访问。然后用户就可以在/etc/hosts.allow里为特定客户程序打开服务程序的端口。
/etc/hosts.allow和/etc/hosts.dent的格式是完全一样的,当然同样的项目在两个文件中具有相反的作用。这些项目的基本格式是:
Service-names :client-list [:shell-command]
请看如下两个文件
# vi /etc/hosts.deny
all:all
(注:禁止所有TCP Wrappers处理的输入访问)
# vi /etc/hosts.allow
telnetd:10.65.69.157 10.65.70.
ftpd: 10.65.69. EXCEPT 10.65.69.1
(注: Telnet telnetd行告诉TCP wrappers接受来自于10.65.69.157机器及10.65.60.0/24网段的telnet连接.
Ftp ftpd告诉TCP wrappers接受来自于10.65.690/24网段中除10.65.69.1之外的所有计算机的FTP连接。
也许10.65.69.1是路游器或其他不应该做FTP客户端的主机),修改这两个文件不用重新启动xinetd进程的,会直接生效的。)
5、检测的方法
检测tcp_wrapper 是否正常work
(1)#./tcpdchk –v
Using network configuration file: /etc/inetd.conf
>;>;>; Rule /etc/hosts.allow line 1:
daemons: telnetd
clients: 10.65.69.157 10.65.70.
access: granted
>;>;>; Rule /etc/hosts.allow line 2:
daemons: ftpd
clients: 10.65.69. EXCEPT 10.65.69.1
access: granted
>;>;>; Rule /etc/hosts.deny line 1:
daemons: ALL
clients: ALL
access: denied
(2)# tcpdmatch telnetd 10.65.69.157
client: address 10.65.69.157
server: process telnetd
matched: /etc/hosts.deny line 1
access: denied
(3)# tcpdmatch telnetd 10.65.69.199
client: address 10.65.69.199
server: process telnetd
matched: /etc/hosts.deny line 1
access: denied