Web应用安全项目解决方案

Web应用安全项目解决方案
Web应用安全项目解决方案

××Web应用安全解决方案

一、应用安全需求

1.针对Web的攻击

现代的信息系统,无论是建立对外的信息发布和数据交换平台,还是建立内部的业务应用系统,都离不开Web应用。Web应用不仅给用户提供一个方便和易用的交互手段,也给信息和服务提供者构建一个标准技术开发和应用平台。

网络的发展历史也可以说是攻击与防护不断交织发展的过程。目前,全球网络用户已近20 亿,用户利用互联网进行购物、银行转账支付和各种软件下载,企业用户更是依赖于网络构建他们的核心业务,对此,Web 安全性已经提高一个空前的高度。

然而,随着黑客们将注意力从以往对网络服务器的攻击逐步转移到了对Web 应用的攻击上,他们针对Web网站和应用的攻击愈演愈烈,频频得手。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。

另外,据美国计算机安全协会(CSI)/美国联邦调查局(FBI)的研究表明,在接受调查的公司中,2004年有52%的公司的信息系统遭受过外部攻击(包括系统入侵、滥用Web应用系统、网页置换、盗取私人信息及拒绝服务等等),这些攻击给269家受访公司带来的经济损失超过1.41亿美元,但事实上他们之中有98%的公司都装有防火墙。早在2002年,IDC就曾在报告中认为,“网络防火墙对应用层的安全已起不到什么作用了,因为为了确保通信,网络防火墙内的Web端口都必须处于开放状态。”

目前,利用网上随处可见的攻击软件,攻击者不需要对网络协议深厚理解,即可完成诸如更换Web网站主页、盗取管理员密码、破坏整个网站数据等等攻击。而这些攻击过程中产生的网络层数据,和正常数据没有什么区别。

2.Web安全防范

在Web应用的各个层面,都会使用不同的技术来确保安全性,如图示1所示。为了保证用户数据传输到企业Web服务器的传输安全,通信层通常会使用SSL技术加密数据;企业会使用防火墙和IDS/IPS来保证仅允许特定的访问,所有不必要暴露的端口和非法的访问,在这里都会被阻止。

图示 1 Web应用的安全防护

但是,即便有防火墙和IDS/IPS,企业仍然不得不允许一部分的通讯经过防火墙,毕竟Web 应用的目的是为用户提供服务,保护措施可以关闭不必要暴露的端口,但是Web应用必须的80 和443端口,是一定要开放的。可以顺利通过的这部分通讯,可能是善意的,也可能是恶意的,很难辨别。而恶意的用户则可以利用这两个端口执行各种恶意的操作,或者偷窃、或者操控、或者破坏Web 应用中的重要信息。

然而我们看到的现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web 应用本身的安全,给黑客以可乘之机。如图示3所示,在目前安全投资中,只有10%花在了如何防护应用安全漏洞,而这却是75%的攻击来源。正是这种投资的错位也是造成当前Web站点频频

被攻陷的一个重要因素。

图示 2 安全风险和投资

3.Web漏洞

Web应用系统有着其固有的开发特点:经常更改、设计和代码编写不彻底、没有经过严格的测试等,这些特点导致Web应用出现了很多的漏洞。另外,管理员对Web服务器的配置不当也会造成很多漏洞。

目前常用的针对Web服务器和Web应用漏洞的攻击已经多达几百种,常见的攻击手段包括:注入式攻击、跨站脚本攻击、上传假冒文件、不安全本地存储、非法执行脚本和系统命令、源代码泄漏、URL访问限制失效等。攻击目的包括:非法篡改网页、非法篡改数据库、非法执行命令、跨站提交信息、网站资源盗链、窃取脚本源程序、窃取系统信息、窃取用户信息等。

二、产品概况

1.iGuard网页防篡改系统

iGuard网页防篡改系统采用先进的Web服务器核心内嵌技术,将篡改检测模块(数字水印技术)和应用防护模块(防注入攻击)内嵌于Web服务器内部,并辅助以增强型事件触发检测技术,不仅实现了对静态网页和脚本的实时检测和恢复,更可以保护数据库中的动态内容免受来自于Web的攻击和篡改,彻底解决网页防篡改问题。

iGuard的篡改检测模块使用密码技术,为网页对象计算出唯一性的数字水印。公众每次访问网页时,都将网页内容与数字水印进行对比;一旦发现网页被非法修改,即进行自动恢复,保证非法网页内容不被公众浏览。同时,iGuard 的应用防护模块也对用户输入的URL地址和提交的表单内容进行检查,任何对数据库的注入式攻击都能够被实时阻断。

iGuard以国家863项目技术为基础,全面保护网站的静态网页和动态网页。iGuard支持网页的自动发布、篡改检测、应用保护、警告和自动恢复,保证传输、鉴别、完整性检查、地址访问、表单提交、审计等各个环节的安全,完全实时地杜绝篡改后的网页被访问的可能性,也杜绝任何使用Web方式对后台数据库的篡改。

