企业如何选择合适的防火墙
供服务的服务器主机放在外部用户可以访问的地方,也就是说,主机安全几乎是唯一的保证。除非明确地知道 谁会对你的访问惊醒破坏,才可以对出口路由器或出口防火墙惊醒一些针对性的限制访问控制的设定,否则,访问控制变得毫无意义。
主机安全是一个非常有效的手段。所谓的主机安全是一个非常广义的概念,首先是要有一个安全的操作系统,建立在一个不安全、甚至稳定性都很差的操作系统上,是无法作到一个安全的主机。然后是仔细的检查你所提供的服务,如果不是你所必须提供的服务,建议除掉一切你所不需要的进程,对你的服务而言,它们都是你安全上的隐患。可以采用一些安全检测或网络扫描工具来确定你的服务器上到底有伸麽服务,以保证是否有安全漏洞或隐患。最后是对主机确定非常严格的访问限制规则,除了允许提供商愿意提供的服务之外,宣纸并拒绝所有未允许的服务,这是一个非常严格的措施。
除了主机安全以外,如果还需要提高服务的安全性,就该考虑采用网络实时监控和交互式动态防火墙。网络实时监控系统,会自动捕捉网络上所有的通信包,并对其进行分析和解析,并判断出用户的行为和企图。如果发现用户的行为或企图与服务商所允许的服务不同,交互式防火墙立即采取措施,封堵或拒绝用户的访问,将其拒绝在防火墙之外,并报警。网络实时监控系统和交互式防火墙具有很强的审计功能,但成本相对偏高。
(二) INTERNET和内部网
企业一方面访问INTERNET,得到INTERNET所带来的好处,另一方面,却不希望外部用户去访问企业的内部数据库和网络。企业当然没有办法去建立两套网络来满足这种需求。
防火墙的基本思想不是对每台主机系统进行保护,而是让所有对系统的访问通过某一点,并且保护这一点,并尽可能地对受保护的内部网和不可信任的外界网络之间建立一道屏障,它可以实施比较惯犯的安全政策来控制信息流,防止不可预料的潜在的入侵破坏。
根据企业内部网安全政策的不同,采取防火墙的技术手段也有所不同。
1、 包过滤防火墙
包过滤防火墙的安全性是基于对包的IP地址的校验。在Internet上,所有信息都是以包的形式传输的,信息包中包含发送方的IP地址和接收方的IP地址。包过滤防火墙将所有通过的信息包中发送方IP地址、接收方IP地址、TCP端口、TCP链路状态等信息读出,并按照预先设定过滤原则过滤信息包。那些不符合规定的IP地址的信息包会被防火墙过滤掉,以保证网络系统的安全。
包过滤防火墙是基于访问控制来实现的。它利用数据包的头信息(源IP地址、封装协议、端口号等)判定与过滤规则相匹配与否决定舍取。建立这类防火墙需按如下步骤去做;建立安全策略;写出所允许的和禁止的任务;将安全策略转化为数据包分组字段的逻辑表达式;用相应的句法重写逻辑表达式并设置之,
包过滤防火墙主要是防止外来攻击,或是限制内部用户访问某些外部的资源。如果是防止外部攻击,针对典型攻击的过滤规则,大体有:
l 对付源IP地址欺骗式攻击(Source IP Address Spoofing Attacks)
对入侵者假冒内部主机,从外部传输一个源IP地址为内部网络IP地址的数据包的这类攻击,防火墙只需把来自外部端口的使用内部源地址的数据包统统丢弃掉。
l 对付残片攻击(Tiny Fragment Attacks)
入侵者使用TCP/IP数据包 分段特性,创建极小的分段并强行将TCP/IP头信息分成多个数据包,以绕过用户防火墙的过滤规则。黑客期望防火墙只检查第一个分段而允许其余的分段通过。对付这类攻击,防火墙只需将TCP/IP协议片断位移植(Fragment Offset)为1的数据包全部丢弃即可。
包过滤防火墙简单、透明,而且非常行之有效,能解决大部分的安全问题,但必须了解包过滤防火墙不能做伸麽和有伸麽缺点。
对于采用动态分配端口的服务,如很多RPC(远程过程调用)服务相关联的服务器在系统启动时随机分配端口的,就很难进行有效地过滤。
包过滤防火墙只按照规则丢弃数据包而不对其作日志,导致对过滤的IP地址的不同用户,不具备用户身份认证功能,不具备检测通过高层协议(如应用层)实现的安全攻击的能力。
2、 代理防火墙
包过滤防火墙从很大意义上像一场战争,黑客想攻击,防火墙坚决予以拒绝。而代理服务器则是另外一种方式,能回避就回避,甚至干脆隐藏起来。代理服务器接收客户请求后会检查验证其合法性,如其合法,代理服务器象一台客户机一样取回所需的信息再转发给客户。它将内部系统与外界隔离开来,从外面只能看到代理服务器而看不到任何内部资源。代理服务器只允许有代理的服务通过,而其他所有服务都完全被封锁住。
代理服务器非常适合那些根本就不希望外部用户访问企业内部的网络,而也不希望内部的用户无限制的使用或滥用INTERNET。采用代理服务器,可以把企业的内部网络隐藏起来,内部的用户需要验证和授权之后才可以去访问INTERNET。
代理服务器包含两大类:一类是电路级代理网关,另一类是应用级代理网关。
电路级网关又称线路级网关,它工作在会话层。它在两主机收次建立TCP连接时创立一个电子屏障。它作为服务器接收外来请求,转发请求;与被保护的主机连接时则担当客户机角色、起代理服务的作用。它监视两主机建立连接时的握手信息,如Syn、Ack和序列数据等是否合乎逻辑,信号有效后网关仅复制、传递数据,而不进行过滤。电路网关中特殊的客户程序只在初次连接时进行安全协商控制,其后就透明了。只有懂得如何与该电路网关通信的客户机才能到达防火墙另一边的服务器。
电路级网关的防火墙的安全性比较高,但它仍不能检查应用层的数据包以消除应用层攻击的威胁。
应用级网关使用软件来转发和过滤特定的应用服务,如TELNET、FTP等服务的连接。这是一种代理服务。它只允许有代理的服务通过,也就是说只有那些被认为“可信赖的”服务才被允许通过防火墙。另外代理服务还可以过滤协议,如过滤FTP连接、拒绝使用FTP放置命令等。应用级网关的安全性高,其不足是要为每种应用提供专门的代理服务程序。
两种代理技术都具有登记、日记、统计和报告功能,有很好的审计功能。还可以具有严格的用户认证功能。先进的认证措施,如验证授权RADIUS、智能卡、认证令牌、生物统计学和基于软件的工具已被用来克服传统口令的弱点。
3、 状态监控技术
网络状态监控技术普遍被认为是下一代的网络安全技术。传统的网络状态监控技术对网络安全正常的工作完全没有影响的前提下,采用捕捉网络数据包的方法对腽肭蜾蠃通信的各个层次实行监测,并作安全决策的依据。监视模块支持多种网络协议和应用协议,可以方便地实现应用和服务扩充。状态监视服务可以监视RPC(远程过程调用)和UDP(用户数据包)端口信息,而包过滤和代理服务则都无法做到。
网络状态监控对主机的要求非常高,128M的内存可能是一个基本的要求,硬盘的要求也非常大,至少要求9G,对SWAP区至少也要求192M以上。一个好的网络状态监控系统,处理的量可能高达每秒45M左右(一条T3的线路)。
网络状态的监控的结果,直接就是要求能够有一种交互式的防火墙来满足客户较高的要求。中网的IP防火墙就是这样一种产品。
(三) 虚拟专用网
EXTRANET和VPN是现代网络的新热点。虚拟专用网的本质实际上涉及到密码的问题。在无法保证电路安全、信道安全、网络安全、应用安全的情况下,或者也不相信其他安全措施的情况下,一种行之有效的办法就是加密,而加密就是必须考虑加密算法和密码的问题。考虑到我国对密码管理的体制情况,密码是一个单独的领域。对防火墙而言,是否防火墙支持对其他密码体制的支持,支持提供API来调用第三方的加密算法和密码,非常重要。
(四) 复合型防火墙体系
防火墙体系的采纳是一个非常专业化的过程,不是一个简单的是和非。当然可以根据具体的情况,作出一定的安全政策,并采用某种上述特定的防火墙。但绝大多数情况是,根据具体的安全需求,通过某种体系构架,来实现更高强度的安全体系。或者是采用包含上述功能的复合型防火墙。我们就具体的情况作一个简单的说明:
屏蔽主机网关由一个运行代理服务 双穴网关和一个具有包过滤功能的路由器组成,功能的分开提高了防护系统的效率。
一个独立的屏蔽子网位于Intrannet与Internet之间,起保护作用。它由两台过滤路由器和一台代理服务主机构成。路由器过滤掉禁止或不能识别的信息,将合法的信息送到代理服务主机上,并让其检查,并向内或向外转发符合安全要求。
确保网络安全的措施
由于网络安全的目的是保障用户的重要信息的安全,因此限制直接接触十分重要。如果用户的网络连入Internet,那麽最好尽可能地把与Internet连接的机器与网络的其余部分隔离开来。实现这个目标的最安全的方法是将Internet服务器与网络实际隔开。当然,这种解决方案增加了机器管理的难度。但是如果有人闯入隔离开的机器,那麽网络的其余部分不会受到牵连。
最重要的是限制访问。不要让不需要进入网关的人都进入网关。在机器上用户仅需要一个用户帐号,严格限制它的口令。只有在使用su时才允许进入根帐号。这个方法保留一份使用根帐号者的记录。
在Internet服务器上提供的一些服务有FTP、HTTP、远程登陆和WAIS(广域信息服务)。但是,FTP和HTTP是使用最普遍的服务。它们还有潜力泄露出乎用户意料之外的秘密。
与任何其它Internet服务一样,FTP一直是(而且仍是)易于被滥用的。值得一提的弱点涉及几个方面。第一个危险是配置不当。它使站点的访问者(或潜在攻击者)能够获得更多超出其预期的数据。
他们一旦进入,下一个危险是可能破坏信息。一个未经审查的攻击者可以抹去用户的整个FTP站点。
最后一个危险不必长篇累牍,这是因为它不会造成破坏,而且是低水平的。它由用户的FTP站点构成,对于交换文件的人来说,用户的FTP站点成为“麻木不仁的窝脏点”。这些文件无所不包,可以是盗版软件,也可以是色情画。这种交换如何进行的呢?简单的很。发送者发现了一个他们有权写入和拷入可疑文件的FTP站点。通过某些其它方法,发送者通知它们的同伙文件可以使用。
所有这些问题都是由未正确规定许可条件而引起的。最大的一个问题可能是允许FTP用户有机会写入。当用户通过FTP访问一个系统时,这一般是FTP用户所做的事。因此,FTP用户可以访问,用户的访问者也可以使用。所有这些问题都是由未正确规定许可条件而引起的。最大的一个问题可能是允许FTP用户有机会写入。当用户通过FTP访问一个系统时,这一般是FTP用户所做的事。因此,FTP用户可以访问,用户的访问者也可以访问。
一般说来,FTP用户不是用户的系统中已经有的。因此,用户要建立FTP用户。无论如何要保证将外壳设置为真正外壳以外的东西。这一步骤防止FTP用户通过远程登录进行注册(用户或许已经禁止远程登录,但是万一用户没有这样做,确认一下也不会有错)。
将所有文件和目录的主人放在根目录下,不要放在ftp下。这个预防措施防止FTP用户修改用户仔细构思出的口令。然后,将口令规定为755(读和执行,但不能写,除了主人之外)。在用户希望匿名用户访问的所有目录上做这项工作。尽管这个规定允许他们读目录,但它也防止他们把什麽东西放到目录中来。
用户还需要编制某些可用的库。然而,由于用户已经在以前建立了必要的目录,因此这一步仅执行一部分。因此,用户需要做的一切是将/usr/lib/libe.so.1和/usr/lib/libsock-et.so/1拷贝到~ftp/usr/lib中。接着将~ftp/usr/lib上的口令改为555,并建立主接收器。