📄 00000001.htm
字号:
<BR>3.3. 设定网路位址 <BR> <BR> 这是很有趣的一部份。因为我们不希望Internet直接Access我们的网路, 所以 <BR>不必使用真实位址。一个不错的选择是C Class的192.168.2.xxx, 它是设定来做测 <BR>试的dummy domain。所以放心大胆的用它吧! 没人会跟你抢的。在我们的设定中, <BR>只需要一个真实的位址, 其他的自设就可以了。指定连上PPP 的串列埠一个真实IP <BR>位址, Firewall上的Ethernet卡设为192.168.2.1, 将其他电脑设为192.168.2.xxx。 <BR> <BR>3.4. 测试看看 <BR> <BR> 试著从Firewall上ping一个Internet上的Node。我使用nic.ddn.mil做为测试点 <BR>。[ 译注: 在国内可以ping edu.tw 看看 ]如果不行, 查查你的PPP 有没有设好, <BR>仔细的读一下Net-2 HOWTO, 再试一次。 <BR> <BR> 现在, 试著ping保护网路内的电脑, 所有网路内的电脑应该可以ping其他任何 <BR>一台电脑, 如果不行, 老话一句, 看看NET-2 HOWTO 再试一次。接著, 所有在保护 <BR>网路内的机器应该都可以ping Firewall。若不行, 再重覆以上步骤, 记得, 你该 <BR>ping 192.168.2.1, 而非PPP 的真实IP位址。 <BR> <BR> 然後试著从Firewall里的电脑去ping PPP的IP位址, 如果可以, 表示你IP <BR>Forwarding的功能未取消, 你必须重新compile kernel。虽然我们已经把受保护的 <BR>网路设为192.168.2.1 domain, 不会收到来自Internet的封包, 可是把IP Forwarding <BR>关掉还是比较保险一点, 可以自己主控全局而非仰赖ISP。 <BR> <BR> 最後, 从Firewall上ping一下受保护的网路内的机器, 到这个地步, 应该不会 <BR>有什麽问题。到这里, 我们已经完成了最基础的Firewall安装。 <BR> <BR>3.5. Firewall的安全性 <BR> <BR> 目前的Firewall还不够好, 因为它还敞开著大门等待别人来攻击。首先, 找到 <BR>/etc/inetd.conf, 它又被称为"super server", 因为在上面有超过一打的server <BR>daemon被执行。例如: <BR> <BR>o Telnet <BR>o Talk <BR>o FTP <BR>o Daytime <BR> <BR> 取消所有不需要的功能, 例如netstat、systat、tftp、bootp、finger。甚至 <BR>你可以关掉telnet只允许rlogin或vica-versa。你只要在该功能前加上# 就可以轻 <BR>易的把它取消掉。利用kill -HUP <pid> 送出一个SIG-HUP给inetd, 使inetd 重新 <BR>去读取我们刚才改的设定(inetd.conf)同时restart。试试telnet Firewall的port <BR>15(netstat port), 如果你还读得到netstat的资料, 表示你没有正确的restart <BR>inetd。[译注: 如果还搞不定, 考虑reboot吧!] <BR> <BR>4. Firewall软体 <BR> <BR>4.1. 可用的套装软体 <BR> <BR> 单纯的Firewall除了Linux核心及基本网路套装软体(inetd, telnetd和telnet, <BR>ftpd和ftp)外不需外加任何软体, 但这种情况下, 限制极多而且不太好用。所以有 <BR>些软体可以使你的Firewall更有用, 我最主要要探讨的是一个叫"socks"的Proxy <BR>Server。另外, 有两个软体你可以记在心中, 我等一下会简单介绍。 <BR> <BR>4.2. TIS Firewall Toolkit <BR> <BR> TIS 中有一套程式用来进行Firewalling, 这些程式和socks基本上相同, 但采 <BR>用了不同的设计策略。socks是用一个程式来搞定所有的Internet动作, TIS 则利 <BR>为不同的功能发展不同的程式。 <BR> <BR> 为了明白说明起见, 就以World Wide Web和telnet作例子吧! 在socks中, 你要 <BR>设定一个config档和一个daemon, 透过这个档案及daemon, telnet及www可以正常使 <BR>用, 就宛如你没把它们关掉前一样。 <BR> <BR> 而在TIS toolkit中, 你要为WWW and Telnet各设一个daemon及config档。完成 <BR>之後, 其他的Internet Access仍被禁止, 直到你完成其设定为止。如果某一特定功 <BR>能没有daemon(如talk), 你可以使用"plug-in"的daemon, 只是不像其他的工具那样 <BR>有弹性且不易使用罢了。 <BR> <BR> 这里似乎有一点小小的不同, 不过会造成很大的不同——socks 允许你随便设 <BR>设就上路, 不过一个设定不良的Socks server, 网路内部的人可以试著得到超出预 <BR>期的Internet Access权。而TIS toolkit中, 人们只能使用系统管理者所赋与的权 <BR>限。 <BR> <BR> Socks易於安装、易於complie且具有较大的弹性。如果你想严格控制网路内的 <BR>使用者, 则TIS toolkit的安全性较佳。但二者都提供了对外的绝对保护。 <BR> <BR>4.3. TCP Wrapper <BR> <BR> TCP wrapper不是一个Firewalling工具, 但它提供了许多相同的效果。透过 <BR>TCP wrapper, 你可以控制谁有权Access你的机器和Access那些服务, 同时可以追 <BR>踪连线的记录, 而且它还提供了一个基本的侦测伪装功能。 <BR> <BR> TCP wrapper基於一些理由, 并未广泛的运用: <BR> <BR>o 它不算是一个真的Firewall <BR>o 要使用它, 你必须要连上Internet, 因此你得有一个IP 位址 <BR>o 它只控制安装它的「机器」, 对「网路」不能提供很好的服务。Firewall则可以 <BR> 保护每一个架构上的每一个机器。TCP wrapper在Mac及MS Windows机器无法使用 <BR> <BR>4.4. IPfw 和 IPfw Admin <BR> <BR> <BR>5. Proxy Server <BR> <BR>5.1. 安装Proxy Server <BR> <BR> Proxy Server需要额外的软体, 你可以从<A HREF="ftp://sunsite.unc.edu/pub/Linux/">ftp://sunsite.unc.edu/pub/Linux/</A> <BR>system/Network/misc/socks-linux-src.tgz得到你要的宝贝。在sock-conf下同时 <BR>有一个config档□例。解压之後, 跟著指示把它make起来, 我在make时遇到了一箩 <BR>筐的问题, 确定你的Makefile正确无误。一件要注意的是记得把Proxy Server加到 <BR>/etc/inetd.conf里, 你可以加入下行: <BR> <BR>socks stream tcp nowait nobody /usr/local/etc/sockd sockd <BR> <BR>5.2. 设定Proxy Server <BR> <BR> socks的程式需要两个configuration档。一个说明那些Access是被允许的, 另 <BR>一个则是把请求route到适当的Proxy Server。Access档必须设在server上。而 <BR>routing档则要装在每部Un*x机器上。DOS 和mac的机器会进行它们自己的routing。 <BR> <BR>5.2.1. Access档 <BR> <BR> 在socks4.2 Beta中, Access档称为"sockd.conf", 应该包括两行, 一行允许 <BR>的(permit), 一行是禁止的(deny), 每行有三个项目: <BR> <BR>o 识别字(permit/deny) <BR>o IP位址 <BR>o 位址修正值(位址 modifier) <BR> <BR> 识别字不是permit就是deny, 应该要有一行permit、一行deny。IP位址采用 <BR>Internet上的标准记法, 例如192.168.2.0。 位址修正值也是采IP位址的格式, 而 <BR>有netmask 的效果。把它想像成一个三十二位元的二进位数, 若该位元为1, 表示 <BR>在做位址比较时, 此一位元必须和之前IP位址那一项的该位元相符。例如: <BR> <BR> permit 192.168.2.23 255.255.255.255 <BR> <BR>意思是只有192.168.2.23算是相符, 而 <BR> <BR> permit 192.168.2.0 255.255.255.0 <BR> <BR>会允许192.168.2.0到192.168.2.255间的IP 位址, 即整个C Class domain。如果 <BR>你加入下行: <BR> <BR> permit 192.168.2.0 0.0.0.0 <BR> <BR>则代表你是来者不拒了。所以先允许你要开放权限的位址, 再拒绝其他的位址。例如: <BR> <BR> permit 192.168.2.0 255.255.255.0 <BR> deny 0.0.0.0 0.0.0.0 <BR> <BR>会允许所有的192.169.2.xxx, 注意deny行里的"0.0.0.0" 使用了0.0.0.0做修正, <BR>"0.0.0.0"并没什麽特殊用意, 修正值就拒绝了所有的位址, 用0只是因为打字方便 <BR>罢了, 你要用255.255.255.255 也没人拦著你。除这两行外, 你还可以加上额外的 <BR>限制。 <BR> <BR> 你也可以permit或deny某一特定的user, 但这需要"ident authenticaiont", <BR>并非所有的系统都有此一功能, 像Trumpet Winsock 就没有, 所以我就不再深入研 <BR>究, 以上所做的讨论应该已经足够了。 <BR> <BR>5.2.2. Routing档 <BR> <BR> Routing档称作"socks.conf", 很容易跟Access档搞混。Routing档用来告诉 <BR>socks clients何时用socks , 何时不用。例如, 在我们的网路上, 192.168.2.3 <BR>和192.168.2.1 (Firewall) talk时就用不到socks , 它们直接用Ethernet相连。 <BR>因为系统自动定义127.0.0.1作为回路之用, 你和自已talk时当然也不需socks。 <BR>档案中有三个项目: <BR> <BR>o deny <BR>o direct <BR>o sockd <BR> <BR> Deny指示何时要拒绝请求, 它的语法和sockd.conf同。一般来说, 把修正值 <BR>设为0.0.0.0 就可以轻易挡掉所有的外来者。direct项指出那些位址不必用到 <BR>socks , 即不必透过Proxy Server就可连到的地方。同样有三栏, 识别字、IP位 <BR>址和位址修正值, 例如: <BR> <BR> direct 192.168.2.0 255.255.255.0 <BR> <BR>这使我们可以在保护网路内直接通行。sockd 项说明那些电脑上有socks server <BR>daemon在执行, 语法是: <BR> <BR> sockd @=<serverlist> <IP address> <modifier> <BR> <BR>注意"@="那一栏, 它让你列出一堆Proxy Server的IP位址。在我们的例子里, 我们 <BR>只用一台Proxy Server, 但你可以多设几个好容纳高负载, 同时减少故障停摆的风 <BR>险, IP位址和修正值用法同前。 <BR> <BR>5.2.3. Firewall内的DNS <BR> <BR> 相较之下, 在Firewall内安装DNS 是很简单的事, 只要在Firewall的机器上装 <BR>个DNS , 并且将Firewall内的机器DNS 设定改成它就行了。 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -