分享
 
 
 

Proxy&Firewall手册

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

用Linux 有一阵子了, 玩Linux 久了的人都知道在GNU 的世界里, 不必花费一毛钱, 就有程式可以抓、有文件可以看。抓多看多了, 就不得不感佩这群Linux 奇迹幕后的无名英雄, 不像一些软体帝国主义者, 一心只想用软体捞钱, 而无私的贡献自己的心血给大家分享。刚好最近在研究Firewall, 就「顺手」把它翻成中文, 让大家分享我研读的心得, 试著追随那些软体乌托邦理想家的脚步。庆幸原文作者的笔法还算浅显易懂, 但有些地方写得相当简要, 所以译文中不免有部份属个人的揣测推敲, 如果你发现任何地方有疑问, 欢迎来信指教。

( jeffrey@linux.im.ntit.edu.tw )

本文将简单的教你如何在Linux 上安装Firewall, 同时也会提到Proxy Server的安装及使用, 藉著Proxy Server使在Firewall后方的人对于Internet也能拥有比较大的Access权限。

1. 介绍

这一阵子, Firewall成了Internet保全上的热门话题, 但也造成了许多人对它的误解。这篇HOWTO 将会探讨什么是Firewall?如何安装?何谓Proxy Server?如何设定Proxy Server?以及这些技术除了安全以外的新应用。

1.1. 读者回响

欢迎给我任何意见, 我尤其想知道Macintosh 使用者的意见, 我在这方面的资讯不多, 「如果发现这篇文章中有任何错误, 请务必通知我」。人非圣贤, 孰能无过嘛! 如果你有发现任何错误, 请通知我, 我会很乐意去更正它的。我会试著去回覆所有的来信, 不过我挺忙的, 不要对我太苛求。我的EMAIL地址是drig@execpc.com.

[译注: 我也绝对欢迎任何意见, 请寄到jeffrey@linux.im.ntit.edu.tw]

1.2. 严正声明

这份文件将介绍Firewall及Proxy Server的原理, 我无意装作是个网路安全专

家, 我只是个读得多而且爱电脑胜过爱人类的家伙。在此声明, 我不对任何依本文所做行为所造成的损害负任何责任( I AM NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THIS DOCUMENT. ) 我只是想藉这篇文章去帮助你熟悉这个主题, 而非要穷毕生之力来研究它。

1.3. 版权宣告

除非另有声明, Linux HOWTO文件的版权归原作者所有。Linux HOWTO文件可以

重制及散布其全部或部份在任何媒体上, 只要完整保留此一版权宣告。允许也欢迎商业性的散布行为, 但应先知会作者。

所有对Linux HOWTO 文件的翻译、修正、整理必须包含此版权宣告。亦即, 你

不能修改本文件却在转手散布时加诸额外的条件限制。如有异议请连络Linux HOWTO coordinator, 地址在下面。我们希望此一资讯能从愈多管道散愈好, 不过我们仍希望能保留HOWTO文件的版权, 如有任何散布计划, 请通知我们。

如有任何问题, 请连络David Rudder, 译文作者是Jeffrey Lee

[译注: 我觉得这一段比技术性的本文还难翻, 而且有其法律上的重要性, 所以原文附上, 若中文语意和原文有所出入, 以原文为准。

Unless otherwise stated, Linux HOWTO documents are copyrighted by

their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

If you have any questions, please contact David Rudder . ]

1.4. 写这篇文章的动机

过去一年来在comp.os.linux 论坛上有一大堆人在求救, 寻求Firewall方面的协助, 似乎也没有什么人要回答。我猜是没人知道要怎么回答吧! 所以我花了一点时间玩了玩Firewall, 写这篇文章来回应那些需求。

1.5. 尚待努力方向

o 学习Macintosh的做法

o 学习不同的Windows TCP/IP套装软体

o 找个好用的UDP Proxy Server和Linux搭配

1.6. 深入研究时的参考资料

o TIS Firewall Toolkit文件

o NET-2 HOWTO

o PPP HOWTO

o Ethernet HOWTO

o MultIPle Ethernet Mini HOWTO

o Networking with Linux

o TCP/IP Network Administrators Guide by OReilly and Associates

Firewall Toolkit by TIS 有一套很棒的文件, 其中有谈到Firewall及相关的资料, 至于Firewall Toolkit的进一步说明, 请看Firewall软体那一节。

2. 了解Firewalls

Firewall原来是汽车上的一个术语, 它用来隔离引擎和乘客, 在引擎爆炸时可以发挥保护乘客的功能。电脑上的Firewall是一个逻辑装置, 用来保护私人的区域

不受公用部份的侵害, 做法是:

1. 找一部有Routing能力的电脑(例如Linux)

2. 加入两个界面(例如: 序列埠、Ethernet、Token Ring等等)

3. 关掉IP forwarding的功能

4. 把其中一个界面接上Internet

5. 把受保护的网路接在另一个界面上

现在你使电脑接到两个不同的网路上。这部Firewall电脑, 现在就称为Firewall 了, 可以接到Internet上, 也可以接到保护网路(Protected Network) 上。但保护网路无法连上 Internet, Internet也连不上保护网路。

如果要从保护网路内连上Internet, 必须要先telnet到Firewall, 从那里使用Internet。同样的, Internet上的人要进入保护网路, 也必须先透过Firewall。

