谁需要防火墙?

1.什么是防火墙?

防火墙是在网络之间实施访问控制策略的一个系统或一组系统。防火墙的实际实现方式各不相同,但原则上可以把防火墙看成一对机制:一个机制是阻断传输流,另一个机制是允许传输流通过。一些防火墙侧重于阻止传输流的通过,而另一些则侧重于允许传输流通过。也许理解防火墙最重要的概念是它实现了一个访问控制策略。如果你不确定你需要允许或者拒绝什么样的访问,你可以让别人或者某些产品按照他们认为自己应该做的来配置防火墙,然后他们会综合的为你的组织制定访问策略。

2.为什么需要防火墙?

和其他任何社会一样,互联网被一些无聊的人困扰着,他们喜欢在网上做这样的事情,就像在别人的墙上喷涂鸦,撞倒别人的邮箱或者坐在街上按汽车喇叭。一些人试图通过互联网做一些真正的工作,而另一些人则需要保护敏感或专有数据。一般来说,防火墙的目的是把那些无聊的人挡在你的网络之外,同时,你仍然可以完成你的工作。

许多传统企业和数据中心已经制定了必须遵循的计算安全政策和实践。在公司的安全政策规定必须保护数据的情况下,防火墙就更加重要了,因为它是公司安全政策的具体体现。如果你的公司是一家大企业,连接互联网最困难的工作往往不是成本或要做的工作,而是说服管理层上网是安全的。防火墙不仅提供了真正的安全,而且在为管理披上一层安全的外衣方面起着重要的作用。

最后,防火墙可以扮演企业互联网“大使”的角色。许多企业将其防火墙系统用作保存关于其产品和服务的公共信息、下载文件、修复错误和其他文件的地方。其中有几个系统已经成为互联网服务结构的重要组成部分(如UUnet.uu.net、whitehouse.gov和gatekeeper.dec.com),并给这些机构的发起者带来了良好的影响。

3.防火墙可以防范什么?

有些防火墙只允许电子邮件通过,从而保护网络免受除电子邮件服务之外的任何攻击。其他防火墙提供不太严格的保护措施,并阻止一些已知有问题的服务。

一般来说,防火墙被配置成防止来自“外部”世界的未经授权的交互式登录。这大大有助于防止破坏者登录到您网络中的计算机。一些更精细的防火墙可以阻止来自外部的传输流进入内部,但允许内部用户与外部自由通信。如果你切断防火墙,它可以保护你免受网络上的任何攻击。

防火墙的另一个非常重要的特性是,它可以提供一个单独的“阻塞点”,在这个点上可以设置安全和审计检查。与计算机系统被使用调制解调器的人攻击的情况不同,防火墙可以起到有效的“电话窃听”和跟踪工具的作用。防火墙提供了重要的记录和审计功能;它们通常可以为管理员提供情况摘要,提供有关通过防火墙的流的类型和数量以及已尝试入侵防火墙的次数的信息。

4.防火墙不能防范什么?

防火墙无法防范未通过防火墙的攻击。许多连接到互联网的企业非常担心公司特定数据通过访问路径被泄露。不幸的是,出于这些考虑,磁带可以有效地用于泄漏数据。许多组织的管理层非常害怕互联网接入,他们在如何保护通过调制解调器的拨号接入方面没有一致的政策。当你住在木头房子里,装上六英尺厚的钢门,会被认为是愚蠢的。然而,许多组织购买了昂贵的防火墙,却忽略了网络的其他几个后门。为了使防火墙发挥作用,它必须成为整个组织安全架构中不可分割的一部分。防火墙的策略必须是现实的,能够反映整个网络的安全水平。例如,一个存储超机密或机密数据的网站根本不需要防火墙:首先,它根本不应该连接到互联网,或者存储真正机密数据的系统应该与企业网络的其余部分隔离。

防火墙无法真正保护你的另一个危险是你网络中的叛徒或白痴。虽然工业间谍可以通过防火墙发送信息,但他更可能使用电话、传真机或软盘来发送信息。软盘比防火墙更有可能成为泄露组织秘密的媒介!防火墙也不能保护你免受愚蠢行为的影响。通过电话泄露敏感信息的用户是社会工程的一个很好的目标。如果攻击者可以找到一个“对他有帮助”的内部员工,把他骗进调制解调器池,攻击者就有可能完全绕过防火墙,闯入你的网络。

5.防火墙能防止病毒攻击吗?

