科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道防火墙测试:从入门到精通(2)

防火墙测试:从入门到精通(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

虽然近年来兴起了统一威胁管理等一体化的安全设备,但防火墙仍是许多单位的基本安全设备之一,那么,你的防火墙是否固若金汤呢?本文笔者将介绍审计或测试防火墙的概念。

来源:比特网 2009年8月2日

关键字: 安全技术 防火墙

  • 评论
  • 分享微博
  • 分享邮件

  构建测试

  在Firewall Builder的网站上拥有许多配置指南,如下图2所示:

  

  图2

  多数厂商拥有其自己的指南和安装向导。使用Firewall Builder这样一种工具的一种主要好处是能够管理几个系统,请看下图3:

  

  图3

  这个界面准许审计人员根据策略快速验证配置信息。此外,此工具提供了保存规则集的能力,此功能增强了对改变的管理。通过回头查看以前的规则集,审计人员会看到更改的模式,并查找添加规则的原因。

  在对策略作了最后的编译并安装后,策略安装程序会增加快速查看日期的特性。如下图4所示:

  

  图4

  相冲突的规则

  有时,有必要合并规则库。为此,Firewall Builder工具拥有一个验证功能,如下图5所示:

  

  图5

  系统管理

  在你审计一个防火墙时,下一步是看一下防火墙的操作是如何被管理、被监视的。需要关注如下的过程:

  用户管理(即谁可以访问防火墙设备及对防火墙作出改变)。

  对配置和防火墙规则库的更改。

  更新及将安全补丁运用到操作系统和防火墙上。

  监视防火墙软件的新漏洞。

  决定所有的防火墙活动是否被记录。

  决定规则活动、日志和规则冲突是否进行了监视。

  决定防火墙的持续性计划是否安置得当。

  测试防火墙规则库

  防火墙规则库可以指明哪些数据库被准许通过或拒绝(丢弃)。数据包可来自内部或外部源,而防火墙的规则库根据几条标准或规则,可以决定一个数据包是否被准许通过。

  多数防火墙都有默认设置。然而,这些设置并不一定提供许多单位所要求的最基本的安全水平。例如,有些Checkpoint的防火墙设备默认情况下准许未受限的DNS、ICMP、RIP等通信进、出防火墙。这些默认设置将防火墙向外部的特洛伊木马、ping攻击、中间人攻击,以及其它的利用开放端口的攻击。

  测试规则库可以发现某些能够影响防火墙性能和网络安全的配置错误及漏洞。

  规则库的管理是许多防火墙的管理员们的一个重要问题。防火墙的规则库易于出现各种问题,如不正确、重叠、未用的规则。在过去的若干年中,对此进行了许多研究,研究人员确认了许多足以引起管理员们注意的异常情况:

  在管理员们创建一种要合并较低优先权的高优先权规则时,会发生规则重叠的情况。例如,管理员们可能要创建一种在规则库中高高在上的规则,准许所有的SMTP通信。而一条地位较低的老规则可能会专门准许SMTP通信到达一个邮件服务器。然而,因为其类似性和低优先权,这条特别的规则将绝对不可能被激发。在更低优先权的规则要阻止通信到达一个特别的服务器时,这种情况会变得更糟。因为这种概括性的规则首先出现,这种阻止将绝对不会生效。

  在服务或系统不出现于网络中时,或其它的改变使得一条规则成为孤立的规则时,就会发生所谓的“规则遗弃”问题。这些规则通常不会从防火墙中删除,这就创造了一个潜在的安全漏洞,并添加了防火墙管理员的负担。

  未用的规则类似于孤立规则,这些规则从未使用。未用的规则可能来自从未具体实施的项目中的改变请求。或者说,未用的规则可能源自于管理员们在创建规则时的错误。

  现在国外有不少商业化的工具试图解决这些问题。如FireMon、Firewall Analyzer。然而,真正的解决方案是保持规则库的简单,将其限制为一个可管理的大小,并执行经常化的审计。

  确认错误配置

  在评估防火墙的策略时,需要考虑如下几个方面的问题:

  这种设计考虑到增长了吗?

  系统打了补丁并实施了测试吗?

  这种策略提供了深度防御吗?这种体系结构考虑到了TCP/IP协议栈的所有层吗?

  哪些通信准许进入网络?哪些通信准许从网络发出?所有进入或离开网络的通信应当得到准许。有一些规则和标准,如PCI的数据安全标准要求验证所有通信,但这是一个好方法,甚至在被采用的标准没有祥细说明时也是这样。

  识别漏洞

  防火墙的漏洞可能是一个错误或是防火墙设计、实施、配置中的一个弱点,不怀好意的人可以利用这种漏洞攻击网络或系统。

  我们可以将防火墙的漏洞作如下的分类:

  确认错误:在程序与环境交互而无法保障环境数据的正确性时,就会发生确认错误。有三种类型的环境数据需要确认:输入、初始化、目标。输入的确认保障所期望的输入。这包括类型、每种输入的格式等。初始化验证保障数据的初始化如实地完成,例如,检查IP源的身份。目标验证可保障信息到达所期望的位置。这包括受保护的信息不会到达一个不可信任的目标。

  授权错误:授权错误(鉴定错误)使得在不充分检查调用代理授权的情况下调用一种受保护的操作。

  序列化/混淆错误:序列化错误使得不同系统运行的异步行为被利用来引起安全问题。在同一对象的两个名字可引起其内容发生不可预期的改变时,就会发生混淆漏洞错误,这就会造成实施非法的检查。

  边界检查错误:如果不能检查边界并确保限制的可行性,就会发生边界检查错误。如果不检查与表格大小相关的过高的值、文件分配、或其它的资源消耗,就会姓边界检查错误。缓冲区溢出就是边界检查错误的结果。

  域错误:在保护环境之间的预期边界存在漏洞时,就会发生域错误。这会导致信息秘密地被泄露。

  设计错误:设计错误可被追溯到设计阶段。例如,一种脆弱的加密算法就属于此类。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章