Web Application Firewall_第1页
Web Application Firewall_第2页
Web Application Firewall_第3页
Web Application Firewall_第4页
Web Application Firewall_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web Application Firewall WAF 入门 Web Application Firewall 又名 WEB 应用安全防火墙 简称 WAF 07 年底 08 年开始 Web 应用防火墙 日趋流行 过去这些工具被很少数的大型项目垄断 但是 随着大量的低成本产品的面市以及可供选择的 开源试用产品的出现 它们最终能被大多数人所使用 在这篇文章中 先向大家介绍 Web 应用防火墙能干 什么 然后快速的概览一下 Web 应用防火墙最有用的一些特征 通过这篇文章的阅读 大家能清楚地了解 web 应用防火墙这个主题 掌握相关知识 什么是什么是 webweb 应用防火墙 应用防火墙 有趣的是 还没有人能真正知道 web 应用防火墙究竟是什么 或者确切的说 还没有一个大家认可的 精确定义 从广义上来说 Web 应用防火墙就是一些增强 Web 应用安全性的工具 然而 如果我们要深究 它精确的定义 就可能会得到更多的疑问 因为一些 Web 应用防火墙是硬件设备 一些则是应用软件 一 些是基于网络的 另一些则是嵌入 WEB 服务器的 国外市场上具有 WEB 应用防火墙功能的产品名称就有不同的几十种 更不用说是产品的形式和描述了 它难以界定的原因是这个名称包含的东西太多了 较低的网络层 Web 应用防火墙被安置在第七层 被许 多设备所覆盖 每一种设备都有它们独特的功能 比如路由器 交换机 防火墙 入侵检测系统 入侵防 御系统等等 然而 在 HTTP 的世界里 所有这些功能都被融入在一个设备里 Web 应用防火墙 总体来说 Web 应用防火墙的具有以下四个方面的功能 1 审计设备 用来截获所有 HTTP 数据或者仅仅满足某些规则的会话 2 访问控制设备 用来控制对 Web 应用的访问 既包括主动安全模式也包括被动安全模式 3 架构 网络设计工具 当运行在反向代理模式 他们被用来分配职能 集中控制 虚拟基础结构等 4 WEB 应用加固工具 这些功能增强被保护 Web 应用的安全性 它不仅能够屏蔽 WEB 应用固有弱点 而且能够保护 WEB 应用编程错误导致的安全隐患 但是 需要指出的是 并非每种被称为 Web 应用防火墙的设备都同时具有以上四种功能 由于 WEB 应用防火墙的多面性 拥有不同知识背景的人往往会关注它不同方面的特点 比如具有网络 入侵检测背景的人更倾向于把它看作是运行在 HTTP 层上的 IDS 设备 具有防火墙自身背景的人更趋向与 把它看作一种防火墙的功能模块 还有一种理解来自于 深度检测防火墙 这个术语 他们认为深度检测 防火墙是一种和 Web 应用防火墙功能相当的设备 然而 尽管两种设备有些相似之处 但是差异还是很大 的 深度检测防火墙通常工作在的网络的第三层以及更高的层次 而 Web 应用防火墙则在第七层处理 HTTP 服务并且很好地支持它 直接更改 WEB 代码解决安全问题是否更好 这是毋庸置疑的 但也没那么容易 实现 因为 通过更改 WEB 应用代码是否一定就能增强系统安全性能 这本身就存在争论 而且现实也更加 复杂 不可能确保 100 的安全 人的能力有限 会不可避免地犯错误 绝大多数情况下 很少有人力求 100 的安全 如今的现实生活中那些引领应用发展的人更多注重 功能而不是安全 这种观念正在改变 只是有点缓慢 一个复杂的系统通常包含第三方产品 组件 函数库 它们的安全性能是不为人知的 如果这 个产品的源代码是保密的 那么你必须依赖商品的厂商提供补丁 即使有些情况下源代码是公开的 你也 不可能有精力去修正它们 我们不得不使用存在安全隐患的业务系统 尽管这些旧系统根本无法改进 因此 为了获得最好的效果 我们需要双管齐下 一方面 必须提高管理者和开发者的安全意识 另 一方面 尽可能提高应用系统的安全性 WebWeb 应用防火墙的特点应用防火墙的特点 Web 应用防火墙的一些常见特点如下 异常检测协议异常检测协议 如果阅读过各种 RFC 就会发现一个被反复强调的主题 大多数 RFC 建议应用自己使用协议时要保守 而对于接受其他发送者的协议时可以自由些 Web 服务器就是这样做的 但这样的行为也给所有的攻击者 打开了大门 几乎所有的 WAF 对 HTTP 的请求执行某种异常检测 拒绝不符合 Http 标准的请求 并且 它 也可以只允许 HTTP 协议的部分选项通过 从而减少攻击的影响范围 甚至 一些 WAF 还可以严格限定 HTTP 协议中那些过于松散或未被完全制定的选项 增强的输入验证增强的输入验证 就频繁发生的 Web 安全问题而言 有些是源于对 Web 设计模型的误解 有些则来自于程序师认为浏览 器是可信的 很多 WEB 程序员用 JavaScript 在浏览器上实现输入验证 而浏览器只是一个用户控制的简 单工具 因此攻击者可以非常容易地绕过输入验证 直接将恶意代码输入到 WEB 应用服务器 有一个解决上述问题的正确方法 就是在服务端进行输入验证 如果这个方法不能实现 还可以通过 在客户和应用服务器之间增加代理 让代理去执行 Web 页面上嵌入的 JavaScript 实现输入验证 消极的安全模型消极的安全模型 VSVS 积极的安全模型积极的安全模型 曾经设置过防火墙规则的人 可能会碰到这样的建议 允许已知安全的流量 拒绝其他一切访问 这 就是一种很好的积极安全模型 恰恰相反 消极安全模型则是默认允许一切访问 只拒绝一些已知危险的 流量模式 每种安全模型方式都存在各自的问题 消极安全模型 什么是危险的 积极安全模型 什么是安全的 消极安全模式通常使用的更多 识别出一种危险的模式并且配置自己的系统禁止它 这个操作简单而 有趣 却不十分安全 它依赖于人们对于危险的认识 如果问题存在 却没有被意识到 这种情况很常见 就会为攻击者留下可趁之机 积极安全模式 又称为白名单模式 看上去是一种制定策略的更好方式 非常适于配置防火墙策略 在 Web 应用安全领域中 积极安全模式通常被概括成对应用中的每一个脚本的枚举 对枚举的每一个脚本 需要建立一个相应列表 表中内容如下所示 允许的请求方式 比如 GET POST 或者只 POST 允许的 Content Type 允许的 Content Length 允许的参数 指定参数和可选参数 参数类型 比如 文本或整数 附加参数限制 上述列表仅仅是个例子 实际的积极安全模式通常包括更多的要素 它试图从外部完成程序员本应从 内部完成的工作 为提交到 Web 应用的信息验证每一个比特 如果肯花时间的话 使用积极安全模式就是 一个比较好的选择 这个模式的难点之一 在于应用模式会随着应用的发展而改变 每当应用中添加新脚 本或更改旧脚本 就需要更新模式 但是 它适用于保护那些稳定的 无人维护的旧应用 自动开发策略可以解决以上问题 自动开发策略可以解决以上问题 一些 WAF 能够监视流量 并根据这些流量数据自动配置策略 有些产品可以实时进行这样的工作 通过白名单 可以标识特定的 IP 地址是可信的 然后 依据观察的流量 配置 WAF 更新安全策 略 如果通过一个全面的衰减测试 仿真正确的行为 来创建一个应用 并且在 WAF 处于监控状 态时执行测试 那么 WAF 可以自动生成策略 可见 没有哪个模式是完全令人满意的 消极安全模式适用于处理已知问题 而积极安全模式则适用 于稳定的 Web 应用 理想的做法是 在现实生活中 将二者结合使用 取长补短 及时补丁及时补丁 积极安全模式理论上更好一些因为浏览器和 WEB 应用程序之间的通信协议通过 HTML 规范进行了很好 的定义 现在的 Web 开发语言都可以处理带有多个参数的 HTTP 请求 因为这些参数在 Web 应用防火墙中 都是可见的 因此 WEB 应用防火墙可以分析这些参数判断是否存在允许该请求 当一个应用中的漏洞被发现时大多数情况下我们会尽可能在代码中修补它 受诸多因素的影响 如应 用的规模 是否有开发人员 法律问题等等 开发补丁的过程可能需要几分钟 或者一直到无限长的 是时间 这些时间正是攻击者发起攻击的好机会 如果开发人员能够在非常短的时间内在代码中修补好漏洞 那你就不用担心了 但如果修补这个漏洞 需要花费几天 甚至几周来修复呢 Web 应用防火墙就是处理这个问题的理想工具 只要给一个安全专家 不错的 WAF 和足够的漏洞信息 他就能在不到一个小时的时间内屏蔽掉这个漏洞 当然 这种屏蔽掉漏洞 的方式不是非常完美的 并且没有安装对应的补丁就是一种安全威胁 但我们在没有选择的情况下 任何 保护措施都比没有保护措施更好 及时补丁的原理可以更好的适用于基于 XML 的应用中 因为这些应用的通信协议都具规范性 基于规则的保护和基于异常的保护基于规则的保护和基于异常的保护 现在市场上大多数的产品是基于规则的 WAF 其原理是每一个会话都要经过一系列的测试 每一项测 试都由一个过多个检测规则组成 如果测试没通过 请求就会被认为非法并拒绝 基于规则的 WAFs 很容易构建并且能有效的防范已知安全问题 当我们要制定自定义防御策略时使用 它会更加便捷 但是因为它们必须要首先确认每一个威胁的特点 所以要由一个强大的规则数据库支持 WAF 生产商维护这个数据库 并且他们要提供自动更新的工具 这个方法不能有效保护自己开发的 WEB 应用或者零日漏洞 攻击者使用的没有公开的漏洞 这些威 胁使用基于异常的 WAF 更加有效 异常保护的基本观念是建立一个保护层 这个保护层能够根据检测合法应用数据建立统计模型 以此 模型为依据判别实际通信数据是否是攻击 理论上 一但构建成功 这个基于异常的系统应该能够探测出 任何的异常情况 拥有了它 我们不再需要规则数据库而且零日攻击也不再成问题了 但基于异常保护的 系统很难构建 所以并不常见 因为用户不了解它的工作原理也不相信它 所以它也就不如基于规则的 WAF 应用广范 状态管理状态管理 HTTP 的无状态性对 Web 应用安全有很多负面影响 会话只能够在应用层上实现 但对许多应用来说 这个附加的功能只能满足业务的需要而考虑不到安全因素了 Web 应用防火墙则将重点放在会话保护上 它的特征包括 强制登录页面 在大多数站点 你可以从任何你所知道的 URL 上访问站点 这通常方便了攻击者而 给防御增加了困难 WAF 能够判断用户是否是第一次访问并且将请求重定向到默认登录页面并且记录事件 分别检测每一个用户会话 如果能够区分不同的会话 这就带来了无限的可能 比如 我们能够监视 登陆请求的发送频率和用户的页面跳转 通过检测用户的整个操作行为我们可以更容易识别攻击 对暴力攻击的识别和响应 通常的 Web 应用网络是没有检测暴力攻击的 有了状态管理模式 WAF 能 检测出异常事件 比如登陆失败 并且在达到极限值时进行处理 此时它可以增加更多的身份认证请求 的时间 这个轻微的变化用户感觉不到 但对于足以对付自动攻击脚本了 如果一个认证脚本需要 50 毫 秒完成 那它可以发出大约每秒 20 次的请求 如果你增加一点延时 比如说 一秒种的延迟 那会将请 求降低至每秒不足一次 与此同时 发出进一步检测的警告 这将构成一个相当好的防御 实现会话超时 超出默认时间会话将失效 并且用户将被要求重新认证 用户在长时间没有请求时将 会自动退出登录 会话劫持的检测和防御 许多情况下 会话劫持会改变 IP 地址和一些请求数据 HTTP 请求的报头会 不同 状态监控工具能检测出这些异常并防止非法应用的发生 在这种情况下应该终止会话 要求用户 重新认证 并且记录一个警告日志信息 只允许包含在前一请求应答中的链接 一些 WAF 很严格 只允许用户访问前一次请求返回页面中的链 接 这看上去是一个有趣的特点但很难得到实施 一个问题在于它不允许用户使用多个浏览器窗口 另一 个问题是它令使用 JavaScript 自动建立连接的应用失效 其他防护技术其他防护技术 WAF 的另外一些安全增强的功能用来解决 WEB 程序员过分信任输入数据带来的问题 比如 隐藏表单域保护 有时 内部应用数据通过隐藏表单变量实现 而它们并不是真的隐藏的 程序员通 常用隐藏表单变量的方式来保存执行状态 给用户发送数据 以确保这些数据返回时未被修改 这是一个 复杂繁琐的过程 WAF 经常使用密码签名技术来处理 Cookies 保护 和隐藏表单相似的是 cookies 经常用来传递用户个人的应用数据 而不一样的是 一些 cookies 可能含有敏感数据 WAFs 通常会将整个内容加密 或者是将整个 cookies 机制虚拟化 有 了这种设置 终端用户只能够看到 cookies 令牌 如同会话令牌 从而保证 cookies 在 WAF 中安全地 存放 抗入侵规避技术 基于网络的 IDS 对付 WEB 攻击的问题就是攻击规避技术 改写 HTTP 输入请求数据 攻击数据 的方式太多 并且各种改写的请求能够逃避 IDS 探测 在这个方面如果能完全理解 HTTP 就 是大幅度的改进 比如 WAF 每次可以看到整个 HTTP 请求 就可以避免所有类型的 HTTP 请求分片的攻击 因为很好的了解 HTTP 协议 因此能够将动态请求和静态请求分别对待 就不用花大量时间保护不会被攻 击的静态数据 这样 WAF 可以有足够的计算能力对付各种攻击规避技术 而这些功能由 NIDSs 完成是很 耗时的 响应监视和信息泄露保护 信息泄露防护是我们给监视 HTTP 输出数据的一个名称 从原理上来说它 和请求监视是一样的 目的是监视可疑的输出 并防止可疑的 http 输出数据到达用户 最有可能的应用 模式是监视信用卡号和社会保险号 另外 这个技术的另一项应用是发现成功入侵的迹象 因为有经验攻 击者总会给信息编码来防止监测 所以防止这样有决心并技术熟练的攻击者获取信息是很困难的 但是 在攻击者没有完全掌控服务器而仅仅尝试 WEB 应用的安全漏洞的情况下 这项技术可以起到防护效果 Web 应用防火墙的主要特性 随着 web2 0 时代的到来 Web 应用也逐渐被人广泛的接受和使用 当然 每个新技术的到来对应着 其安全问题也接踵而来 面对 Web 安全问题 不同于 IDS 与 IPS 的新技术 Web 应用防火墙也逐渐映入人 们的眼中 Web 应用防火墙 Web application firewall WAF 主要用来保护 Web 应用免遭跨站脚本和 SQL 注入 等常见攻击 WAF 位于 Web 客户端和 Web 服务器之间 分析应用程序层的通信 从而发现违反预先定义好 安全策略的行为 尽管某些传统防火墙也能提供一定程度的应用认知功能 但是它不具备 WAF 的精度和准度 举例来说 WAF 可以检测一个应用程序是否按照其规定的方式运行 而且它能让你编写特定的规则来防止特定攻击行 为的再次发生 Web 应用防火墙 WAF 也不同于入侵防御系统 IPS 两者是完全不同的两种技术 后者是基于签名 而前者是从行为来分析 它能够防护用户自己无意中制造的漏洞 目前 Web 应用防火墙的主要推动因素之一是支付卡行业数据安全标准 PCI DSS 该标准主要通过两 个办法来验证是否合规 WAF 和代码审查 另外一个推动因素是 人们越来越多的认识到攻击已经开始由 网络转移到应用程序 根据 WhiteHat Security 公布的一份研究报告 从 2006 年 1 月到 2008 年 12 月间 对 877 个网站进行了评估 结果发现 82 的网站至少存在一个高危或紧急安全漏洞 WebWeb 应用防火墙的主要特性应用防火墙的主要特性 Web 应用防火墙市场仍然不确定 有很多不同的产品被归类到 WAF 范畴 研究机构 Burton Group 的 分析师 Ramon Krikken 表示 很多产品提供的功能远远超出了我们通常认为防火墙应该具有的功能 这 使得产品的评价和比较难以进行 此外 通过将已有的非 WAF 产品整合到综合产品中的方式 新厂商开 始进入市场 根据研究和咨询公司 Xiom 创始人 Ofer Shezaf 提供的清单 下面列出 Web 应用防火墙应该具备的特 性 深入理解 HTTP Web 应用防火墙必须全面深入分析和解析 HTTP 的有效性 提供明确的安全模型 明确的安全模型只允许已知流量通过 这就给应用程序提供了外部验证保护 应用层规则 由于高昂的维护费用 明确的安全模型应该配合基于签名的系统来运作 不过由于 web 应用程序是自定义编码 传统的针对已知漏洞的签名是无效的 Web 应用防火墙规则应该是通用的 并且能够发现像 SQL 注入这样的攻击变种 基于会话的保护 HTTP 的最大弱势之一在于缺乏嵌入式的可靠的会话机制 Web 应用防火墙必须实 现应用程序会话管理 并保护应用程序免受基于会话的攻击和超时攻击 允许细粒度政策管理 例外政策应该只对极少部分的应用程序执行 否则 可能会造成重大安全漏 洞 Web 应用防火墙是如何为客户提供防护的 基于 Web 的应用程序带来的是 要求安全增值厂商和系统集成商为了 web 应用防火墙一系列的服务增 加对防火墙设备的安装 配置和支持 防火墙产品因其协助遵从支付卡行业数据安全标准 PCI DSS 而 获得了关注 PCI 法规 6 6 要求机构自身检查 web 应用程序的所有代码 或者安装一个 Web 应用防火墙来 防范已知的攻击方式 对为其应用程序提供 web 访问的组织而言 它们已成为一种必须 什么是什么是 WebWeb 应用防火墙 应用防火墙 Web 应用防火墙是专门为保护基于 web 的应用程序而设计的 它不像传统的防火墙 基于互联网地址 和端口号来监控和阻止数据包 一个标准的端口号对应一种网络应用程序类型 例如 telnet 接收发送 到端口 23 的数据包 邮件服务器接收发送到端口 25 的数据包 传统的防火墙允许向邮件服务器相对应的互联网地址发送数据 让数据包通过 25 端口送达目的地 发送数据包给一个不是邮件服务器系统的互联网地址和 25 端口 就是一个攻击 防火墙会阻止这些数据 包 Web 服务器理应通过 80 端口传送数据包 所以所有发给支撑 web 服务器系统 80 端口的数据包必须被 允许通过防火墙 传统的防火墙没有办法测定一个地址指向正确的数据包是否包含威胁 但 Web 应用防火 墙可以仔细检查数据包的内容来检测并阻止威胁 Web 应用程序如何遭受攻击 黑客们不断开发新的方法获得未经授权的 Web 应用程序访问 但是也有一些通用的技术 1 SQL 注入 一些应用程序通过复制 Web 客户端输入来创建数据库查询 黑客通过构造一些应用程 序没有仔细检查和会被拒绝的字符串 来获取返回的机密数据 2 跨站点脚本 黑客插入脚本代码 如 JavaScript 或 ActiveX 到一个输入字符串 导致 Web 服 务器泄漏用户名和密码等信息 3 操作系统命令注入 一些应用程序从 web 输入来创建操作系统命令 就像访问一个文件和显示文 件内容 如果输入的字符串没有仔细检查机制 黑客就可以创建输入来显示未经授权的数据 修改文 件或系统参数 4 会话劫持 黑客通过猜测基于令牌格式知识的会话令牌的内容来获得登录会话的权利 这使得黑 客能接管会话并可以得到原来的用户帐户信息 5 篡改参数或 URL web 应用程序通常在返回的的 web 页面中嵌入参数和 URL 或者用授权的参数 更新缓存 黑客可以修改这些参数 URL 或缓存 使 Web 服务器返回不应泄漏的信息 6 缓冲区溢出 应用程序代码应该检查输入数据的长度 以确保输入数据不会超出剩余的缓冲区和 修改相邻的存储 黑客很快就会发现应用程序不检查溢出 并创建输入来导致溢出 如何阻止如何阻止 webweb 应用攻击应用攻击 Web 应用防火墙检查每一个传入的数据包的内容来检测上述类型的攻击 例如 web 应用防火墙会扫 描 SQL 查询字符串 来检测和删除那些导致返回的数据多余应用程序要求的字符串 增值厂商应仔细监测 新发展的攻击类型并跟踪检测他们的最新产品 Web 应用防火墙不仅检测上述已知类型的攻击 而且还监测异常的使用模式来检测目前未知的攻击方 法 例如 通常 Web 应用程序与 web 客户端的信息交流数量是有限的 如果 Web 应用防火墙检测到 Web 服 务器正在返回一个比预期大很多的数据量 它就会及时切断传输 以防止更多的数据泄露 目前有基于软件和基于应用程序的 web 应用防火墙 基于软件的产品布置在 Web 服务器上 而基于应 用程序的产品放置在 Web 服务器和互联网接口之间 两种类型的防火墙都会在数据传入和传出 web 服务器 之前检查数据 一般基于软件的产品成本低于基于应用程序的产品成本 基于软件的产品供应商声称这类防火墙具有 更低的延迟和更高的吞吐量 但是在 web 服务器上安装额外的软件势必会增加额外的处理负荷和系统上软 件的复杂性 基于应用程序的防火墙厂商声称 这类防火墙安装和使用简单 因为没有额外的软件安装在 Web 服务 器系统上 Web 服务器的性能不受 Web 应用程序防火墙处理的影响 除了商业产品外 也有许多开放源码的 Web 应用防火墙可用 这些产品成本低于商业产品 就开放的 源代码工具来说 他们是免费的 或者就基于开放源代码的商业产品来说 极有可能降低成本 过去开 源代码关注的是 黑客们将检查代码并设法逃避保护措施 有了应用 Linux 这类开源代码软件的丰富经验 这些都不是什么问题 所有的产品 不论是购买的还是开源代码 无论是基于软件的还是基于应用程序的 都应该得到支持 商业产品得到了供应商的支持 开放源代码为增值厂商和系统集成商提供了一个整合安全知识的机会 为 Web 应用程序防火墙提供持续的支持 确保合作伙伴与客户保持密切的关系 给供应商在未来为客户提供 更多产品和服务提供了机会 因为每个客户的环境和应用程序设置是不同的 VARs 和系统集成商必须评估每个客户的独特需求 以确定哪种类型的 Web 应用防火墙将是最合适的 但是 毫无疑问所有客户的 Web 应用程序都应该得到 Web 应用防火墙的保护 如果用户不理解这种需求或者不同意该做法 一定要介绍给他们 Web 应用程序可 能受到攻击的多种方式 仔细检查应用程序代码是一种替代 web 应用防火墙的方法 攻击都是在编译出错或者缺乏内部数据检 查的地方取得成功 从理论上来讲 一个通过代码检查员逐行检查过错误的 web 应用程序 可以替代 web 应用防火墙 在实践中 尽管软件工程师通常不相信他们的代码有缺陷 但对应用程序的不断更新使得详细的代码 检查变得几乎不可能 更不用说代码检查员很容易的就会忽略不安全的代码 特别是那些没有安全背景的 检查员 此外 黑客技术迅速发展 网络防火墙供应商时时关注新攻击类型的新闻 及时更新它们的产品 有些客户可能觉得经过代码审查的程序可以使他们避免实施一个 web 应用防火墙所带来的花费和工作量 但解决方案供应商应帮助客户认识到安全代码审查只能带来虚假的安全感 实际上并不能代替 Web 应用防 火墙提供的全面安全保护 保护数据的 Web 应用防火墙 传统防火墙用于解决网络接入控制问题 可以阻止未经授权的网络请求 而应用防火墙通过执行应用 会话内部的请求来处理应用层 应用防火墙专门保护 Web 应用通信流和所有相关的应用资源免受利用 Web 协议发动的攻击 应用防火墙可以阻止将应用行为用于恶意目的的浏览器和 HTTP 攻击 这些攻击包括利用特殊字符或 通配符修改数据的数据攻击 设法得到命令串或逻辑语句的逻辑内容攻击 以及以账户 文件或主机为主 要目标的目标攻击 实现应用防火墙有两种方式 执行积极行为的积极安全模型和阻止已知攻击的消极安全模型 实现应用防火墙有两种方式 执行积极行为的积极安全模型和阻止已知攻击的消极安全模型 积极安全模型通过在用户与应用互动时学习应用逻辑 然后再建立有效的已知请求的安全政策来执行积极安全模型通过在用户与应用互动时学习应用逻辑 然后再建立有效的已知请求的安全政策来执行 积极行为 其实现方法如下 积极行为 其实现方法如下 1 最初的策略包含有效地启动网页的清单 在创建会话政策之前 用户的最初请求必须与这些启动 网页相匹配 2 应用防火墙分析下载的网页请求 包括网页链接 下拉菜单和表格域 并制定在用户会话期间可 以发出的所有可允许的请求的政策 3 在用户请求传送给服务器之前 验证请求是否有效 政策不承认的请求被作为无效请求予以阻止 4 当用户会话结束时 这个会话政策被销毁 一次新会话 就创建一个新政策 消极安全模型依靠一个保存可能出现攻击的特征的数据库阻止识别出的攻击 实现方法如下 消极安全模型依靠一个保存可能出现攻击的特征的数据库阻止识别出的攻击 实现方法如下 1 利用已知的攻击特征集合制定政策 2 不采用下行网页分析来更新政策 3 识别出的攻击予以阻止 而未知请求 好的或坏的 都被认为是有效的并传送给服务器进行处理 4 所有的用户都共享同样的静态政策 应用防火墙安装在防火墙与应用服务器之间 在 ISO 模型的第七层上运行 所有的会话信息 包括上 行和下行的会话信息 都要流经应用防火墙 下行请求经过应用防火墙 并且在积极模型的情况下 进行 政策的解析处理 这就要求应用防火墙安装在缓存服务器的前端 以保证请求的有效性 上行请求经过只 允许有效请求通过的应用防火墙 因此避免了有害请求进入服务器 应用防火墙知道输入和输出的会话请求 提供与已有应用的联机集成 并与 Web 应用技术相兼容 应 用防火墙在威胁达到应用之前实时处理这些威胁 应用防火墙监听 80 和 443 TCP 端口 并从客户机接收 输入的 HTTP Secure HTTP 请求 然后解析这些请求 将这些请求与会话建立关系或者创建一次会话 然 后将请求与会话的政策相匹配 如果这个请求得到承认 即对应的链接得到承认 它就被转发给 Web 服务 器 如果不被承认 请求就被拒绝 Web 服务器的应答到达应用防火墙之后 会与请求所属的同一个会话 建立关系 进行解析 与此同时政策更新 承认的新链接 也被提取出来与会话建立关系 如果这是对第一个请求的应答 一个加密会话 Cookie 还被附着在这个应答中 用于识别与客户机以 后的通信会话 应用防火墙最后将这个应答转发给客户机 解读 Web 应用防火墙 作为一家第三方互联网支付公司的 CIO Dave 为公司近期发生的一系列安全事件忙得焦头烂额 虽然 已经在公司的网络出口处部署了防火墙 入侵检测系统等安全设备 但是几个月前 公司网站和支付服务 器还是遭受到拒绝服务攻击导致业务瘫痪 拒绝服务攻击事件还没处理完 Dave 又接到员工报告 公司 门户网站被 Google 报出含有恶意软件 来自来自 WebWeb 的安全挑战的安全挑战 Dave 的烦恼其实是日前众多 IT 管理者遭遇的缩影之一 随着机构的计算及业务资源逐渐向数据中心 高度集中 Web 成为一种普适平台 上面承载了越来越多的核心业务 Web 的开放性带来丰富资源 高效 率 新工作方式的同时 也使机构的资产暴露在越来越多的威胁中 现今 Web 安全问题对我们来说已屡见 不鲜 以下是收录于国际安全组织 WASC WHID 项目中的几起安全事件 2009 年 5 月 26 日 法国移动运营商 Orange France 提供照片管理的网站频道有 SQL 注入漏洞 黑客 利用此漏洞获取到 245 000 条用户记录 包括 E mail 姓名及明文方式的密码 2009 年 1 月 26 日 美国军方两台重要的服务器被土耳其黑客渗透 网页被篡改 黑客采用的是 SQL 注入攻击手段 2009 年 1 月 26 日 印度驻西班牙使馆网站被挂马 通过 iFrame 攻击植入恶意代码 WebWeb 应用安全防护解决思路应用安全防护解决思路 Web 应用安全问题本质上源于软件质量问题 但 Web 应用相较传统的软件 具有其独特性 Web 应用 往往是某个机构所独有的应用 对其存在的漏洞 已知的通用漏洞签名缺乏有效性 需要频繁地变更以满 足业务目标 从而使得很难维持有序的开发周期 需要全面考虑客户端与服务端的复杂交互场景 而往往 很多开发者没有很好地理解业务流程 人们通常认为 Web 开发比较简单 缺乏经验的开发者也可以胜任 针对 Web 应用安全 理想情况下应该在软件开发生命周期遵循安全编码原则 并在各阶段采取相应的 安全措施 然而 多数网站的实际情况是 大量早期开发的 Web 应用 由于历史原因 都存在不同程度的 安全问题 对于这些已上线 正提供生产的 Web 应用 由于其定制化特点决定了没有通用补丁可用 而整 改代码因代价过大变得较难施行或者需要较长的整改周期 针对这种现状 专业的 Web 安全防护工具是一种合理的选择 Web 应用防火墙 以下简称 WAF 正是 这类专业工具 提供了一种安全运维控制手段 基于对 HTTP HTTPS 流量的双向分析 为 Web 应用提供实 时的防护 与传统防火墙 IPS 设备相比较 WAF 最显著的技术差异性体现在 对 HTTP 有本质的理解 能完整地解析 HTTP 包括报文头部 参数及载荷 支持各种 HTTP 编码 如 chunked encoding request response 压缩 提供严格的 HTTP 协议验证 提供 HTML 限制 支持各类 字符集编码 具备 response 过滤能力 提供应用层规则 Web 应用通常是定制化的 传统的针对已知漏洞的规则往往不够有效 WAF 提供专 用的应用层规则 且具备检测变形攻击的能力 如检测 SSL 加密流量中混杂的攻击 提供正向安全模型 白名单 仅允许已知有效的输入通过 为 Web 应用提供了一个外部的输入验证 机制 安全性更为可靠 提供会话防护机制 HTTP 协议最大的弊端在于缺乏一个可靠的会话管理机制 WAF 为此进行有效补充 防护基于会话的攻击类型 如 cookie 篡改及会话劫持攻击 如何正确选择如何正确选择 WAFWAF 并非对 Web 服务器提供保护的 盒子 都是 WAF 事实上 一个真正满足需求的 WAF 应该具有二维的 防护体系 纵向提供纵深防御 通过建立协议层次 信息流向等纵向结构层次 构筑多种有效防御措施阻止攻击 并发出告警 横向 满足合规要求 缓解各类安全威胁 包括网络层面 Web 基础架构及 Web 应用层面 降低服 务响应时间 显著改善终端用户体验 优化业务资源和提高应用系统敏捷性 在选择在选择 WAFWAF 产品时 建议参考以下步骤 产品时 建议参考以下步骤 结合业务需求明确安全策略目标 从而定义清楚 WAF 产品必须具备的控制能力 评估每一家厂商 WAF 产品可以覆盖的风险类型 测试产品功能 性能及可伸缩性 评估厂商的技术支持能力 评估内部维护团队是否具备维护 管理 WAF 产品的必需技能 权衡安全 产出以及总成本 成本 不仅仅意味着购买安全产品 服务产生的直接支出 还需要考 虑是否影响组织的正常业务 是否给维护人员带来较大的管理开销 WAFWAF 应用场景应用场景 相信通过前文的介绍 大家对 WAF 产品已经有了初步了解 但也可能存在疑问 部署 WAF 实际到底 可以解决什么问题 下面将介绍几个典型的应用场景 WAF 支持完全代理方式 作为 Web 客户端和服务器端的中间人 避免 Web 服务器直接暴露在互联网上 监控 HTTP HTTPS 双向流量 对其中的恶意内容 包括攻击请求以及网页内容中被植入的恶意代码 进行 在线清洗 网页篡改在线防护网页篡改在线防护 按照网页篡改事件发生的时序 提供事中防护以及事后补偿的在线防护解决方案 事中 实时过滤 HTTP 请求中混杂的网页篡改攻击流量 如 SQL 注入 XSS 等 事后 自动监控网站所有需保护页面的完 整性 检测到网页被篡改 第一时间对管理员进行短信告警 对外仍显示篡改前的正常页面 用户可正常 访问网站 网页挂马在线防护网页挂马在线防护 网页挂马为一种相对比较隐蔽的网页篡改方式 本质上这种方式也破坏了网页的完整性 网页挂马攻 击目标为各类网站的最终用户 网站作为传播网页木马的 傀儡帮凶 严重影响网站的公信度 当用户请求访问某一个页面时 WAF 会对服务器侧响应的网页内容进行在线检测 判断是否被植入恶 意代码 并对恶意代码进行自动过滤 敏感信息泄漏防护敏感信息泄漏防护 WAF 可以识别并更正 Web 应用错误的业务流程 识别并防护敏感数据泄漏 满足合规与审计要求 具 体如下 可自定义非法敏感关键字 对其进行自动过滤 防止非法内容发布为公众浏览 Web 站点可能包含一些不在正常网站数据目录树内的 URL 链接 比如一些网站拥有者不想被公开访问 的目录 网站的 Web 管理界面入口及以前曾经公开过但后来被隐藏的链接 WAF 提供细粒度的 URL ACL 防止对这些链接的非授权访问 网站隐身 过滤服务器侧出错信息 如错误类型 出现错误脚本的绝对路径 网页主目录的绝对路径 出现错误的 SQL 语句及参数 软件的版本 系统的配置信息等 避免这些敏感信息为攻击者利用 提升入 侵的概率 对数据泄密具备监管能力 能过滤服务器侧响应内容中含有的敏感信息 如身份证号 信用卡号等 防火墙加 web 应用防火墙解决赵明问题 赵明的安全问题很常见 从 2008 年开始 大量企业 政府的网站遭遇 Web 攻击 甚至有黑客通过攻 击企业网站勒索钱财 众多的事例使企业逐渐认识到 由于很多攻击已经转向应用层 传统的防火墙 IPS 网页防篡改设备都无法彻底阻止此类攻击 必须要安装 Web 应用防火墙 以下简称 WAF 来保护 Web 应用 只要有网络的地方就会有防火墙 但传统的防火墙只是针对一些底层 网络层 传输层 的信息进行 阻断 而 WAF 则深入到应用层 对所有应用信息进行过滤 这是二者的本质区别 WAF 的运行基础是应用层访问控制列表 整个应用层的访问控制列表所面对的对象是网站的地址 网 站的参数 在整个网站互动过程中所提交的一些内容 包括 HTTP 协议报文内容 由于 WAF 对 HTTP 协议完 全认知 通过内容分析就可知道报文是恶意攻击还是非恶意攻击 IPS 只是做部分的扫描 而 WAF 会做完 全 深层次的扫描 从攻击发生的时间轴来看 WAF 应具备事前预防 事中防护及事后补偿的综合能力 对最为核心的事 中防护能力而言 WAF 作为一种专业的 Web 安全防护工具 基于对 HTTP HTTPS 流量的双向解码和分析 可应对 HTTP HTTPS 应用中的各类安全威胁 如 SQL 注入 XSS 跨站请求伪造攻击 CSRF Cookie 篡 改以及应用层 DDoS 等 能有效解决网页篡改 网页挂马 敏感信息泄露等安全问题 充分保障 Web 应用 的高可用性和可靠性 对于事中疏漏的攻击 可用事前的预发现和事后的弥补 形成环环相扣的动态安全防护 事前是用扫 描方式主动检查网站 而事后的防篡改可以保证即使出现疏漏也让攻击的步伐止于此 不能进一步修改和 损坏网站文件 对于要求高信誉和完整性的用户来说 这是尤为重要的环节 WAF 的核心技术在于对 HTTP 本质的理解以及 Web 攻击防护的能力 前者要求 WAF 能完整地解析 HTTP 包括报文头部 参数及载荷 支持各种 HTTP 编码 如 chunked encoding 提供严格的 HTTP 协 议验证 提供 HTML 限制 支持各类字符集编码 具备 HTTP Response 过滤能力 从降低安全风险的角度 而言 后者要求 WAF 能有效影响攻击者因素中的机会 群体因子以及漏洞因素中的发现难易度 利用难易 度 入侵检测与觉察度因子 下面我们来看看 WAF 是如何防御 Web 攻击的 CSRF 是一类被广泛利用的 Web 应用安全漏洞 该攻击 通过伪造来自受信任用户的服务请求 诱使用户按照攻击者的意图访问网站信息 或者执行一些恶意的操 作 比如登出网站 购买物品 改变账户信息 获取账号 或其他任何网站授权给该用户的操作等 除了上述用户输入类型的攻击 还有一类影响 Web 应用可用性的攻击也比较典型 即应用层 DDoS 攻 击 在国内更习惯称为 CC 攻击 不同于网络层带宽耗尽型的 DDoS 攻击 此类攻击构思更为精巧 意在以 相对较小的代价耗尽 Web 服务器侧的系统资源 如磁盘存储 数据库连接 线程等 2009 年 6 月 18 日 国际安全组织 SANS 报导了一种新型 Apache HTTP DoS 工具 运用此工具 一个带宽很小的用户都可能对 一台高速服务器发起攻击 该工具对 Apache 1 x 和 Apache 2 x 版本以及 Squid 都有效 攻击原理为 如果向服务器发送不完整的 HTTP 请求报文 会让 HTTP 连接一直处于开放状态 工具可在 Web 服务器超时 时间内频繁发起这样的连接 导致连接耗尽 其构思精巧之处还在于 GET 请求是不带数据的 而攻击者 恶意构造了 Content Length 字段 表示后续有数据 哄骗 Web 服务器持续等待后续数据的到达 从而占 用连接 基于规则的 DoS 防护或者调整 Apache 配置 如增加 MaxClients 值 只是增加攻击的难度 均很难应 对这种攻击工具 而应用了多种防护技术 重定向 HTTP 头部解析会话超时机制以及请求方法识别等 的 WAF 产品 可天然应对基于这类工具的攻击 学习让学习让 WAFWAF 进步进步 面对日趋精细化和复杂化的 Web 攻击手法 厂商对 Web 攻击的持续研究实力将充分体现在 WAF 的防护 能力上 同时对 WAF 提出了需要与业务结合更为紧密的要求 WAF 需要了解数据流向 应用的业务逻辑 用户访问习惯等 在此基础上进行安全建模 采用一种白名单的方式 即只有符合此安全建模的输入 WAF 才予以放行 另一方面 WAF 与其他安全产品的有效结合也是一种很好的思路 如 WAF 与 Web 扫描工 具结合 Web 扫描工具的扫描结果可以形成 WAF 的防护规则 WAF 与蜜罐结合 由蜜罐捕获到的新型恶意 行为特征 同样可以转化为 WAF 的防护规则 从而在这类攻击广为流行之前 WAF 能预先提供有效的应对 措施 云安全是现有安全架构的自然发展和有利补充 作为可能的发展方向 将 WAF 集成于云安全体系中 会让 WAF 提前对 Web 安全威胁进行响应 同时 开放和实时的云安全服务也将显着改善最终用户体验 应对 Web 安全威胁与满足合规要求 如 PCI DSS 合规要求 是目前客户采购 WAF 的主要驱动力 与前 几年相比 2009 年 WAF 技术有两方面的变化 一方面 核心技术的加强 功能的横向扩展以及产品性能 的提升 如正向安全模型 白名单 及反向安全模型 黑名单 相结合 双向内容检测 集成 Web 扫描功 能 单一平台整合 Web 应用安全与交付功能 采用具备应用层高吞吐能力的平台 另一方面体现为降低管 理开销 提供集中管理 面向特定应用的策略模板 自学习模型 简单易用且功能强大的报表系统 体现 网站合规状态及安全状态 等 WAF 在保护云计算的安全方面也可尽一份力 绿盟科技的赵旭认为 云计算服务架构自上而下包括 SaaS 软件作为服务 PaaS 平台作为服务 及 IaaS 基础设施作为服务 WAF 可以应用于解决云计 算服务架构的自身安全问题 如在 SaaS 层面提供应用及数据安全 保护数据中心 确保云计算服务的质 量 另一方面 WAF 本身也可以融于云安全平台 以灵活的产品形态 不拘泥于现今市场比较主流的硬件 盒子 提供 Web 应用安全服务 为了给云计算提供安全保护 必须将 WAF 对应用服务器的防护扩展到云系统中的大型数据中心 允 许在托管的应用间灵活地分配资源 包括网络带宽 服务请求等 并且能够根据每个托管应用程序提供 完整的虚拟化服务 包括安全 日志 审计 应用交付等 谷新说 Internet 计算环境出现了这样的矛盾 业务资源集中化 资源端计算能力强 在网络边界访问业务 资源的客户端通常带宽 计算能力都较弱 同时客户端也经常成为安全威胁的宿主 这种矛盾导致了客户 端的体验差 业务资源无法充分发挥效能 未来 Web 安全和 Web 应用交付融合的趋势日趋明显 对于机 构的 IT 决策者来说 面临的最大挑战在于如何缓解针对 Web 业务的各类安全威胁 高效保障 Web 应用的 可用性和可靠性 优化业务资源和提高应用系统敏捷性 从技术发展来说 WAF 需要确保 Web 业务在安全和性能两方面的收益最大化 一方面 WAF 需提供增 强的安全功能 应对日趋复杂且针对性强的高风险 Web 攻击 另一方面 WAF 还需要确保 Web 应用的可用 性 可伸缩性 高性能 降低服务响应时间 显着改善终端用户体验 优化业务资源和提高应用系统敏捷 性 提高数据中心的效率和服务器的投资回报率 此外 从产品向服务的演变也是一种趋势 下一步 WAF 厂商可与 MSSP 托管安全服务提供商 合作 面向用户按需提供基于网络的 WAF 服务或者虚拟化的 WAF 服务 部署很简单 防火墙和 Web 应用防火墙一起 赵明的问题就可以解决了 WAF vs IPS 谁更适合防护 Web 应用 谁是最佳选择 谁是最佳选择 Web 应用防护无疑是一个热门话题 由于技术的发展成熟和人们对便利性的期望越来越高 Web 应用 成为主流的业务系统载体 在 Web 上 安家 的关键业务系统中蕴藏的数据价值引起攻击者的青睐 网上 流传的 Web 漏洞挖掘和攻击工具让攻击的门槛降低 也使得很多攻击带有盲目和随机性 比如利用 GoogleHacking 原理的批量查找具有已知漏洞的应用程序 还有 SQL 批量注入和挂马等 但对于重要的 Web 应用 比如运营商或金融 始终有受利益驱动的黑客进行持续的跟踪 如果说传统的 大而全 安全防护产品能抵御大多数由工具产生的攻击行为 那么对于有针对性的攻 击行为则力不从心 而 WAF 正是应需求而生的一款高端专业安全产品 这也是市场需求细化的必然趋势 但由于其部署和功能方面与 IPS 有类似 有人提出疑问 为什么不能用 IPS 或者说 WAF 与 IPS 有什么异 同 谁更适合保护 Web 服务器 这些疑问其实是有道理的 差异化的产生在于高端需求是不同的 从而需要细化功能贴合具体需求和 符合应用现状的产品 这也是用户需求是随着业务自身的发展所决定的 保镖和保安保镖和保安 为了更好的理解两款产品差异性 我们先用这个保镖 WAF 和保安 IPS 比喻来描述 大楼保安需要对所有进出大楼人员进行检查 一旦发现可疑人员则禁止他入内 但如果混进 貌似忠 良 的坏人去撬保险柜等破坏行为 大楼保安是无能为力的 私人保镖则是指高级别 更 贴身 的保护 他通常只保护特定的人员 所以事先需要理解被保护人 的身份 习惯 喜好 作息 弱点等 因为被保护人的工作是需要去面对不同的人 去不同的场合 保镖 的职责不能因为危险就阻止 改变他的行为 只能去预见可能的风险 然后量身定做合适的保护方案 这两种角色的区别在于保安保护的是整个大楼 他不需要也无法知道谁是最需要保护的人 保镖则是 明确了被保护对象名单 需要深刻理解被保护人的个性特点 图 1 1 保镖和保安 通过上面的比喻 大家应该明白

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论