Web应用安全解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代的信息系统, 无论是建立对外的信息发布和数据交换平台, 还是建立内部的业务应用系统,都离不开W eb 应用.W eb 应用不仅给用户提供一个方便和易用的交互手段,也给信息和服务提供者构建一个标准技术开发和应用平台.
网络的发展历史也可以说是攻击与防护不断交织发展的过程. 目前, 全球网络用户已近20 亿, 用户利用互联网进行购物、银行转账支付和各种软件下载, 企业用户更是依赖于网络构建他们的核心业务,对此,W eb 安全性已经提高一个空前的高度.
然而, 随着黑客们将注意力从以往对网络服务器的攻击逐步转移到了对W eb 应用的攻击上,他们针对W eb 和应用的攻击愈演愈烈,频频得手.根据Gartner 的最新调查,信息安全攻击有75% 都是发生在W eb 应用而非网络层面上. 同时, 数据也显示, 三分之二的W eb 站点都相当脆弱,易受攻击.
另外, 据美国计算机安全协会〔CSI 〕/美国联邦调查局〔FBI 〕的研究表明,在接受调查的公司中,2004 年有52% 的公司的信息系统遭受过外部攻击〔包括系统入侵、滥用W eb 应用系统、网页置换、盗取私人信息与拒绝服务等等〕, 这些攻击给269 家受访公司带来的经济损失超过1.41 亿美元, 但事实上他们之中有98% 的公司都装有防火墙.早在2002 年,IDC 就曾经在报告中认为," 网络防火墙对应用层的安全已起不到什么作用了, 因为为了确保通信, 网络防火
内 的 W eb 端 口 都 必 须 处 于 开 放 状 态 ."
目 前 , 利 用 网 上 随 处 可 见 的 攻 击 软 件 , 攻 击 者 不 需 要 对 网 络 协 议 深 厚 理 解 , 即 可 完 成 诸 如 更 换 W eb 主 页 、 盗 取 管 理 员 密 码 、 破 坏 整 个 数 据 等 等 攻 击 . 而 这 些 攻 击 过 程 中 产 生 的 网 络 层 数 据 , 和 正 常 数 据 没 有 什 么 区 别 .
在 W eb 应 用 的 各 个 层 面 ,都 会 使 用 不 同 的 技 术 来 确 保 安 全 性 ,如 图 示 1 所 示 . 为 了 保 证 用 户 数 据 传 输 到 企 业 W eb 服 务 器 的 传 输 安 全 , 通 信 层 通 常 会 使 用 SSL 技 术 加 密 数 据 ;企 业 会 使 用 防 火 墙 和 IDS/IPS 来 保 证 仅 允 许 特 定 的 访 问 , 所 有 不 必 要 暴 露 的 端 口 和 非 法 的 访 问 ,在 这 里 都 会 被 阻 止 .
图 示 1 Web 应 用的 安全 防护
但 是 , 即 便 有 防 火 墙 和 IDS/IPS, 企 业 仍 然 不 得 不 允 许 一 部 分 的 通 讯 经 过 防 火 墙 , 毕 竟 W eb 应 用 的 目 的 是 为 用 户 提 供 服 务 , 保 护 措 施 可 以 关 闭 不 必 要 暴 露
已知 Web
服务器漏洞
端口扫描
应 用 服 务 器
数 据 库 服 务 器
W eb 服 务 器
网络层 模式攻击
DoS 攻击
的端口,但是W eb 应用必须的80 和443 端口,是一定要开放的.可以顺利通过的这部分通讯, 可能是善意的, 也可能是恶意的, 很难辨别. 而恶意的用户则可以利用这两个端口执行各种恶意的操作,或者者偷窃、或者者操控、或者者破坏W eb 应用中的重要信息.
然而我们看到的现实确是, 绝大多数企业将大量的投资花费在网络和服务器的安全上, 没有从真正意义上保证W eb 应用本身的安全, 给黑客以可乘之机. 如图示3 所示,在目前安全投资中,只有10 %花在了如何防护应用安全漏洞, 而这却是75 %的攻击来源.正是这种投资的错位也是造成当前W eb 站点频频被攻陷的一个重要因素.
安全风险安全投资
图示 2 安全风险和投资
Web 应用系统有着其固有的开发特点:经常更改、设计和代码编写不彻底、没有经过严格的测试等,这些特点导致W eb 应用出现了很多的漏洞.另外,管理员对W eb 服务器的配置不当也会造成很多漏洞. 目前常用的针对W eb 服务器和W eb 应用漏洞的攻击已经多达几百种, 常见的攻击手段包括:注入式攻击、跨站脚本攻击、上传假冒文件、不安全本地存储、非法执行脚本和系统命令、源代码泄漏、URL 访问限制失效等.攻击目的包括:非法篡改网页、非法篡改数据库、非法执行命令、跨站提交信息、资源盗链、窃取脚本源程序、窃取系统信息、窃取用户信息等.
iGuard 网页防篡改系统采用先进的W eb 服务器核心内嵌技术,将篡改检测模块〔数字水印技术〕和应用防护模块〔防注入攻击〕内嵌于W eb 服务器内部, 并辅助以增强型事件触发检测技术, 不仅实现了对静态网页和脚本的实时检测和恢复, 更可以保护数据库中的动态内容免受来自于W eb 的攻击和篡改,彻底解决网页防篡改问题.
iGuard 的篡改检测模块使用密码技术, 为网页对象计算出唯一性的数字水印. 公众每次访问网页时,都将网页内容与数字水印进行对比;一旦发现网页被非法修改, 即进行自动恢复, 保证非法网页内容不被公众浏览. 同时,iGuard 的应用防护模块也对用户输入的URL 地址和提交的表单内容进行检查,任何对数
据库的注入式攻击都能够被实时阻断.
iGuard 以国家863 项目技术为基础,全面保护的静态网页和动态网页.iGuard 支持网页的自动发布、篡改检测、应用保护、警告和自动恢复,保证传输、鉴别、完整性检查、地址访问、表单提交、审计等各个环节的安全, 完全实时地杜绝篡改后的网页被访问的可能性,也杜绝任何使用W eb 方式对后台数据库的篡改.
iGuard 支持所有主流的操作系统,包括:W indows 、Linux 、FreeBSD 、Unix 〔Solaris 、HP-UX 、AIX 〕;支持常用的W eb 服务器软件,包括:IIS 、Apache 、SunONE 、W eblogic 、WebSphere 等;保护所有常用的数据库系统,包括:SQL Server 、Oracle 、MySQL 、Access 等.
iW all 应用防火墙〔Web 应用防护系统〕是一款保护W eb 站点和应用免受来自于应用层攻击的W eb 防护系统.
iW all 应用防火墙实现了对W eb 站点特别是W eb 应用的保护. 它内置于W eb 服务器软件中, 通过分析应用层的用户请求数据〔如URL 、参数、、Cookie 等〕, 区分正常用户访问W eb 和攻击者的恶意行为,对攻击行为进行实时阻断和报警.
这些攻击包括利用特殊字符修改数据的数据攻击、设法执行程序或者脚本的命令攻击等, 黑客通过这些攻击手段可以达到篡改数据库和网页、绕过身份认证和假冒用户、窃取用户和系统信息等严重危害内容安全的目的.
iW all 应用防火墙对常见的注入式攻击、跨站攻击、上传假冒文件、不安全本地存储、非法执行脚本、非法执行系统命令、资源盗链、源代码泄漏、URL 访问限制失效等攻击手段都着有效的防护效果.
iW all 应用防火墙为软件实现,适用于所有的操作系统和W eb 服务器软件,并且完全对W eb 应用系统透明.
应用防火墙是现代网络安全架构的一个重要组成部分, 它着重进行应用层的内容检查和安全防御, 与传统安全设备共同构成全面和有效的安全防护体系.
iGuard 支持以下篡改检测和恢复功能:
支持安全散列检测方法;
可检测静态页面/动态脚本/二进制实体;
支持对注入式攻击的防护;
网页发布同时自动更新水印值;
网页发送时比较网页和水印值;
支持断线/连线状态下篡改检测;
支持连线状态下网页恢复;
网页篡改时多种方式报警;
网页篡改时可执行外部程序或者命令;
可以按不同容器选择待检测的网页;
支持增强型事件触发检测技术;
加密存放水印值数据库;
支持各种私钥的硬件存储;
支持使用外接安全密码算法.
iGuard 支持以下自动发布和同步功能:
自动检测发布服务器上文件系统任何变化;
文件变化自动同步到多个W eb 服务器;
支持文件/目录的增加/删除/修改/更名;
支持任何内容管理系统;
支持虚拟目录/虚拟主机;
支持页面包含文件;
支持双机方式的冗余部署;
断线后自动重联;
上传失败后自动重试;
使用SSL 安全协议进行通信;
保证通信过程不被篡改和不被窃听;
通信实体使用数字证书进行身份鉴别;
所有过程有详细的审计.
iW all 可以对请求的特性进行以下过滤和限制:
请求头检查:对报文中请求头的名字和长度进行检查.
请求方法过滤:限制对指定请求方法的访问.
请求地址过滤:限制对指定请求地址的访问.
请求开始路径过滤:限制请求中的对指定开始路径地址的访问.
请求文件过滤:限制请求中的对指定文件的访问.
请求文件类型过滤:限制请求中的对指定文件类型的访问.
请求版本过滤:限制对指定版本的访问与完整性检查.
请求客户端过滤:限制对指定客户端的访问与完整性检查.
请求过滤:限制字段中含有的字符与完整性检查.
鉴别类型过滤:限制对指定鉴别类型的访问.
鉴别## 过滤:限制对指定鉴别## 的访问.
内容长度过滤:限制对指定请求内容长度的访问.
内容类型过滤:限制对指定请求内容类型的访问.
这些规则需要可以根据W eb 系统的实际情况进行配置和分站点应用.
iW all 可以对请求的内容进行以下过滤和限制:
URL 过滤:对提交的URL 请求中的字符进行限制.
请求参数过滤:对GET 方法提交的参数进行检查〔包括注入式攻击和代码攻击〕.
请求数据过滤:对POST 方法提交的数据进行检查〔包括注入式攻击和代码攻击〕.
Cookie 过滤:对Cookie 内容进行检查.
盗链检查:对指定的文件类型进行参考域的检查.
跨站脚本攻击检查:对指定的文件类型进行参考开始路径的检查. 这些规则需要可以根据W eb 系统的实际情况进行配置和分站点应用.
iW all 可以分别为一台服务器上不同的站点制定不同的规则, 站点区分的方法包括:
不同的端口.
不同的IP 地址.
不同的主机头名〔即域名〕.
iW all 组合以上限制特性,可针对以下应用攻击进行有效防御:
SQL 数据库注入式攻击.
脚本源代码泄露.
非法执行系统命令.
非法执行脚本.
上传假冒文件.
跨站脚本漏洞.
不安全的本地存储.
资源盗链.
应用层拒绝服务攻击.
对 这 些 攻 击 更 详 细 的 描 述 见 本 文 档 第 6 章 : 常 见 应 用 层 攻 击 简 介 .
部 署 iGuard 至 少 需 要 两 台 服 务 器 :
: 位 于 内 网 中 , 本 身 处 在 相 对 安 全 的 环 境 中 , 其 上 部 署
iGuard 的 发 布 服 务 器 软 件 .
: 位 于 公 网 /DMZ 中 ,本 身 处 在 不 安 全 的 环 境 中 ,其 上 部 署
iGuard 的 W eb 服 务 器 端 软 件 .
它 们 之 间 的 关 系 如 图 示 1 所 示 .
图示 1 iGuard 两台服务器
工nterne
发 布 服 务 器 上 运 行 iGuard 的 " " 〔 Staging Server 〕 .所 有 网 页
iGuard
发布服务器软件
Web 服务器
工nternet iGuard Web 服务器端软件
发布服务器
工ntranet
DMZ
的合法变更〔包括增加、修改、删除、重命名〕都在发布服务器上进行.
发布服务器上具有与Web 服务器上的网页文件完全相同的目录结构,发布服务器上的任何文件/目录的变化都会自动和立即地反映到W eb 服务器的相应位置上,文件/目录变更的方法可以是任意方式的〔例如:FTP 、SFTP 、RCP 、
NFS 、文件共享等〕. 网页变更后"将其同步到Web 服务器
上.
发布服务器是部署iGuard 时新增添的机器,原则需要一台独立的服务器;对于网页更新不太频繁的,也可以用普通PC 机或者者与担任其他工作的服务器共用.
发布服务器为PC 服务器, 其本身的硬件配置无特定要求, 操作系统可选择Windows 〔一般〕或者Linux 〔大型,需选加Linux 企业发布模块〕.
Web 服务器上除了原本运行的W eb 服务器软件〔如IIS 、Apache 、SunONE 、Weblogic 、W ebsphere 等〕外,还运行有iGuard 的"W eb 服务器端软件","W eb 服务器端软件"由"〔SyncServer 〕和"〔AntiTamper 〕
组成.
" "负责与iGuard 发布服务器通信,将发布服务器上的所有
网页文件变更同步到Web 服务器本地;" "作为W eb 服务
器软件的一个插件运行,负责对W eb 请求进行检查和对网页进行完整性检查, 需要对W eb 服务器软件作适当配置, 以使其生效.
Web 服 务 器 是 用 户 原 有 的 机 器 ,iGuard 可 适 应 于 任 何 硬 件 和 操 作 系 统 .
目 前 ,大 部 分 都 使 用 了 内 容 管 理 系 统〔CMS 〕来管 理 网 页 产 生 的 全 过 程 ,包 括 网 页 的 编 辑 、审 核 、签 发 和 合 成 等 . 在 的 网 络 拓 扑 中 , 部 署 在 原 有 的 和
之 间 , 图 示 2 表 明 了 三 者 之 间 的 关 系 .
图 示 2 标 准 部 署 图
为 一 个 已 有 的 W eb 站 点 部 署 iGuard 时 ,W eb 服 务 器 和 内 容 管 理 系 统 都 沿 用 原 来 的 机 器 , 而 需 要 在 其 间 增 加 一 台 .iGuard 的 自 动 同 步 机 制 完 全 与 内 容 管 理 系 统 无 关 的 , 适 合 与 所 有 的 内 容 管 理 系 统 协 同 工 作 , 而 内 容 管 理 系 统 本 身 无 须 作 任 何 变 动 .
发 布 服 务 器 上 具 有 与 Web 服 务 器 上 的 文 件 完 全 相 同 的 目 录 结 构 , 任 何 文 件 /目 录 的 变 化 都 会 自 动 映 射 到 W eb 服 务 器 的 相 应 位 置 上 .
网 页 的 合 法 变 更 〔 包 括 增 加 、 修 改 、 删 除 、 重 命 名〕 都 在 发 布 服 务 器 上 进 行 , 变 更 的 手 段 可 以 是 任 意 方 式 的 〔 例 如 : FTP 、 SFTP 、 RCP 、 NFS 、 文 件 共 享 等 〕. 网 页 变 更 后 ,发 布 服 务 器 将 其 同 步 到 W eb 服 务 器 上 . 无 论 什 么 情 况 下 ,不 允 许 直 接 变 更 W eb 服 务 器 上 的 页 面 文 件 .
内容管理系统 <第三方软件>
Web 服务器
发布服务器
Internet
iGuard 一般情况下与内容管理系统分开部署, 当然它也可以与内容管理系统部署在一台机器上,在这种情形下,iGuard 还可以提供接口,与内容管理系统进行互相的功能调用, 以实现整合性更强的功能.
Web 站点运行的稳定性是最关键的.iGuard 支持所有部件的多机工作和热备:可以有多台安装了iGuard 防篡改模块和同步服务软件的W eb 服务器,也可以有两台安装了iGuard 发布服务软件的发布服务器,如图示4 所示. 它实现了2Xn 的同步机制〔2 为发布服务器,n 为Web 服务器〕, 当 2 或者n 的单点失效完全不影响系统的正常运行,且在修复后自动工作.
Web 服务器1
发布服务器<主>
……
内容管理系统
主备通信
……
Web 服务器n
DMZ
发布服务器<备> 工ntranet
图示 3 集群和双机部署示意图
iGuard 发布服务器支持 1 对多达64 台W eb 服务器的内容同步, 这些W eb 服务器的操作系统、W eb 服务器系统软件、应用脚本与网页内容既可以相同也可以不同.iGuard 实现了异种系统架构下对不同内容的统一管理.
当多台W eb 服务器作镜像集群时,iGuard 对于能够严格保证多台Web 服务器内容相同. 当单台W eb 服务器失效时, 由于Web 服务器集群前端通常有负载均衡设备, 因此, 它并不影响公众访问. 同时, 它的失效也不影响iGuard 发布服务器向其他正常工作的Web 服务器提供内容同步.在失效期间,iGuard 发布服务器会尝试连接这台Web 服务器, 一旦它修复后重新工作, 即可自动进行连接, 并自动进行内容同步.
因此,W eb 服务器的单点失效不影响系统的完整性, 并且在系统恢复时不需要对其余机器作任何手工操作.
iGuard 支持发布服务器双机协同工作, 即一台主发布服务器和一台热备发布服务器.在这种部署情形下, 内容管理系统〔CMS 〕需要将内容同时发布到两台iGuard 服务器上. 在正常状态下,iGuard 主发布服务器工作, 由它对所有W eb 服务器进行内容同步. 显然, 热备发布服务器失效不影响系统运作, 一旦在它修复后可以从主发布服务器恢复数据, 进入正常热备状态. 主发布服务器如果失效〔即不发心跳信号〕, 热备发布服务器会接管工作, 由它对所有Web 服务器
进 行 内 容 同 步 . 当 主 发 布 服 务 器 修 复 后 , 两 机 同 时 工 作 , 经 过 一 段 时 间 的 数 据 交 接 时 间 , 热 备 发 布 服 务 器 重 新 进 入 热 备 状 态 .
因 此 ,iGuard 发 布 服 务 器 的 单 点 失 效 也 不 影 响 系 统 的 完 整 性 ,并 且 在 系 统 恢 复 时 不 需 要 对 其 余 机 器 作 任 何 手 工 操 作 .
iW all 由 以 下 两 个 模 块 组 成 :
应 用 防 护 模 块 .iW all 的 核 心 防 护 模 块 , 内 嵌 于 Web 系 统 〔 W eb 服 务 器
软 件 〕 中 , 与 W eb 服 务 器 一 起 运 行 .
配 置 管 理 模 块 .iW all 的 配 置 生 成 程 序 ,在 独 立 管 理 员 机 器 上 运 行 ,仅 在
系 统 管 理 员 需 要 改 变 iWall 配 置 时 才 使 用 .
两 者 之 间 没 有 通 信 连 接 .仅 通 过 一 个 配 置 文 件 交 换 数 据 , 即 :配 置 管 理 模 块 生 成 一 个 配 置 文 件 ,将 它 复 制 到 W eb 服 务 器 上 供 应 用 防 护 模 块 使 用 . 它 们 的 关 系 如 图 示 5-1 所 示 .
图示 二4 部署示意图
iWall
应用防护模块
Web 服务器
iWall
配置管理模块
管理员用机
配置文件
采取这种配置方式的优点在于:
避免直接在W eb 服务器上修改配置,不给黑客可乘之机.
避免在W eb 上新开管理网络端口,不增加新的安全隐患.
在多个W eb 服务器镜像时,可以快速生成统一配置.
"## ×× "目前的网络拓扑图如图示4 所示.
Web 服务器双机
内容管理系统n
图示 5 系统现状拓扑图
Web 内容既有全静态站点,也有动态应用站点;
Web 服务器的操作系统为Sun Salaris ;
目 前 这 个 系 统 在 网 页 内 容 方 面 存 在 如 下 安 全 隐 患 :
网 页 篡 改 : 没 有 部 署 网 页 防 篡 改 系 统 ,静 态 网 页 一 旦 被 黑 客 篡 改 , 没 有
检 查 、 报 警 和 恢 复 机 制 .
应 用 防 护 : 没 有 应 用 防 护 机 制 ,容 易 遭 受 各 类 web 攻 击 ,例 如 注 入 式 、
跨 站 、上 传 假 冒 文 件 、不 安 全 本 地 存 储 、非 法 执 行 脚 本 、非 法 执 行 系 统 命 令 、 资 源 盗 链 、 源 代 码 泄 漏 、 URL 访 问 限 制 失 效 等 .
"## ×× "部 署 W eb 应 用 安 全 产 品 的 网 络 拓 扑 图 如 图 示 5 所 示 .
图示 6部署拓扑图
发布服务器<主> Web 服务器双机
iWall 配置管理模块
发布服务器<备>
DMZ 工ntranet
内容管理系统
主备通信
增加:新增一台PC 服务器〔iGuard 发布服务器〕, 其上部署iGuard 发布服务器软件以与iWall 配置管理模块.
增加:在W eb 服务器上部署iGuard 同步服务器和防篡改模块以与iW all 应用防护模块,并开放指定端口.
变更:CMS 内容管理系统的目标发布地址由各W eb 服务器改为iGuard 发布服务器.
双机部署〔可选〕:为避免单点失效, 两台iGuard 发布服务器可以作双机部署.
1) CMS 内容管理系统将网页文件发布到iGuard 发布服务器上.
2) iGuard 发布服务器检测到文件变化, 生成数字水印, 将这些文件和数
字水印发布到W eb 服务器上.
3) Web 服务器接收到这些文件,并将水印存放在安全数据库中.
1) 公众浏览网页.
2) 如果是动态应用, 防篡改模块对提交内容进行检查, 如果是注入攻击,
则请求不交给W eb 应用处理,直接返回错误.
3) Web 服务器取得网页内容后,交给防篡改模块进行检测.
4) 防篡改模块计算出这个网页的数字水印, 并与安全数据库中的数字水
印相比对.
5) 如 果 水 印 比 对 失 败 即 表 明 当 前 网 页 已 被 篡 改 , 系 统 通 知 发 布 服 务 器 重
新 发 布 网 页 到 W eb 服 务 器 〔 自 动 恢 复 〕 , 同 时 向 监 管 者 报 警 .
网 页 防 篡 改 : 任 何 对 Web 服 务 器 上 的 非 法 网 页 篡 改 将 在 网 页 浏 览 时
被 检 测 出 来 ,并 得 到 实 时 报 警 和 恢 复 .
应 用 防 护 : 各 类 常 见 针 对 web 应 用 的 攻 击 都 将 被 即 时 阻 止 .
iGuard 标 准 版 Solaris
iW all 标 准 版 Solaris
多 CPU 支 持
多 线 程 发 布
Linux
双 机 主 备 工 作 ,提 供 容 错 能 力 ,避 免 单 点 失 效
8 线 程 发 布 ,大 幅 提 升 发 布 速 度
发 布 服 务 器 采 用 Linux 系 统 ,提 高 可 靠 性
支 持 多 处 理 器 水 印 计 算
双 机
1。