iGuard支持所有主流的操作系统,包括:Windows、Linux、FreeBSD、Unix (Solaris、HP-UX、AIX);支持常用的Web服务器软件,包括:IIS、Apache、SunONE、Weblogic、WebSphere等;保护所有常用的数据库系统,包括:SQL Server、Oracle、MySQL、Access等。

2.iWall应用防火墙

iWall应用防火墙(Web应用防护系统)是一款保护Web站点和应用免受来自于应用层攻击的Web防护系统。

iWall应用防火墙实现了对Web站点特别是Web应用的保护。它内置于Web

服务器软件中,通过分析应用层的用户请求数据(如URL、参数、链接、Cookie 等),区分正常用户访问Web和攻击者的恶意行为,对攻击行为进行实时阻断和报警。

这些攻击包括利用特殊字符修改数据的数据攻击、设法执行程序或脚本的命令攻击等,黑客通过这些攻击手段可以达到篡改数据库和网页、绕过身份认证和假冒用户、窃取用户和系统信息等严重危害网站内容安全的目的。

iWall应用防火墙对常见的注入式攻击、跨站攻击、上传假冒文件、不安全本地存储、非法执行脚本、非法执行系统命令、资源盗链、源代码泄漏、URL 访问限制失效等攻击手段都着有效的防护效果。

iWall应用防火墙为软件实现,适用于所有的操作系统和Web服务器软件,并且完全对Web应用系统透明。

应用防火墙是现代网络安全架构的一个重要组成部分,它着重进行应用层的内容检查和安全防御,与传统安全设备共同构成全面和有效的安全防护体系。3.产品特性

1)篡改检测和恢复

iGuard支持以下篡改检测和恢复功能:

?支持安全散列检测方法;

?可检测静态页面/动态脚本/二进制实体;

?支持对注入式攻击的防护;

?网页发布同时自动更新水印值;

?网页发送时比较网页和水印值;

?支持断线/连线状态下篡改检测;

?支持连线状态下网页恢复;

?网页篡改时多种方式报警;

?网页篡改时可执行外部程序或命令;

?可以按不同容器选择待检测的网页;

?支持增强型事件触发检测技术;

?加密存放水印值数据库;

?支持各种私钥的硬件存储;

?支持使用外接安全密码算法。

2)自动发布和同步

iGuard支持以下自动发布和同步功能:

?自动检测发布服务器上文件系统任何变化;

?文件变化自动同步到多个Web服务器;

?支持文件/目录的增加/删除/修改/更名;

?支持任何内容管理系统;

?支持虚拟目录/虚拟主机;

?支持页面包含文件;

?支持双机方式的冗余部署;

?断线后自动重联;

?上传失败后自动重试;

?使用SSL安全协议进行通信;

?保证通信过程不被篡改和不被窃听;

?通信实体使用数字证书进行身份鉴别;

?所有过程有详细的审计。

3)应用安全防护特性

1.请求特性限制

iWall可以对HTTP请求的特性进行以下过滤和限制:

?请求头检查:对HTTP报文中请求头的名字和长度进行检查。

?请求方法过滤:限制对指定HTTP请求方法的访问。

?请求地址过滤:限制对指定HTTP请求地址的访问。

?请求开始路径过滤:限制HTTP请求中的对指定开始路径地址的访问。

?请求文件过滤:限制HTTP请求中的对指定文件的访问。

?请求文件类型过滤:限制HTTP请求中的对指定文件类型的访问。

?请求版本过滤:限制对指定HTTP版本的访问及完整性检查。

?请求客户端过滤:限制对指定HTTP客户端的访问及完整性检查。

?请求链接过滤:限制链接字段中含有的字符及完整性检查。

?鉴别类型过滤:限制对指定HTTP鉴别类型的访问。

?鉴别帐号过滤:限制对指定HTTP鉴别帐号的访问。

?内容长度过滤:限制对指定HTTP请求内容长度的访问。

?内容类型过滤:限制对指定HTTP请求内容类型的访问。

这些规则需要可以根据Web系统的实际情况进行配置和分站点应用。

2.请求内容限制

iWall可以对HTTP请求的内容进行以下过滤和限制:

?URL过滤:对提交的URL请求中的字符进行限制。

?请求参数过滤:对GET方法提交的参数进行检查(包括注入式攻击和

代码攻击)。

?请求数据过滤:对POST方法提交的数据进行检查(包括注入式攻击

和代码攻击)。

?Cookie过滤:对Cookie内容进行检查。

?盗链检查:对指定的文件类型进行参考域的检查。

?跨站脚本攻击检查:对指定的文件类型进行参考开始路径的检查。这些规则需要可以根据Web系统的实际情况进行配置和分站点应用。