防火墙不能有效地防止病毒之类的东西入侵。网络上传输二进制文件的编码方式太多,不同的结构和病毒太多,不可能把所有的病毒都找出来。换句话说,防火墙不可能给用户安全意识。总之,防火墙无法防止数据驱动的攻击:即通过邮寄或复制一些东西到内部主机,然后在内部主机上运行的攻击。在过去,不同版本的邮件发送程序、ghost脚本和免费PostScript阅读器都曾受到过此类攻击。

非常担心病毒的组织应该在整个组织中采取病毒控制措施。不要试图把病毒挡在防火墙之外,而是要确保每一个脆弱的桌面系统都装有病毒扫描软件,电脑一开机就扫描病毒。使用病毒扫描软件来保护您的网络将防止病毒攻击通过软盘,调制解调器和互联网传播。试图将病毒挡在防火墙之外,只能阻止来自互联网的病毒,而大多数病毒都是通过软盘感染的。

然而,越来越多的防火墙制造商正在提供“病毒检测”防火墙。这种防火墙只对交换Windows-on-Intel执行程序和恶意宏应用程序文档的无经验用户有用。不要指望这个特性能对攻击起到任何防范作用。

6.防火墙设计中需要做出哪些基本的设计决策?

在负责防火墙设计、制定工程方案和实施或监督安装的幸运儿面前,有许多基础的设计问题等着他去解决

首先,最重要的问题是,它应该反映您的公司或组织打算如何运行此系统的策略:安装的防火墙是为了明确拒绝除连接到网络所必需的服务之外的所有服务,或者安装的防火墙是为了提供一种以非威胁方式测量和审计“排队”访问的方法。这些选择中有一定程度的偏执;防火墙的最终功能可能是一种管理结果,而不是工程决策。

第二个问题是:您需要什么级别的监控、冗余和控制?通过解决第一个问题,确定可接受的风险水平(比如你有多偏执),你就可以列出哪些传输必须被监控,哪些传输必须被允许,哪些传输应该被拒绝。换句话说,你在一开始就列出你的总体目标,然后把需求分析和风险评估结合起来,挑出总是与风险相反的需求,添加到计划工作的列表中。

第三个问题是财政。在这里,我们只能模糊地讨论这个问题,但试图通过购买或实施解决方案的成本来量化所提出的解决方案是非常重要的。例如,完整防火墙的高端产品可能价值6.5438亿美元,而低端产品可能是免费的。像在思科或类似的路由器上做一些美妙的配置这样的免费选择不会花你一分钱,只需要员工的时间和几杯咖啡。从零开始建立一个高端防火墙可能需要几个人工月,这可能等于价值3万美元的员工工资和利润。系统管理开销也是需要考虑的问题。建立一个自主开发的防火墙是好的,但重要的是要在没有昂贵的不断干预的情况下制作防火墙。换句话说,在评估防火墙时,不仅要根据其当前成本进行评估,还要考虑后续成本,如支持服务。

出于实用目的,我们讨论的是网络服务提供商提供的路由器和您的内部网络之间的静态传输流路由服务。因此,基于这一事实,需要做出几个技术决策。传输流路由服务可以通过过滤规则(如路由器)在IP层实现,也可以通过代理网关和服务在应用层实现。

要做出的决定是是否将暴露的PC放在外部网络上运行telnet、ftp、news等的代理服务。,或者是否设置类似过滤器的屏蔽路由器,以允许与一台或多台内部计算机进行通信。这两种方法各有利弊。代理可以提供更高级别的审计和潜在的安全性,但代价是增加配置成本和降低可能的服务级别(因为代理需要为每个所需的服务进行开发)。长久以来,便利性和安全性之间的平衡再次困扰着我们。

7.防火墙有哪些基本类型?

从概念上讲,有两种类型的防火墙:

1,网络级防火墙

2.应用层防火墙

这两种类型的区别没有你想的那么大。最新的技术模糊了它们之间的区别,使得哪个“更好”或“更差”变得不那么明显。一如既往,您需要仔细选择符合您需求的防火墙类型。

网络级防火墙通常根据源地址和目的地址做出决定,并输入单个IP数据包。简单的路由器是“传统的”网络级防火墙,因为它不能做出复杂的决策,也不能判断一个包的实际意义或者这个包的实际来源。现代的网络级防火墙已经变得越来越复杂,可以保留访问状态、某些数据流的内容以及流经其中的其他相关信息。很多网络级防火墙的一个重要区别就是防火墙可以让传输流直接通过,所以通常需要分配一个有效的IP地址块才能使用这样的防火墙。网络级防火墙通常很快,并且对用户透明。

网络级防火墙示例:在此示例中,给出了一种称为“屏蔽主机防火墙”的防火墙。

防火墙)网络级防火墙。在屏蔽主机的防火墙中,进出单台主机的访问由运行在网络层的路由器控制。这个单个主机就是桥头主机,是一个高度设防的安全堡垒,可以(有希望)抵御攻击。

网络级防火墙的例子:在这个例子中,给出了所谓的“屏蔽子网防火墙”。在屏蔽子网防火墙中,进出网络的访问由运行在网络层的路由器控制。它类似于屏蔽主机,只是它实际上是由屏蔽主机组成的网络。

应用层防火墙一般是运行代理服务器的主机,不允许传输流在网络间直接传输,对通过它的传输流进行记录和审计。因为代理应用程序是在防火墙上运行的软件组件,所以它是实现记录和访问控制的理想位置。应用级防火墙可以作为网络地址翻译器,因为通过有效屏蔽最初访问原站点的应用,传输流从一侧进来,从另一侧出去。在某些情况下,设置应用程序级防火墙后,可能会影响性能,并使防火墙不太透明。早期的应用级防火墙,如TIS firewall toolkit构建的防火墙,对最终用户不是很透明,需要培训。与网络级防火墙相比,应用级防火墙通常提供更详细的审计报告,并实施更保守的安全模型。

应用层防火墙的例子:在这个例子中,给出了称为“双归属网关”的应用层防火墙。双向本地网关是运行代理软件的高度安全的主机。它有两个网络接口,每个网络上有一个接口,它阻塞所有通过它的传输流。

防火墙未来的定位应该是介于网络级防火墙和应用级防火墙之间的某个地方。网络级防火墙可能会越来越了解流经它们的信息,而应用级防火墙可能会变得更加“低级”和透明。最终结果将是一个快速的数据包筛选系统,可以记录和审核通过的数据流。越来越多的防火墙(网络和应用层)包括加密机制,这使它们能够保护它们之间在互联网上流动的传输流。使用多点互联网接入的组织可以使用具有端到端加密功能的防火墙。这些组织可以使用互联网作为“专用主干网”,而不用担心他们的数据或密码被偷看。

8.什么是“单点故障”?如何避免这种失败?

安全性依赖于其结构具有单点故障的机制。运行桥头主机的软件出错。应用程序中有错误。控制路由器的软件出错。使用所有这些组件来构建安全网络并以冗余方式使用它们是有意义的。

如果您的防火墙结构是一个屏蔽子网,那么您有两个包过滤路由器和一个桥头主机。(见本节问题2)互联网接入路由器不允许传输流从互联网进入您的专用网络。但是,如果不在桥头主机和/或扼流路由器上用任何其他机制实现这个规则,只要这个结构中的一个组件出现故障或被破坏,攻击者就会进入防火墙。另一方面,如果在桥头主机上有冗余规则,在阻塞路由器上有冗余规则,那么攻击者必须处理三种机制。

此外,如果这个桥头主机或阻塞路由器使用规则来阻止外部访问内部网络,您可能需要让它触发某种警报,因为您知道有人进入了您的接入路由器。

9.如何将所有恶意传输拒之门外?

对于注重安全性而非连接性的防火墙,你应该考虑默认阻止所有传输,根据具体情况只允许你需要的服务通过。

如果除了一个特定的服务集之外,您将所有东西都排除在外,那么您的任务就变得非常简单了。你不用担心身边每一个产品和服务的安全问题,你只需要关注具体产品和服务的安全问题。:-)

在启动服务之前,您应该考虑以下问题:

*该产品的协议是众所周知的公开协议吗?

*为本协议提供服务的应用程序的应用程序是否可供公众检查?

*这项服务和产品是否广为人知?

*使用此服务将如何改变防火墙的结构?攻击者会从不同的角度看待这个问题吗?攻击者可以利用它进入我的内部网络吗?或者它会改变我的DMZ中主机上的东西吗?

在考虑上述问题时,请谨记以下忠告:

*“未知安全根本不安全。很多未公开的协议都被那些坏人研究破解了。

*不管营销人员怎么说,并不是所有的协议或服务在设计时都考虑到了安全性。事实上,真正考虑安全性的协议或服务数量非常少。

*即使考虑到安全,也不是所有机构都有合格人员负责安全。在那些没有合格人员负责安全的机构中,并不是所有的机构都愿意邀请合格的顾问参与工程项目。这样一来,其他方面有能力又善良的开发者就会设计出不安全的系统。

*制造商越不想告诉你他们的系统是如何工作的,就越有可能出现安全(或其他)问题。只有有所隐瞒的厂商才有理由隐瞒自己的设计和实现。

10.常见的攻击有哪些?如何保护系统免受他们的攻击?

每个站点的攻击类型都与其他站点略有不同。但还是有一些相似之处。

SMTP会话黑客(SMTP会话黑客)

在这种攻击中,垃圾邮件发送者复制数千份邮件,并将其发送到大量电子邮件地址。因为这些地址列表通常是坏的,并且为了加快垃圾邮件发送者的操作,许多垃圾邮件发送者采用了将他们的所有电子邮件发送到SMTP服务器的做法,该服务器负责实际发送这些电子邮件。

当然,反弹消息,对垃圾制造者的投诉,诅咒邮件和糟糕的公关都涌入了这个曾经被用作中转站的网站。这将真正花费这个网站,其中大部分将用于支付人员谁将清除这些信息后。

“邮件滥用预防系统传输安全倡议”详细描述了这个问题,以及如何配置每个发件人来防止这种攻击。

利用应用程序中的错误。

不同版本的web服务器、邮件服务器和其他互联网服务软件都存在各种错误。因此,远程(互联网)用户可以利用这些错误做各种各样的事情,从控制计算机到瘫痪应用程序。

只运行必要的服务,用最新的补丁打补丁,使用已经用了一段时间的产品,可以降低遇到这种风险的可能性。

利用操作系统中的错误

这种攻击通常由远程用户发起。与IP网络相比,较新的操作系统更容易出现问题,而成熟的操作系统有充足的时间来发现和清除现有的错误。攻击者通常会重启、瘫痪、失去与网络通信的能力,或者替换计算机上的文件。

因此,尽可能少地运行操作系统服务有助于防止对系统的攻击。此外,在操作系统前端安装包过滤也可以大大减少此类攻击的数量。

当然,选择稳定的操作系统也会有所帮助。在选择操作系统的时候,不要相信“好货不便宜”的说法。自由软件操作系统通常比商业操作系统更健壮。

11.我必须满足用户的所有要求吗?

这个问题的答案完全有可能是“没有”。每个网站都有自己的策略,知道自己需要什么,不需要什么,但重要的是要记住,作为一个机构的看门人,主要工作之一是教育。用户需要流式视频、实时聊天,并向请求在内部网络上对实时数据库进行交互式查询的外部客户提供服务。

这意味着任何这样的事情的完成都会给组织带来风险,而造成的风险往往高于你想象的沿着这条路走下去的“价值”的回报。大多数用户不希望将他们的机构置于风险之中。他们只看商标,看广告,愿意做那些事。重要的是要知道用户真正想做什么,并帮助他们明白,他们可以用更安全的方式实现他们真正的目标。

你不会一直受欢迎。你甚至可能会发现自己收到难以置信的愚蠢命令,去做一些像“张开所有的嘴”这样的事情,但是不要为此担心。此时此刻,明智的做法是保存你所有的交换数据,这样当一个十二岁的孩子闯入网络时,你至少可以让自己远离混乱。

12.如何通过自己的防火墙运行Web/HTTP?

有三种方法可以做到这一点:

1.如果使用屏蔽路由器,允许“已建立”的连接通过路由器访问防火墙外部。

2.使用支持SOCKS的Web客户端,并在桥头主机上运行SOCKS。

3.在桥头主机上运行具有代理功能的Web服务器。TIS防火墙工具包中的一些替代代理服务器包括Squid、Apache、Netscape Proxy和connections。基本上所有的网络客户端(Mozilla,Internet Explorer,Lynx等。)内置了对代理服务器的支持。

13.使用防火墙时如何使用DNS?

一些组织希望对外界隐藏DNS名称。许多专家认为隐藏DNS名称的价值不大,但如果网站或企业的政策强制隐藏,这是一种已知的可行方法。您可能必须隐藏域名的另一个原因是您的内部网络中是否存在非标准的寻址方案。不要自欺欺人地认为,如果你隐藏你的DNS名称,它会使攻击者更难闯入你的防火墙。关于您的网络的信息可以很容易地从网络层获得。如果你有兴趣确认这一点,不妨“ping”一下局域网上的子网广播地址,然后执行“arp -a”。还需要注意的是,在DNS中隐藏域名并不能解决从邮件头、新闻文章等中“暴露”主机名的问题。

这种方法是许多方法中的一种,对于希望在Internet上隐藏其主机名的组织来说非常有用。这种方法的成功取决于一台机器上的DNS客户端不必与同一台机器上的DNS服务器通信。换句话说,因为一台机器上有一个DNS服务器,所以将这台机器的DNS客户端活动重定向到另一台机器上的DNS服务器并没有错(而且通常是有益的)。

