应用防火墙:一点一点地砌
2008-09-11 12:13:21 来源:WEB开发网所需知识
作为网络应用防火墙构建者,你需要有一个坚实的Unix/Linux背景知识,以及对网络应用程序、网络攻击、和HTTP协议有扎实的了解。会有一些感觉像网络开发:你需要进行测试,并确保过滤不会影响任何网络应用程序,并运行诸如Nikto (www.cirt.net)之类的网络扫描工具,进而对比原始内容和代理内容。
你应该了解指令行周围的方式,并熟悉Apache配置语法,进而下载所需要的程序块,创建安全规则和过滤表达式。你会发现采用规则表达式(通常用于Snort规则中)工作的良好舒适程度也将派上用场。
现在,我们来探讨一些开源组件,你可以用来构建网络应用防火墙。
奠基工作
在所有现有的商业代理器和开源HTTP代理器中,Apache Web服务器解析和改写内容的能力突出。Apache包括一个快速稳定的内置HTTP代理器,作为其核心产品的一部分,此外,其模块化设计允许你进行广泛的调试,这样你可以在单代理器配置中进行配置。你可以利用其内容感知来构建一个过滤和改写HTTP代理器。
Apache从2.0版开始,包括作为内置模式匹配引擎的PCRE (Perl兼容正则表达式)库,这大大地提高了规则表达式的性能。它还允许指令多个基于内容类型的解析和改写操作。
这些特点与后面将讨论的第三方和内置式模块进行结合,为保护网络应用程序提供了一个强有力的工具包。
构建平台
Mod_security(www.modsecurity.org)是防火墙的网络入侵防御能力的核心。虽然,它从一个简单的基于模式的过滤引擎开始,阻止网络蠕虫信息流,但是,它已经发展成为一个成熟的网络安全套件。
Mod_security特征使用一种基于规则表达式的过滤语言,Snort用户很熟悉这种语言,该签名可以通过mod_security站点自动更新,这与典型的IDS特征很相似。这些包括反跨站点脚本攻击的过滤器和URL中的SQL语句,以及包含shell指令和路径或者用户ID信息的信息流。
更多精彩
赞助商链接