📄 firewall-howto-7.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7"> <TITLE>防火墙和代理伺服器 - HOWTO: 安装TIS代理伺服器</TITLE> <LINK HREF="Firewall-HOWTO-8.html" REL=next> <LINK HREF="Firewall-HOWTO-6.html" REL=previous> <LINK HREF="Firewall-HOWTO.html#toc7" REL=contents></HEAD><BODY><A HREF="Firewall-HOWTO-8.html">Next</A><A HREF="Firewall-HOWTO-6.html">Previous</A><A HREF="Firewall-HOWTO.html#toc7">Contents</A><HR><H2><A NAME="s7">7. 安装TIS代理伺服器</A></H2><P><H2><A NAME="ss7.1">7.1 取得软件</A></H2><P>TIS FWTK软件可从下列网址得到∶<B>ftp://ftp.tis.com/</B>. 千万记住∶从TIS下载软件後,首先阅读README。TIS fwtk存放在伺服器的一个隐藏目录内,需要<B>发电子邮件给fwtk-request@tis.com</B> 并在信文内填入<B>SEND</B>才能得知隐藏的目录的名字。Subject栏内不必填入任何内容。在回覆的电子邮件内会告知存放软件的目录的名字,有效时间为12小时,得赶快下载。在编写本文时,FWTK的最新版本为2.0(beta)。除了几个小地方之外,这个版本在编辑时没有问题,运行时也正常,此处就以这一版本为例。如有最後定本时,将在以後的HOWTO中增订。安装FWTK时,首先在 /usr/src下建立fwtk-2.0目录。将FWTK(fwtk-2.0.tar.gz)放在这个目录内解压(tar zxf fwtk-2.0.tar.gz)。FWTK并无代理SSL的网路文件,Jean-Christophe Touvet写了一些附加资料,可从<B>ftp://ftp.edelweb.fr/pub/contrib/fwtk/ssl-gw.tar.Z</B>取得。Eric Wedel写了修订本,其中包括使用网景(Netscape)的新闻伺服器。这套软件可从下列网址取得∶<B>ftp://mdi.meridian-data.com/pub/tis.fwtk/ssl-gw/ssl-gw2.tar.Z</B>以下以Eric Wedel的版本为例。要安装,只要在/usr/src/fwtk-2.0目录内建立一个 ssl-gw目录,把文档放在其中即可。在安装这个网关时,得要作些改动才能进行编辑。首先改变ssl-gw.c档,其中遗漏了必要的include档。<PRE> #if defined(__linux) #include <sys/ioctl.h> #endif</PRE>其次,也没有Makefile档。不妨从其他网关目录拷贝一个,然後将网关的名字改为ssl-gw。<P><H2><A NAME="ss7.2">7.2 编辑TIS FWTK</A></H2><P>版本2.0的FWTK比以往任何一个版本都易于编辑。不过在编辑以前还需要对BETA版本作一些更动。希望这些更动会加附到最後定本中。修改方法如下∶首先进入/usr/src/fwtk/fwtk目录,拷贝Makefile.config.linux档,以此档替代Makefile.config档。<B>不要运行FIXMAKE</B>。虽然在说明中建议执行这个程序。但运行後会破坏每一个目录中的makefile。修改fixmake的方法是在每一个Makefile的sed指令的include行中添加‘.’和"。按下例更改,便可运行无碍。<PRE> sed 's/^include[ ]*\([^ ].*\)/include \1/' $name .proto > $name </PRE>然後需要编辑Makefile.config档,但首先得作两项修改。Makefile.config档中的source目录应改为进行编辑的/usr/src,因此FWTKSRCDIR应作相应的改变。<PRE> FWTKSRCDIR=/usr/src/fwtk/fwtk</PRE>有些Linux系统使用gdbm数据库。Makefile.config使用dbm。例如,RedHat 3.0.3就使用dbm,因此需要作出相应更动。<PRE> DBMLIB=-lgdbm</PRE>最後需要改x-gw。BETA版内socket.c中的下列数行必需删除。<PRE> #ifdef SCM_RIGHTS /* 4.3BSD Reno and later */ + sizeof(un_name->sun_len) + 1 #endif</PRE>如在FWTK源目录中添加ssl-gw,则在Makefile的目录单中也要加上ssl-gw。<PRE> DIRS= smap smapd netacl plug-gw ftp-gw tn-gw rlogin-gw http-gw x-gw ssl-gw</PRE>完成上述修改後,运行<B>make</B>。<P><H2><A NAME="ss7.3">7.3 安装TIS FWTK </A></H2><P>运行<B>make install</B>。默认的安装目录是/usr/local/etc。可以改到更加安全可靠的目录进行安装,但也可以不改,也可将其特权改为chmod 700。现在开始设定防火墙。<P><H2><A NAME="ss7.4">7.4 设置TIS FWTK</A></H2><P>好!下面就比较有趣了!设定的系统要能调用这些新功能,并建立管制表管理这些功能。以下的说明并不是为了要重写TIS FWTK的使用手册,其目的只是为了显示可行的设定、可能遇到的问题和解决的办法。有三个文档组成这些controls。<P><UL><LI>/etc/services<UL><LI>告诉系统所定功能在何埠号</LI></UL></LI></UL><UL><LI>/etc/inetd.conf<UL><LI>当服务埠有动作时告诉inetd启动那个程式</LI></UL></LI></UL><UL><LI>/usr/local/etc/netperm-table<UL><LI>告诉FWTK同意和拒绝来往的用户</LI></UL></LI></UL>要FWTK发挥作用,应彻底编辑这些档案。编辑这些功能档而不正确设定 inetd.conf或netperm-table,可能使系统完全无法作用。<P><H3>netperm-table档</H3><P>这个档控制何人可以使用TIS FWTK的功能。首先应该想到防火墙两边的需求。网路外面的用户在进入网路之前应首先表明身份,但网路内部的用户则可直接通过。在表明身份时,防火墙使用一个称为<B>authsrv</B>的程式,其中存有用户的ID和密码。netperm-table中的authentication部分控制这一数据库存放何处和谁可取用。要不让人取用这一功能并不容易,在premit-hosts这一行中使用“*”,以致每人都能取用这一功能。这一行的正确设定应该是“<CODE>authsrv: premit-hosts localhost</CODE>”,但似乎不起作用。<PRE> # # Proxy configuration table: 代理伺服器设置表 # # Authentication server and client rules authsrv: database /usr/local/etc/fw-authdb authsrv: permit-hosts * authsrv: badsleep 1200 authsrv: nobogus true # Client Applications using the Authentication server *: authserver 127.0.0.1 114</PRE>要启动数据库,以root在/var/local/etc内运行<B>./authsrv</B>,设立管理者的使用记录。实际操作如下∶阅读FWTK文档了解如何添加用户和用户组。<PRE> # # authsrv authsrv# list authsrv# adduser admin "Auth DB admin" ok - user added initially disabled authsrv# ena admin enabled authsrv# proto admin pass changed authsrv# pass admin "plugh" Password changed. authsrv# superwiz admin set wizard authsrv# list Report for users in database user group longname ok? proto last ------ ------ ------------------ ----- ------ ----- admin Auth DB admin ena passw never authsrv# display admin Report for user admin (Auth DB admin) Authentication protocol: password Flags: WIZARD authsrv# ^D EOT #</PRE>Telnet的网关(tn-gw)控制直接了当,应首先设定。例如,允许在保护网路内的用户不表明身份直接通过(permit-hosts 196.1.2.* -passok)。但其他用户必需提供用户ID和密码才可使用代理伺服器(permit-hosts * -auth)。此外,有一个系统(196.1.2.202)也可直接使用防火墙。这只要设定inetacl-in.telnetd的内容即可。Telnet的timeout时间应该短暂。<PRE> # telnet gateway rules: tn-gw: denial-msg /usr/local/etc/tn-deny.txt tn-gw: welcome-msg /usr/local/etc/tn-welcome.txt tn-gw: help-msg /usr/local/etc/tn-help.txt tn-gw: timeout 90 tn-gw: permit-hosts 196.1.2.* -passok -xok tn-gw: permit-hosts * -auth # Only the Administrator can telnet directly to the Firewall via Port 24 netacl-in.telnetd: permit-hosts 196.1.2.202 -exec /usr/sbin/in.telnetd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -