首先,tcpwrapper是unix上的工具,1990年就诞生了。至于它和iptables的不同,看到有人说是TCP/IP层的不同。说iptables是网络层的,tcpwrapper是应用层的。对不对,且看tcpwrapper的使用先: 部署:首选当然是用安装包,要是编译源码
开启日志:在/etc/syslog.conf里添加如下字段: 这个时候要记得重启日志服务。可以使用kill -HUP syslogd进程号的方法。 配置文件:/etc/hosts.allow (本来还有个hosts.deny的) 编写规则是“servicename:hostname[:shellcmd]”
tcpwrapper监控的是inetd里的启动服务,用telnet举例:
复制代码代码如下:
telnet:ALL
EXCEPT LOCAL, .M-gtuiw.com echo "request from %d@%h:" >> /var/log/telnet.log; if [ %h != "OS.M-gtuiw.com:" ] ; then finge -l @%h >> /var/log/telnet.log fi 意即允许除了本机和M-gtuiw.com域下主机以外的所有telnet请求,并以“请求来自服务名@主机名”的方式记录进日志。(注意:EXCEPT也可以用在servicename后面) 和iptables一样(好像说反了,其实应该是iptables和tcpd一样),这个allow和deny的规则也是讲究先来后到的,所以会有个ALL:ALL:deny收尾(如果单有deny文件,就在里头写ALL:ALL就可以了)。
调试
inetd服务配置
日志结果,直接摘抄一段: 以上说了这么多,都是unix上的,最后来一句,在linux上,xinetd就是这个inetd+tcpwrapper了。何况还有强大的iptables……它可不像tcpwrapper只能管tcp协议的服务哦~~
参考文章: |