![[ 永远的UNIX::UNIX技术资料的宝库 ]](/images/title.gif)
|
| 首页 > 安全技术 > 网络 > 正文 |
 |
| 网路安全--3.火墙 |
| http://www.study-area.net/menu1.htm (2001-06-04 17:04:00) |
我们已经知道如果保护自己的密码和如何使用资料加密的手段来保护资料。但是如果您的电脑遭到入侵密码档案和私有键值都被盗窃了我们所作的努力不就白费了吗所以一般的网路系统都会使用“火墙(Fire Wall)”来保护自己的网路不被入侵。
何为火墙
哈~~~我挺喜欢这个词呢火墙顾名思义就是用火做的墙(虽然这解析和真正的出处汽车部件有点望文生义了)能通得过此墙的不是真金白银就是火中之凤其它废铜烂铁或飞娥爬一早就给烧成灰烬了。网路的火墙就是这麽用途的啦让您想要的东西进入网路而摈弃您不想要的东西在网路之外。而我们通常说的火墙有两种过滤性火墙和连接性火墙。严格来说後者应该不能称为火墙的称之为代理服务器(Proxy)更准确些因为它只负责替您建立连接而已。而我们这里要说的火墙是指过滤性火墙。
不过proxy也有其非常好用的地方我们可以利用单一的连线如使用modem允许整个网路获取外部资源不仅节省硬体成本而也无需支付多个ISP户口和电话线路。它的功能就是“代理”proxy可以分为“程式代理”和“socks代理”。
前者可以说是为你代理所有工作当您需要连接外部资源的时候您的请求是直接送给proxy然後proxy会帮您到真正的目的地去获取然後再转送给您。而每一次的代理动作它都会将资料保留一个备份存在它的快取区去如果再接获相同的请求(不管是原来的机器还是另外别的机器发出的)它就将存於快取里面的资料做为回覆。有些聪明的proxy还能知道快取里面的资料是否和实际目的地的资料同步呢如果发现实际目的地的资料经过更新它就会再次进自己的快取去。
从上面的这个过程我们可以看得出proxy还可以提高网路的存取速度哦因为如果资料已经在快取里面了其传送都在LAN里面进行而无需经过杂的路由程序。同时因为资料无需从外面重传递实际上也令到网路的流量减少许多。而且通过proxy我们也可以省下许多IP地址因为其他机器尽可以使用私有IP就行了。目前正时兴的网吧(Internet Cafe)许多就是利用proxy来降低成本和提高速度的了。另外proxy还可以再经由上proxy(或proxy阵列)连接internet从而再可以提高效率和安全性。
而socks代理呢就好像接线生那样仅是将您的TCP连接由里面的接口搭至外面的接口而且。还记得在“网路概念”里面提到的API吗socks代理其实就是代理API请求而已而真正处理工作的还是发出请求的主机本身。
这里还要一提的是“IP伪装(Masquerading)”它的工作原理也非常近似socks proxy不过它是利用转换封包的地址来达到目的。如果本地网路主机要将一个封包送到外面网路当火墙收到这个封包的时候就会启动IP伪装功能将来源地址暂时转换成其本身地址然後等到接到回复封包之後再将地址进行还原(demasquerading)。在里面的机器根本就无需知道这个动作一切都由火墙处理好了。这和Proxy一样也可以节省大量的IP地址而让使用私有IP位址的主机也能够存取internet了。
火墙的运作
如果您对IP协定已经相当了解了也明白到IP封包和TCP封包格式您将会更容易了解火墙的运作火墙会对所有经过的封包进行检查按照一系列原则(policy)和规则(rule)来决定封包的处理方式。火墙一般都会根据封包的来源和目的地址协定port界面等因素进行判断决定是否让封包通过和要传去那里。
我们可以为火墙建立一些基本原则来定义好各种的链(chain)传入(input)传出(output)转递(forward)重导(redirect)等来决定封包的处理动作接受(accept)拒绝(deny)反弹(reject)转递(forward)伪装(masquerade)等。在此基础上然後再配合实际情形设定更多规则加以限制。
我们设定规则的时候是非常多样性的也可以由一个chain导向另一个chian直到符合我们的要求为止。下面让我们看一看一个非常阳春的规则设定例子
当我们从一个chain跳到另一个自定义的chain的时候如果自定义的chain没有将封包剔除的话就会回到刚才的chain的下一个规则去继续其後的规则检查。从上例中我们可以看到只有从192.168.1.1传给192.168.1.2的TCP封包才能过关其它诸如ICMP和UDP封包和其他地址的封包一律会被挡掉。只要我们精心设计好不难设定出一个适合自己情形的不太松也不太紧的火墙的。
设定火墙的技巧
从上面的火墙运作来看我们可以通过设定规则将一些重要的主机保护起来让其只允许特定的网路存取也就可以将大部份的网路入侵者摈於门外。不过对於那些绝顶骇客高手而言还是会从您的设定漏洞攻破您的把守的例如他们通常会使用“取道”的方法绕过那些被禁止的地址以及通过不断改变位址来逃避追踪。有些较优秀的火墙程式可以自动检测一些骇客常用的攻击方法除了会对网路管理员发出预警之外还可以即时切断该等连线和追查路径等动作。
同时利用不同系统来设定多个火墙也能提高防能力除非骇客对所有系统都熟悉否则过了一道火墙还是过不了第二道火墙而且由於第一道火墙的屏隔要探测第二道火墙的难度也高许多。当然要设定的规则就更为杂了通常都会造成过於严厉而令到一些网路资源无法使用或降低了网路的效能。
所以设计一套完善的规则其实是件极具挑战性的事情其後也需要不断的测试以修补漏洞这也是非常耗时的工作。如果对一个繁忙的网路来说事先的测试工作就显得非常重要了您总不能在收到一大堆不能连线的投诉之後而关闭火墙作调试吧
通常我们在设定火墙的时候划分一个“边际网路(DMZ - Demilitarized Zone)”是非常好用的
我们可以设定火墙允许外部直接传入到DMZ上面的伺服器但仅限制於某些特定的协定如DNSWWWFTPMAIL等同时也允许内部网路使用这些服务。但外部网路是完全禁止进入内部网路的而内部网路则可以通过Proxy存取外部资源我们也允许内部伺服器使用rsync协定来和DMZ上面的机器进行资料同步。一般我们不会将重要的资料存放在DMZ上面的机器而且邮件也会在DMZ接收後由内部伺服器提取进来。这样就算那里的机器被攻破了也不至於损失太多。
至於如何一一设定恐怕不是这里能够详细论述的了。
(http://www.fanqiang.com)
进入【UNIX论坛】
|
|
| 相关文章 |
网路安全--3.火墙 (2001-06-04 17:04:00) 网路安全--2.资料加密 (2001-06-04 16:10:01) 网路安全--1.保护密码 (2001-06-04 15:00:00)
|
|
|
|
 |
★ 樊强制作 欢迎分享 ★ |