⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firewall-howto-7.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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        &lt;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 &quot;Auth DB admin&quot;
    ok - user added initially disabled
    authsrv# ena admin
    enabled
    authsrv# proto admin pass
    changed
    authsrv# pass admin &quot;plugh&quot;
    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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -