TCP_Wrapper防火墙的安装与配置
#1?牐犚弧⒐ぷ髟?
?牐牭毕低呈盏椒袂肭笫保舳痶cpd进程,由tcpd进程检查客户机IP地址是否与/etc/hosts.allow文件和/etc/hosts.deny文件中的IP地址匹配,从而判断对服务请求是否拒绝。同时还记录到syslog文件中。
#1?牐牰?安装
?牐牨疚囊許CO OpenServer为例安装TCP_Wrapper。将TCP_Wrapper软件包解压缩到任一目录中,例如/tmp/tcp_wrapper,输入:
?牐爐ar xvf tcp_wrappers_7.6.tar
?牐犛胿i打开Makefile文件,修改#REAL_DAEMON_DIR=/etc行,将前面的注释符#去掉,然后输入:
?牐爉ake SYS-type
?牐燬YS-type是系统类型。如make sco-os5。其它系统类型参阅Makefile文件。等编译完成后,会有tcpd等可执行文件。首先用tcpdchk检查tcpd是否有问题,若有,则列出警告信息,需要重新编译,直到无任何警告为止。Tcpdmatch在本文后面介绍。
#1?牐犎⑴渲?
?牐犜?/etc目录下创建hosts.allow(允许访问)和hosts.deny(拒绝访问)文件。文件格式为每行两个域,用冒号分隔开,如:service-list: host-list。这两个文件的格式是相同的。关键字ALL用在service-list域表示匹配所有的服务,用在host-list域表示匹配所有的IP地址。关键字LOCAL只能放在host-list域,表示匹配本地所有主机名。在hosts.deny文件中写入:
?牐燗LL: ALL
?牐牭谝桓鯝LL表示所有网络服务,第二个ALL表示所有主机。例如,在hosts.allow文件中写入:
?牐爁tpd,telnetd,rlogind:192.168.0.10
?牐牭谝桓鲇蛞部捎肁LL关键字代表所有服务。这两个文件表示除192.168.0.10可以使用ftp、telnet及rlogin外,其它主机的网络服务请求均被拒绝。
?牐牻沧肮讨斜嘁牒玫膄tpd移动到/etc目录中,编辑/etc/inetd.conf文件,将相应服务的第六个域改为/etc/tcpd。例如:
?牐爁tp stream tcp nowait root /etc/ftpd ftpd 修改为
?牐爁tp stream tcp nowait root /etc/tcpd ftpd
?牐牭谄吒鲇虮硎就绶窠堂啤F渌褂衪elnetd,fingerd,rlogind等等,只须将第六个域都改为/etc/tcpd即可。
#1?牐犓摹⑹褂?
?牐犈渲猛瓿珊螅匦缕舳痶cp协议或重启系统,使配置生效。例如:
?牐?#tcp stop
?牐?#tcp start
?牐犑褂胻cpdmatch,可以检查某个IP是否允许某些服务。例如,本机IP为192.168.0.1,检查192.168.0.10是否允许用ftp访问本机,输入:
?牐?#./tcpdmatch ftpd 192.168.0.10
?牐燾lient:address 192.168.0.10
?牐爏erver:process ftpd
?牐爉atched:/etc/hosts.allow line 1(匹配:/etc/hosts.allow文件第一行)
?牐燼ccess:granted (访问:允许)
?牐牸觳?192.168.0.200是否允许用telnet访问本机:
?牐?#./tcpdmatch telnetd 192.168.0.200
?牐燾lient:address 192.168.0.200
?牐爏erver:process telnetd
?牐爉atched:/etc/hosts.deny line 1(匹配:/etc/hosts.deny文件第一行)
?牐燼ccess:denied(访问:拒绝)
?牐犕保绶梦始锹嫉絪yslog文件中。syslog文件的位置,请查阅/etc/syslog.conf文件。在SCO OpenServer中为/usr/adm/syslog。打开这个文件,记录了网络服务连接。通过经常查看syslog文件,可以掌握本机的网络安全状况。下面是一个syslog文件的示例:
?牐燤ar 18 11:25:55 myhost fingerd[1511]: refused connect from 192.168.0.10(拒绝finger连接)
?牐燤ar 18 11:26:35 myhost fptd[1512]: connect from 192.168.0.10(允许ftp连接)
?牐燤ar 18 11:28:11 myhost rlogind[1513]: connect from 192.168.0.10(允许rlogin连接)
?牐燤ar 18 16:06:12 myhost telnetd[1850]: connect from 192.168.0.10 (允许telnet连接)
#1?牐犖濉⒑蠹?
?牐犜诓煌南低持校承┑胤娇赡芑嵊行┎钜臁1热纾赟CO OpenServer中ftp守护进程名是ftpd,在UnixWare中的名称却是in.ftpd;还有就是syslog文件的位置可能也不尽相同,这些都是需要注意的地方。虽然使用TCP_Wrapper可以提高网络安全性,但是这种仅仅靠设置IP地址的访问控制技术,也不是绝对可靠的,千万不可因此而感到高枕无忧。对此软件感兴趣的朋友可以到http://www.kl.gz.cn/~wtn/tcp_wrappers_7.6.tar下载。