TIS防火墙详述
什么是防火墙——不知道;)什么是TIS?——这是一组由(Trusted Information Systems)写的一组构造防火墙的工具
包,又叫firewall toolkit,这个工具箱里的软件适当的安装并配置以一定的安全策略
就可以构成基本的防火墙了,而且它是免费的;)花点心思看一看,说不定可以省下一笔不
菲的防火墙购置资金哦……
一、编译运行
1、下载
可以到TIS的web站点下载http://www.tis.com,但它有一些很麻烦的认证过程,建议
直接到国内的安全站点转转,或者到http://packetstorm.securify.com/去下载,我
得到的版本是fwtk2.1.tar.Z的版本,此后的说明均以此版本为例,且在solaris7 x86
上通过,gcc版本为2.95.2。
2、编译
# gunzip fwtk2.1.tar.Z
# tar vfx fwtk2.1.tar
# cd fwtk
将fwtk2.1.tar.Z解压后,可以在./fwtk目录下发现有很多Makefile.config.*文件,
比如你使用的操作系统是solaris2.7,那么就直接将Makefile.config更名后,把
Makefile.config.solaris更名为Makefile.config就行了。
# mv Makefile.config Makefile.config.old
# mv Makefile.config.solaris Makefile.config
在solaris下的编译相当容易——至少solaris7与solaris8下面不用修改任何东西就
可以编译通过了。
# make && make install
如果你使用的是linux,仅仅把Makefile.config.linux当成当前Makefile.config还
不够,因为如果你要使用X的gw.那么你必须有 Athena Widget的设置。否则编译会
出问题。因此,可以修改Makefile让系统不编译x-gw。
所以可以
# vi Makefile
查找下面这行:
# directories to build executables in
DIRS= smap smapd netacl plug-gw ftp-gw tn-gw rlogin-gw http-gw x-gw
把后面的x-gw去掉就可以了。
如果是在bsd下,特别要注意,bsd的make 不认识象:.include "Makefile.config"
这种格式,因此,在bsd下要用TIS提供的fixmake来处理。或者用指定
CC= gcc
COPT= -g -traditional -DBSDI
来适应bsd系统——比如我的FreeBSD3.4。
如果在编译过程中有出现sys_errlist的定义声明出错,那么要修改原程序,比如:
exter char *sys_errlist[];
把该行注释掉。
如果出现"Undefined symbol `_crypt' referenced from text segment"错误,则
看在你的Makefile.config中AUXLIB设置是否有"-lcrypt"。
如果还有问题……我懒得翻译那么多东西了,你可以到下面的URL看看:
http://fwtk.netimages.com/fwtk/faq/
这里列出了人们在编译及使用tis时遇到的一些常见问题。
二、配置前的准备工作
1、理解一些概念
a、wrapper
我的理解,wrapper应该是一个包装程序,说白了和那些login什么的后门没本质区别;)
比如说tcpd吧,我们用它来守护一些网络服务守护进程,比如,在超级服务守护进程
inetd的配置文件中,我们可以将
finger stream tcp nowait nobody /usr/etc/in.finger in.fingerd
这一句替换掉,用tcpd来包装
finger stream tcp nowait nobody /usr/etc/tcpd in.fingerd
发送一个HUP信号给inetd让它重启后,tcpd就发生作用了,如果此时收到一个对主机的
finger请求,tcpd便启动,先检查访问控制的配置文件,也就是/etc/hosts.allow和
/etc/hosts.deny,如果允许访问,再启动真正的finger守护进程去处理该请求。
怎么样,和login的后门相比原理是不是相同的?比如ulogin.c吧,是将真正的login改
名备份到另一个地方,用假的login包装起来,收到login请求时,先判断访问者是不是
有设置DISPLAY的环境变量,如果该变量和password相同的话,则启动/bin/sh,如果没
有,则以正常的login来响应该请求……哎,这是题外话,不说了……
b、gateway
应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。
它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包
进行必要的分析、登记和统计,形成报告。
呵,这种教材似的东西看着是不是觉得难理解,看了半天不知所云?其实在TIS下面,它
的各种gw比如tn-gw,是控制telnet的,当你连接到tn-gw运行的端口时,它会出现一个
自己的提示符……如下:
C:\>telnet 192.168.0.2
然后telnet窗口将出现
hi,i'm quack,welcome to my 3cr19TkI7's website! <------------这是我的tn-welcome.txt
tn-gw-> 它会在在连接时显示……
当我键入问号寻求帮助时,会有如下的提示信息……
tn-gw->?
Valid commands are: (unique abbreviations may be used)
connect hostname [serv/port]
telnet hostname [serv/port]
x-gw [hostname/display]
help/?
password
timeout seconds
quit/exit
tn-gw->
看明白了吗,唔,没错,它提供的是穿越这台防火墙主机对其它机器的telnet访问;)
tn-gw-> telnet 192.168.0.2 55555
Trying 192.168.0.2 port -9981...
Connected to 192.168.0.2.
SunOS 5.7
login: quack
Password:
Last login: Fri Jun 9 00:27:48 from 192.168.0.1
Sun Microsystems Inc. SunOS 5.7 Generic October 1998
Cracker%
这下清楚了吧……稍安勿燥,后面我将说明这是如何配置的。
c、proxy
代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP
Tunnels),也有人将它归于应用级网关一类。它是针对数据包过滤和应用网关技术存在
的缺点而引入的防火墙技术,其特点是将所有跨越防火墙的网络通信链路分为两段。防
火墙内外计算机系统间应用层的"链接",由两个终止代理服务器上的"链接"来实现,外
部计算机的网络链路只能到达代理服务器,从而起到了隔离防火墙内外计算机系统的作
用。此外,代理服务也对过往的数据包进行分析、注册登记,形成报告,同时当发现被
攻击迹象时会向网络管理员发出警报,并保留攻击痕迹。
2、文件介绍
默认的安装,TIS是安装在/usr/local/etc目录下的,现在我们来看看里面都有些什么吧
# cd /usr/local/etc
# ls -la
总数1092
drwxr-xr-x 2 root other 512 6月 6 17:05 .
drwxr-xr-x 11 root other 512 6月 6 17:02 ..
-rwxr-xr-x 1 root other 17012 6月 6 17:05 authdump
-rwxr-xr-x 1 root other 18752 6月 6 17:05 authload
-rwxr-xr-x 1 root other 23132 6月 6 17:05 authmgr
-rwxr-xr-x 1 root other 47500 6月 6 17:05 authsrv
-rwxr-xr-x 1 root other 50952 6月 6 17:05 ftp-gw
-rwxr-xr-x 1 root other 117712 6月 6 17:05 http-gw
-rwxr-x--- 1 root other 362 6月 6 17:05 mqueue
-rwxr-xr-x 1 root other 26820 6月 6 17:05 netacl
-rw-r--r-- 1 root other 3101 6月 6 17:05 netperm-table
-rwxr-xr-x 1 root other 30308 6月 6 17:05 plug-gw
-rwxr-xr-x 1 root other 45892 6月 6 17:05 rlogin-gw
-rwxr-xr-x 1 root other 31436 6月 6 17:05 smap
-rwxr-xr-x 1 root other 28772 6月 6 17:05 smapd
-rwxr-xr-x 1 root other 49940 6月 6 17:05 tn-gw
-rwxr-xr-x 1 root other 44792 6月 6 17:05 x-gw
一个一个来解释吧……
a.authdump:这是对TIS认证数据库进行管理的工具,它可以在数据库中建立信息的
ASCII文本形式的备份。其中的密码是加密后输出的。
b.authload:也是认证数据库管理工具,它对数据库中的单个记录进行处理,这个命
令在你需要向数据库中添加一组条目或者需要在两个站点之间共享数据库时特别有
用。
c.authmgr:网络认证的客户程序,它是与认证方authsrv的接口。是用来访问网络上
的认证服务器或者加密连接时用的。
d.authsrv:第三方网络认证守护程序,它提供了多种谁形式的综合接口,比如口令、一
上一个:局域网中代理服务器、路由器的配置案例
下一个:如何编译并安装Squid