这种作法对于Internet上的攻击有很优秀的免疫作用。如果有人企图对受保护的网路进行攻击, 则必须先穿过Firewall, 攻击必须分成两步骤, 难度也增加了。如果有人想藉著使用一般的手法, 如邮件炸弹(MAIL BOMB)或"Internet Worm", 来攻击受保护的网路, 他们可能是无法如愿的。

2.1. Firewall的缺点

Firewall最大的问题在于由内部Access Internet的困难。基本上, Firewall利用Dial-Up Shell 的帐号来减少对于Internet的使用, 必须先login Firewall 才能做其他对Internet的Access动作。因此一些需要直接连接Internet的程式(如Netscape) 便无法在Firewall后方顺利动作, 解决的办法——Proxy Server。

2.2. Proxy Server

Proxy Server可用来协助由Firewall后方直接Access到Internet。它们的工作是在Server上开启一个Socket, 作为和Internet沟通的管道。举例来说, 我的电脑drig是在保护网路内, 当我要使用Netscape去浏览Web 时, 我得在Firewall上建个Proxy Server, 这个Proxy Server设定好可以接受我的电脑的请求, 把要连上Port 80请求转接到它的Port 1080上。

任何用过TIA 或TERM的人应该对这个观念不会太陌生, 在这两个程式里, 你可以对一个Port做转向的动作。我的一个朋友用TIA 设定允许大家用192.251.139.21 port 4024去连上他的web server。这里提到的Proxy Server原理也差不多, 只是恰好相反, 让你使用port 1080(或某特定值)去连接其他人的port 80。Proxy Server最了不起的地方在于它的安全性, 如果你设定正确的话, 它不会允许任何人逾越它。

3. 动手吧!

3.1. 硬体需求

本例中, 电脑采用486-DX66, 8M RAM, 500M Linux 分割, 以一台1.44 bps

MODEM连到ISP上。这就是原本Linux box的基本配备, 要架成Firewall, 我们还得加上一块NE2000 Ethernet网路卡。接著连上三部PC(Win 3.1+Trumpet Winsock)和两台Suns(SunOS 4.1)。我选择这样的架构是著眼于它很普通常见, 而且我对这两种平台都蛮熟悉的。本来有考虑要加上Mac, 可是我不太常用也不熟, 就算了。

3.2. 设定软体

现在, Linux box 透过14.4 PPP line连上Internet, 再用Ethernet连上其他的电脑。首先, 先recomplie linux kernel, make config时得做适当的调整。

我参考了Kernel HOWTO, Ethernet HOWTO, NET-2 HOWTO然后进行"make config":

1. 使用Networking Support

2. 使用TCP/IP Networking

3. 取消IP Forwarding (CONFIG_IP_FORWARD).

4. 使用IP Firewalling

5. 可以使用IP accounting, 这样比较审慎一点。

6. 使用Networking Device Support

7. 使用PPP 及Ethernet support, 视你的界面而定

接著, 我们recompile, reinstall kernel 后重开机。应该可以在开机过程中

看到我们所加入的界面的资料, 如果没有, 参考其他的HOWTO, 看看是那里做错了。

3.3. 设定网路位址

这是很有趣的一部份。因为我们不希望Internet直接Access我们的网路, 所以不必使用真实位址。一个不错的选择是C Class的192.168.2.xxx, 它是设定来做测试的dummy domain。所以放心大胆的用它吧! 没人会跟你抢的。在我们的设定中, 只需要一个真实的位址, 其他的自设就可以了。指定连上PPP 的串列埠一个真实IP位址, Firewall上的Ethernet卡设为192.168.2.1, 将其他电脑设为192.168.2.xxx。

3.4. 测试看看

试著从Firewall上ping一个Internet上的Node。我使用nic.ddn.mil做为测试点。[ 译注: 在国内可以ping edu.tw 看看 ]如果不行, 查查你的PPP 有没有设好, 仔细的读一下Net-2 HOWTO, 再试一次。

现在, 试著ping保护网路内的电脑, 所有网路内的电脑应该可以ping其他任何一台电脑, 如果不行, 老话一句, 看看NET-2 HOWTO 再试一次。接著, 所有在保护网路内的机器应该都可以ping Firewall。若不行, 再重覆以上步骤, 记得, 你该ping 192.168.2.1, 而非PPP 的真实IP位址。

然后试著从Firewall里的电脑去ping PPP的IP位址, 如果可以, 表示你IP Forwarding的功能未取消, 你必须重新compile kernel。虽然我们已经把受保护的网路设为192.168.2.1 domain, 不会收到来自Internet的封包, 可是把IP Forwarding 关掉还是比较保险一点, 可以自己主控全局而非仰赖ISP。

最后, 从Firewall上ping一下受保护的网路内的机器, 到这个地步, 应该不会有什么问题。到这里, 我们已经完成了最基础的Firewall安装。

3.5. Firewall的安全性

目前的Firewall还不够好, 因为它还敞开著大门等待别人来攻击。首先, 找到/etc/inetd.conf, 它又被称为"super server", 因为在上面有超过一打的server daemon被执行。例如:

o Telnet

o Talk

o FTP

o Daytime

取消所有不需要的功能, 例如netstat、systat、tftp、bootp、finger。甚至你可以关掉te[1] [url=http://www.chinamx.com.cn/Article/os/Linux/200605/20060530125919_28694_2.html][2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有