资源描述
××Web应用安全处理方案
一、 应用安全需求
1. 针对Web攻击
现代信息系统,不管是建立对外信息公布和数据交换平台,还是建立内部业务应用系统,全部离不开Web应用。Web应用不仅给用户提供一个方便和易用交互手段,也给信息和服务提供者构建一个标准技术开发和应用平台。
网络发展历史也能够说是攻击和防护不停交织发展过程。现在,全球网络用户已近20 亿,用户利用互联网进行购物、银行转账支付和多种软件下载,企业用户更是依靠于网络构建她们关键业务,对此,Web 安全性已经提升一个空前高度。
然而,伴随黑客们将注意力从以往对网络服务器攻击逐步转移到了对 Web 应用攻击上,她们针对Web网站和应用攻击愈演愈烈,频频得手。依据 Gartner最新调查,信息安全攻击有75%全部是发生在Web应用而非网络层面上。同时,数据也显示,三分之二Web站点全部相当脆弱,易受攻击。
另外,据美国计算机安全协会(CSI)/美国联邦调查局(FBI)研究表明,在接收调查企业中,有52%企业信息系统遭受过外部攻击(包含系统入侵、滥用Web应用系统、网页置换、盗取私人信息及拒绝服务等等),这些攻击给269家受访企业带来经济损失超出1.41亿美元,但实际上她们之中有98%企业全部装有防火墙。早在,IDC就曾在汇报中认为,“网络防火墙对应用层安全已起不到什么作用了,因为为了确保通信,网络防火墙内Web端口全部必需处于开放状态。”
现在,利用网上随地可见攻击软件,攻击者不需要对网络协议深厚了解,即可完成诸如更换Web网站主页、盗取管理员密码、破坏整个网站数据等等攻击。而这些攻击过程中产生网络层数据,和正常数据没有什么区分。
2. Web安全防范
在Web应用各个层面,全部会使用不一样技术来确保安全性,图示1所表示。为了确保用户数据传输到企业Web服务器传输安全,通信层通常会使用 SSL技术加密数据;企业会使用防火墙和IDS/IPS来确保仅许可特定访问,全部没有须要暴露端口和非法访问,在这里全部会被阻止。
防火墙
IDS/IPS
DoS攻击
端口扫描
网络层
模式攻击
已知Web
服务器漏洞
跨站脚本
注入式攻击
恶意实施
网页篡改
Web服务器
数据库服务器
Web应用
应用服务器
图示 1 Web应用安全防护
不过,即便有防火墙和IDS/IPS,企业仍然不得不许可一部分通讯经过防火墙,毕竟 Web 应用目标是为用户提供服务,保护方法能够关闭无须要暴露端口,不过Web应用必需80 和443端口,是一定要开放。能够顺利经过这部分通讯,可能是善意,也可能是恶意,极难分辨。而恶意用户则能够利用这两个端口实施多种恶意操作,或偷窃、或操控、或破坏 Web 应用中关键信息。
然而我们看到现实确是,绝大多数企业将大量投资花费在网络和服务器安全上,没有从真正意义上确保 Web 应用本身安全,给黑客以可乘之机。图示3所表示,在现在安全投资中,只有10%花在了怎样防护应用安全漏洞,而这却是75%攻击起源。正是这种投资错位也是造成目前Web站点频频被攻陷一个关键原因。
75%
25%
10%
90%
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支持以下篡改检测和恢复功效:
n 支持安全散列检测方法;
n 可检测静态页面/动态脚本/二进制实体;
n 支持对注入式攻击防护;
n 网页公布同时自动更新水印值;
n 网页发送时比较网页和水印值;
n 支持断线/连线状态下篡改检测;
n 支持连线状态下网页恢复;
n 网页篡改时多个方法报警;
n 网页篡改时可实施外部程序或命令;
n 能够按不一样容器选择待检测网页;
n 支持增强型事件触发检测技术;
n 加密存放水印值数据库;
n 支持多种私钥硬件存放;
n 支持使用外接安全密码算法。
2) 自动公布和同时
iGuard支持以下自动公布和同时功效:
n 自动检测公布服务器上文件系统任何改变;
n 文件改变自动同时到多个Web服务器;
n 支持文件/目录增加/删除/修改/更名;
n 支持任何内容管理系统;
n 支持虚拟目录/虚拟主机;
n 支持页面包含文件;
n 支持双机方法冗余布署;
n 断线后自动重联;
n 上传失败后自动重试;
n 使用SSL安全协议进行通信;
n 确保通信过程不被篡改和不被窃听;
n 通信实体使用数字证书进行身份判别;
n 全部过程有具体审计。
3) 应用安全防护特征
1. 请求特征限制
iWall能够对HTTP请求特征进行以下过滤和限制:
n 请求头检验:对HTTP报文中请求头名字和长度进行检验。
n 请求方法过滤:限制对指定HTTP请求方法访问。
n 请求地址过滤:限制对指定HTTP请求地址访问。
n 请求开始路径过滤:限制HTTP请求中对指定开始路径地址访问。
n 请求文件过滤:限制HTTP请求中对指定文件访问。
n 请求文件类型过滤:限制HTTP请求中对指定文件类型访问。
n 请求版本过滤:限制对指定HTTP版本访问及完整性检验。
n 请求用户端过滤:限制对指定HTTP用户端访问及完整性检验。
n 请求链接过滤:限制链接字段中含有字符及完整性检验。
n 判别类型过滤:限制对指定HTTP判别类型访问。
n 判别帐号过滤:限制对指定HTTP判别帐号访问。
n 内容长度过滤:限制对指定HTTP请求内容长度访问。
n 内容类型过滤:限制对指定HTTP请求内容类型访问。
这些规则需要能够依据Web系统实际情况进行配置和分站点应用。
2. 请求内容限制
iWall能够对HTTP请求内容进行以下过滤和限制:
n URL过滤:对提交URL请求中字符进行限制。
n 请求参数过滤:对GET方法提交参数进行检验(包含注入式攻击和代码攻击)。
n 请求数据过滤:对POST方法提交数据进行检验(包含注入式攻击和代码攻击)。
n Cookie过滤:对Cookie内容进行检验。
n 盗链检验:对指定文件类型进行参考域检验。
n 跨站脚本攻击检验:对指定文件类型进行参考开始路径检验。
这些规则需要能够依据Web系统实际情况进行配置和分站点应用。
3. 指定站点规则
iWall能够分别为一台服务器上不一样站点制订不一样规则,站点区分方法包含:
n 不一样端口。
n 不一样IP地址。
n 不一样主机头名(即域名)。
4. 可防范攻击
iWall组合以上限制特征,可针对以下应用攻击进行有效防御:
n SQL数据库注入式攻击。
n 脚本源代码泄露。
n 非法实施系统命令。
n 非法实施脚本。
n 上传假冒文件。
n 跨站脚本漏洞。
n 不安全当地存放。
n 网站资源盗链。
n 应用层拒绝服务攻击。
对这些攻击更具体描述见本文档第6章:常见应用层攻击介绍。
4. iGuard标准布署
1) 两台服务器
布署iGuard最少需要两台服务器:
n 公布服务器:在内网中,本身处于相对安全环境中,其上布署iGuard公布服务器软件。
n Web服务器:在公网/DMZ中,本身处于不安全环境中,其上布署iGuardWeb服务器端软件。
它们之间关系图示1所表示。
iGuard
公布服务器软件
公布服务器
HTTP
FTP…
SSL
Intranet
DMZ
Internet
iGuard
Web服务器端软件
Web服务器
Internet
图示 1 iGuard两台服务器
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表明了三者之间关系。
Web服务器
(Guard)
公布服务器
(Guard)
内容管理系统
(第三方软件)
Internet
图示 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单点失效完全不影响系统正常运行,且在修复后自动工作。
CMS
内容管理系统
iGuard
公布服务器(主)
iGuard
公布服务器(备)
主备通信
Web服务器1
Web服务器n
Intranet
DMZ
……
……
图示 3 集群和双机布署示意图
6) Web服务器多机和集群
iGuard公布服务器支持1对多达64台Web服务器内容同时,这些Web服务器操作系统、Web服务器系统软件、应用脚本及网页内容既能够相同也能够不一样。iGuard实现了异种系统架构下对不一样内容统一管理。
iGuard
公布服务器(备)
主备通信
当多台Web服务器作镜像集群时,iGuard对于能够严格确保多台Web服务器内容相同。当单台Web服务器失效时,因为Web服务器集群前端通常有负载均衡设备,所以,它并不影响公众访问网站。同时,它失效也不影响iGuard公布服务器向其它正常工作Web服务器提供内容同时。在失效期间,iGuard公布服务器会尝试连接这台Web服务器,一旦它修复后重新工作,即可自动进行连接,并自动进行内容同时。
所以,Web服务器单点失效不影响系统完整性,而且在系统恢复时不需要对其它机器作任何手工操作。
7) 公布服务器双机
iGuard支持公布服务器双机协同工作,即一台主公布服务器和一台热备公布服务器。在这种布署情形下,内容管理系统(CMS)需要将内容同时公布到两台iGuard服务器上。在正常状态下,iGuard主公布服务器工作,由它对全部Web服务器进行内容同时。显然,热备公布服务器失效不影响系统运作,一旦在它修复后能够从主公布服务器恢复数据,进入正常热备状态。主公布服务器假如失效(即不发心跳信号),热备公布服务器会接管工作,由它对全部Web服务器进行内容同时。当主公布服务器修复后,两机同时工作,经过一段时间数据交接时间,热备公布服务器重新进入热备状态。
所以,iGuard公布服务器单点失效也不影响系统完整性,而且在系统恢复时不需要对其它机器作任何手工操作。
5. iWall标准布署
iWall由以下两个模块组成:
n 应用防护模块。iWall关键防护模块,内嵌于Web系统(Web服务器软件)中,和Web服务器一起运行。
n 配置管理模块。iWall配置生成程序,在独立管理员机器上运行,仅在系统管理员需要改变iWall配置时才使用。
二者之间没有通信连接。仅经过一个配置文件交换数据,即:配置管理模块生成一个配置文件,将它复制到Web服务器上供给用防护模块使用。
它们关系图示5-1所表示。
HTTP
iWall
配置管理模块
管理员用机
iWall
应用防护模块
Web服务器
配置文件
图示 二4 布署示意图
采取这种配置方法优点在于:
n 避免直接在Web服务器上修改配置,不给黑客可乘之机。
n 避免在Web上新开管理网络端口,不增加新安全隐患。
n 在多个Web服务器镜像时,能够快速生成统一配置。
三、 “上海××”Web应用安全布署方案
1. 系统现实状况
1) 拓扑图
“上海××”网站现在网络拓扑图图示4所表示。
内容管理系统n
Web服务器双机
图示 5 系统现实状况拓扑图
2) 关键点
n Web网站内容现有全静态站点,也有动态应用站点;
n Web服务器操作系统为Sun Salaris;
3) 安全隐患
现在这个系统在网页内容方面存在以下安全隐患:
n 网页篡改:没有布署网页防篡改系统,静态网页一旦被黑客篡改,没有检验、报警和恢复机制。
n 应用防护:没有应用防护机制,轻易遭受各类web攻击,比如注入式、跨站、上传假冒文件、不安全当地存放、非法实施脚本、非法实施系统命令、资源盗链、源代码泄漏、URL访问限制失效等。
2. 布署实施
1) 拓扑图
“上海××”网站布署Web应用安全产品网络拓扑图图示5所表示。
CMS
内容管理系统
iGuard
公布服务器(主)
iWall配置管理模块
iGuard
公布服务器(备)
主备通信
Web服务器双机
Intranet
DMZ
iGuard Web端软件
iWall应用防护模块
图示 6布署拓扑图
2) 关键点
n 增加:新增一台PC服务器(iGuard公布服务器),其上布署iGuard公布服务器软件和iWall配置管理模块。
n 增加:在Web服务器上布署iGuard同时服务器和防篡改模块和iWall应用防护模块,并开放指定端口。
n 变更:CMS内容管理系统目标公布地址由各Web服务器改为iGuard公布服务器。
n 双机布署(可选):为避免单点失效,两台iGuard公布服务器能够作双机布署。
3) 公布步骤
1) CMS内容管理系统将网页文件公布到iGuard公布服务器上。
2) iGuard公布服务器检测到文件改变,生成数字水印,将这些文件和数字水印公布到Web服务器上。
3) Web服务器接收到这些文件,并将水印存放在安全数据库中。
4) 防篡改步骤
1) 公众浏览网页。
2) 假如是动态应用网站,防篡改模块对提交内容进行检验,假如是注入攻击,则请求不交给Web应用处理,直接返回错误。
3) Web服务器取得网页内容后,交给防篡改模块进行检测。
4) 防篡改模块计算出这个网页数字水印,并和安全数据库中数字水印相比对。
5) 假如水印比对失败即表明目前网页已被篡改,系统通知公布服务器重新公布网页到Web服务器(自动恢复),同时向监管者报警。
5) 安全增强
n 网页防篡改:任何对Web服务器上非法网页篡改将在网页浏览时被检测出来,并得到实时报警和恢复。
n 应用防护:各类常见针对web应用攻击全部将被即时阻止。
3. 软件清单
1) 基础产品
产品号
型号
操作系统类型
数量
GN-3
iGuard标准版
Solaris
WS-3
iWall标准版
Solaris
2) 企业公布模块(可选)
产品号
名称
说明
数量
GE-1
多CPU支持
支持多处理器水印计算
GE-2
多线程公布
8线程公布,大幅提升公布速度
GE-3
Linux
公布服务器采取Linux系统,提升可靠性
GE-4
双机
双机主备工作,提供容错能力,避免单点失效
1
展开阅读全文