3.指定站点规则

iWall可以分别为一台服务器上不同的站点制定不同的规则,站点区分的方法包括:

?不同的端口。

?不同的IP地址。

?不同的主机头名(即域名)。

4.可防范的攻击

iWall组合以上限制特性,可针对以下应用攻击进行有效防御:

?SQL数据库注入式攻击。

?脚本源代码泄露。

?非法执行系统命令。

?非法执行脚本。

?上传假冒文件。

?跨站脚本漏洞。

?不安全的本地存储。

?网站资源盗链。

?应用层拒绝服务攻击。

对这些攻击更详细的描述见本文档第6章:常见应用层攻击简介。4.iGuard标准部署

1)两台服务器

部署iGuard至少需要两台服务器:

?发布服务器:位于内网中,本身处在相对安全的环境中,其上部署

iGuard的发布服务器软件。

?Web服务器:位于公网/DMZ中,本身处在不安全的环境中,其上部署

iGuard的Web服务器端软件。

它们之间的关系如图示1所示。

图示 1 iGuard两台服务器

Interne

2)发布服务器

发布服务器上运行iGuard的“发布服务器软件”(Staging Server)。所有网页的合法变更(包括增加、修改、删除、重命名)都在发布服务器上进行。发布服务器上具有与Web服务器上的网页文件完全相同的目录结构,发布服务器上的任何文件/目录的变化都会自动和立即地反映到Web服务器的相应位置上,文件/目录变更的方法可以是任意方式的(例如:FTP、SFTP、RCP、NFS、文件共享等)。网页变更后,“发布服务器软件”将其同步到Web服务器上。

发布服务器是部署iGuard时新增添的机器,原则需要一台独立的服务器;对于网页更新不太频繁的网站,也可以用普通PC机或者与担任其他工作的服务器共用。

发布服务器为PC服务器,其本身的硬件配置无特定要求,操作系统可选择Windows(一般网站)或Linux(大型网站,需选加Linux企业发布模块)。3)Web服务器

Web服务器上除了原本运行的Web服务器软件(如IIS、Apache、SunONE、Weblogic、Websphere等)外,还运行有iGuard的“Web服务器端软件”,“Web服务器端软件”由“同步服务器”(SyncServer)和“防篡改模块”(AntiTamper)组成。

“iGuard同步服务器”负责与iGuard发布服务器通信,将发布服务器上的所有网页文件变更同步到Web服务器本地;“iGuard防篡改模块”作为Web 服务器软件的一个插件运行,负责对Web请求进行检查和对网页进行完整性检查,需要对Web服务器软件作适当配置,以使其生效。

Web服务器是用户网站原有的机器,iGuard可适应于任何硬件和操作系统。

4)内容管理系统

目前,大部分网站都使用了内容管理系统(CMS)来管理网页产生的全过程,包括网页的编辑、审核、签发和合成等。在网站的网络拓扑中,发布服务器部署在原有的内容管理系统和Web服务器之间,图示2表明了三者之间的关系。

图示 2 标准部署图

为一个已有的Web站点部署iGuard时,Web服务器和内容管理系统都沿用原来的机器,而需要在其间增加一台发布服务器。iGuard的自动同步机制完全与内容管理系统无关的,适合与所有的内容管理系统协同工作,而内容管理系统本身无须作任何变动。

发布服务器上具有与Web服务器上的网站文件完全相同的目录结构,任何文件/目录的变化都会自动映射到Web服务器的相应位置上。

网页的合法变更(包括增加、修改、删除、重命名)都在发布服务器上进行,变更的手段可以是任意方式的(例如:FTP、SFTP、RCP、NFS、文件共享等)。网页变更后,发布服务器将其同步到Web服务器上。无论什么情况下,不允许直接变更Web服务器上的页面文件。

iGuard一般情况下与内容管理系统分开部署,当然它也可以与内容管理系统部署在一台机器上,在这种情形下,iGuard还可以提供接口,与内容管理系统进行互相的功能调用,以实现整合性更强的功能。

5)集群和冗余部署

Web站点运行的稳定性是最关键的。iGuard支持所有部件的多机工作和热备:可以有多台安装了iGuard防篡改模块和同步服务软件的Web服务器,也可以有两台安装了iGuard发布服务软件的发布服务器,如图示4所示。它实现了2Xn的同步机制(2为发布服务器,n为Web服务器),当2或n的单点失效完全不影响系统的正常运行,且在修复后自动工作。

图示 3 集群和双机部署示意图

6)Web服务器多机和集群

iGuard发布服务器支持1对多达64台Web服务器的内容同步,这些Web服务器的操作系统、Web服务器系统软件、应用脚本及网页内容既可以相同也

可以不同。iGuard 实现了异种系统架构下对不同内容的统一管理。