首先,在可以与外界通信的桥头主机上设置一个DNS服务器。您设置了此服务器,以便它可以声明对您的域名的访问。其实这个服务器知道的就是你想让外界知道的:你的网关的名称和地址,你的通配符MX记录等等。该服务器是“公共服务器”。

然后,在内部机器上设置一个DNS服务器。此服务器还要求您的域名的权利;与公共服务器不同,这个服务器“说实话”。它是你的“普通”命名服务器,你可以把你所有的“普通”DNS名字放在这个服务器上。您再次设置此服务器,以便它可以将无法解决的查询转发到公共服务器(例如,使用/etc/

named.boot中的“转发器线路”)。

最后,设置所有DNS客户机(例如,Unix上的/etc/resolv.conf文件)使用内部服务器,包括公共服务器所在机器上的DNS客户机。这是关键。

请求内部主机信息的内部客户端向内部服务器提问并获得答案;查询外部主机信息的内部客户端查询内部服务器,内部客户端查询公共服务器,公共服务器查询互联网,然后逐步返回获得的答案。公共服务器上的客户端以同样的方式工作。然而,外部客户端询问内部主机的信息只能从公共服务器得到“受限”的回答。

这种方法假设两台服务器之间有一个包过滤防火墙,允许服务器相互传递DNS,但限制其他主机之间的DNS。

另一个有用的技巧是在ADDR使用通配符PTR记录。AROA域名。这将导致任何非公共主机的“地址到名称”查找返回类似“未知”的信息。而不是返回一个错误。这符合匿名FTP站点的要求,如ftp.uu.net。此类网站需要与它们通信的计算机的名称。当与交叉检查DNS的站点通信时,此方法不起作用。在交叉检查中,主机名应该与其地址匹配,地址也应该与主机名匹配。

14.如何通过防火墙使用FTP?

一般来说,FTP可以通过使用防火墙工具包中的ftp-gw等代理服务器,或者允许在有限的端口范围内访问网络(使用“已建立”的屏蔽规则等规则限制上述端口以外的访问)来穿越防火墙。然后,修改FTP客户端,将数据端口连接到允许端口范围内的端口。为此,您需要能够修改

FTP客户端应用程序。

在某些情况下,如果FTP下载是您想要支持的,您不妨考虑宣布FTP为“死亡协议”,让用户通过Web下载文件。如果您选择FTP-via-Web模式,用户将无法使用FTP传输文件,这可能会导致问题,但这取决于您试图完成的任务。

另一种不同的方法是使用FTP“PASV”选项来指示远程FTP服务器允许客户端开始连接。PASV模式假设远程系统上的FTP服务器支持此操作。(详情请参考RFC1579)

其他网站更喜欢构建根据SOCKS库链接的FTP程序的客户端版本。

15.如何通过防火墙使用telnet?

通常可以通过使用防火墙工具包中的tn-gw之类的应用程序代理来支持Telnet,或者通过使用诸如“已建立的”筛选规则之类的策略来简单地配置路由器以允许传出。应用程序代理可以以在桥头主机上运行的独立代理的形式存在,或者以SOCKS服务器和修改后的客户端的形式存在。

16.如何通过防火墙使用RealAudio?

RealNetworks包含一些如何让RealAudio通过防火墙的说明。在不清楚要做什么改变以及新的改变会带来什么风险的情况下,改变你的防火墙是不明智的。

17.如何才能让web服务器成为专网上数据库的前端?

实现这一点的最佳方法是通过特定的协议在web服务器和数据库服务器之间建立非常有限的连接。特定协议仅支持您将使用的功能级别。一般来说,允许原始SQL或攻击者可以用来进行定制提取的任何东西并不是一个好主意。

假设攻击者可以访问您的web服务器,并以与web服务器相同的方式查询它。难道没有一种机制可以提取web服务器不需要的像信用卡信息这样的敏感信息吗?难道攻击者不能进行SQL选择,然后提取您的整个私有数据库吗?

像所有其他应用程序一样,“电子商务”应用程序从一开始就考虑到了安全问题,而不是在后来“增加”安全性。应该从攻击者的角度严格检查您的结构。假设攻击者知道你的结构的每个细节。现在,问问你自己,如果你想窃取你的数据,进行未经授权的更改或做任何其他你不想做的事情,你应该怎么做。你可能会发现,你不需要添加任何功能,只需要做一些设计和实现决策,就可以大大增加安全性。

以下是如何做到这一点的一些想法:

作为一般原则,从数据库中提取你需要的数据,这样你就不必查询包含攻击者感兴趣的信息的整个数据库。对允许在web服务器和数据库之间传输的流实施严格的限制和审核。