当多台Web 服务器作镜像集群时,iGuard 对于能够严格保证多台Web 服务器内容相同。当单台Web 服务器失效时,由于Web 服务器集群前端通常有负载均衡设备,因此,它并不影响公众访问网站。同时,它的失效也不影响iGuard 发布服务器向其他正常工作的Web 服务器提供内容同步。在失效期间,iGuard 发布服务器会尝试连接这台Web 服务器,一旦它修复后重新工作,即可自动进行连接,并自动进行内容同步。

因此,Web 服务器的单点失效不影响系统的完整性,并且在系统恢复时不需要对其余机器作任何手工操作。

7)发布服务器双机

iGuard 支持发布服务器双机协同工作,即一台主发布服务器和一台热备发布服务器。在这种部署情形下,内容管理系统(CMS )需要将内容同时发布到两台iGuard 服务器上。在正常状态下,iGuard 主发布服务器工作,由它对所有Web 服务器进行内容同步。显然,热备发布服务器失效不影响系统运作,一旦在它修复后可以从主发布服务器恢复数据,进入正常热备状态。主发布服务器如果失效(即不发心跳信号),热备发布服务器会接管工作,由它对所有Web 服务器进行内容同步。当主发布服务器修复后,两机同时工作,经过一段时间的数据交接时间,热备发布服务器重新进入热备状态。

因此,iGuard 发布服务器的单点失效也不影响系统的完整性,并且在系统恢复时不需要对其余机器作任何手工操作。

5.iWall 标准部署

iWall 由以下两个模块组成:

? 应用防护模块。iWall 的核心防护模块

嵌于Web 系统(Web 服务

器软件)中,与Web 服务器一起运行? 配置管理模块。iWall 的配置生成程立管理员机器上运行,

仅在系统管理员需要改变iWall 配置。

iGuard

发布服务器(备)

主备通信

两者之间没有通信连接。仅通过一个配置文件交换数据,即:配置管理模块生成一个配置文件,将它复制到Web服务器上供应用防护模块使用。

它们的关系如图示5-1所示。

图示二-4 部署示意图

采取这种配置方式的优点在于:

?避免直接在Web服务器上修改配置,不给黑客可乘之机。

?避免在Web上新开管理网络端口,不增加新的安全隐患。

?在多个Web服务器镜像时,可以快速生成统一配置。

三、“上海××”Web应用安全部署方案

1.系统现状

1)拓扑图

“上海××”网站目前的网络拓扑图如图示4所示。

2)要点

?Web网站内容既有全静态站点,也有动态应用站点;

?Web服务器的操作系统为Sun Salaris;

3)安全隐患

目前这个系统在网页内容方面存在如下安全隐患:

?网页篡改:没有部署网页防篡改系统,静态网页一旦被黑客篡改,没

有检查、报警和恢复机制。

?应用防护:没有应用防护机制,容易遭受各类web攻击,例如注入式、

跨站、上传假冒文件、不安全本地存储、非法执行脚本、非法执行系

统命令、资源盗链、源代码泄漏、URL访问限制失效等。

2.部署实施

1)拓扑图

“上海××”网站部署Web应用安全产品的网络拓扑图如图示5所示。

图示 6部署拓扑图

2)要点

?增加:新增一台PC服务器(iGuard发布服务器),其上部署iGuard

发布服务器软件以及iWall配置管理模块。

?增加:在Web服务器上部署iGuard同步服务器和防篡改模块以及

iWall应用防护模块,并开放指定端口。

?变更:CMS内容管理系统的目标发布地址由各Web服务器改为iGuard

发布服务器。

?双机部署(可选):为避免单点失效,两台iGuard发布服务器可以

作双机部署。

3)发布流程

1) CMS内容管理系统将网页文件发布到iGuard发布服务器上。

2) iGuard发布服务器检测到文件变化,生成数字水印,将这些文件和

数字水印发布到Web服务器上。

3) Web服务器接收到这些文件,并将水印存放在安全数据库中。

4)防篡改流程

1) 公众浏览网页。

2) 如果是动态应用网站,防篡改模块对提交内容进行检查,如果是注

入攻击,则请求不交给Web应用处理,直接返回错误。

3) Web服务器取得网页内容后,交给防篡改模块进行检测。

4) 防篡改模块计算出这个网页的数字水印,并与安全数据库中的数字

水印相比对。

5) 如果水印比对失败即表明当前网页已被篡改,系统通知发布服务器

重新发布网页到Web服务器(自动恢复),同时向监管者报警。

5)安全增强

?网页防篡改:任何对Web服务器上的非法网页篡改将在网页浏览时被

检测出来,并得到实时报警和恢复。

?应用防护:各类常见针对web应用的攻击都将被即时阻止。

3.软件清单

1)基本产品

2)企业发布模块(可选)

相关主题
相关文档
最新文档