网站系统安全防护体系建设方案.docx
《网站系统安全防护体系建设方案.docx》由会员分享,可在线阅读,更多相关《网站系统安全防护体系建设方案.docx(31页珍藏版)》请在冰豆网上搜索。
网站系统安全防护体系建设方案
网站系统安全防护体系建设方案
一、需求说明
针对Web应用防护安全需能实现以下功能:
一、针对网站主页恶意篡改的监控,防护和快速恢复:
(1)支持多种保护模式,防止静态和动态网页内容被非法篡改。
(2)能够防止主页防护功能被恶意攻击者非法终止。
(3)具备核心内嵌技术,能实现高效快速实现大规模的网页攻击防护。
(4)支持实时检测和快速恢复功能。
(5)支持多服务器、多站点的主页防护
(6)支持对常见的多种网页文件类型的保护。
(7)支持网页快照功能,根据需要即时提供快照页面,以满足客户端的访问。
二、对Web网站进行多层次检测分析与应用防护:
(1)有效保护网站静动态网页以及后台DB信息,实现多方位攻击防护。
(2)灵活的策略设置,能够针对各个WEB应用的特点,设置个性化的防护策略。
(3)不反射保护网站(或WEB应用)程序代码防止受到各种已知攻击(如SQL注入,跨站脚本,钓鱼攻击等)和未知攻击;并能限制未授权用户透过网站访问数据中心,防止入侵者的通信流程。
(4)能够根据操作系统、应用平台及评估渗透工具等特征,形成完备的特征库。
综合并发连接、并发请求及流量限制,阻断攻击探测或扫描;同时能够对访问数据流进行协议检查,防止对WEB应用的恶意信息获取和特征收集。
三、行为审计:
(1)能够记录和有效统计用户对WEB应用资源的访问,包括页面点击率、客户对端地址、客户端类型、访问流量、访问时间及搜索引擎关键字信息;并实现有效的用户行为访问统计分析,如基于区域的访问统计,便于识别WEB应用的访问群体是否符合预期,为应用优化提供依据。
(2)对攻击来源和攻击行为支持分类记录探测,数据处理结果形成详细的统计及排序,支持依据威胁的级别生成防护策略。
(3)提供多种审计报表,为系统的安全审计提供详细的数据并作为可靠的决策依据。
四、支持多种WEB应用加速技术,减轻服务器负载:
(1)支持URL级别的流量管理和负载均衡,提供对页面访问的并发连接与速率进行控制,提高应用系统在资源紧张时的可用性。
(2)具备访问过载保护能力,缓解WEB服务因访问量过大而造成的拒绝服务攻击,提高系统承受应用层DOS攻击的服务能力。
(3)及时发现WEB应用状态异常,迅速反馈应用服务活动状态,并选择最优秀服务连接。
(4)支持轮询、最小负载、请求URL及加权等多种均衡策略,满足各种应用环境下的均衡要求。
(5)网站主页和WEB应用防护系统,需能分别以独立方式及互备方式部署在不同机房。
二、网页防篡改解决方案
Web网站和Web应用系统除了采用常见的网络安全设备进行防护外,需要更有效的网页防篡改系统来专门对页面内容进行保护,防止来自外部或内部的非授权人员对页面和内容进行篡改和非法添加。
2.1技术原理
防篡改体系除了Web服务器外,另外需部署‘发布服务器’:
‐发布服务器:
位于内网中,本身处在相对安全的环境中,其上部署发布服务器软件。
所有网页的合法变更(包括增加、修改、删除、重命名)都在发布服务器上进行。
发布服务器上具有与Web服务器上的网页文件完全相同的目录结构,发布服务器上的任何文件/目录的变化都会自动和立即地反映到Web服务器的相应位置上,文件/目录变更的方法可以是任意方式的(例如:
FTP、SFTP、RCP、NFS、文件共享等)。
网页变更后,“发布服务器软件”将其同步到Web服务器上。
‐
Web服务器:
位于Internet/DMZ中,本身处在不安全的环境中,其上部署Web服务器端防篡改模块及内容同步软件模块。
防篡改系统的运行原理:
⏹防篡改
对所有网页元素(包括静态页面、动态脚本、图像文件、多媒体文件以及所有能以URL形式访问的实体)在发布时进行128位密钥的HMAC-MD5(RFC2104)计算,生成唯一的、不可逆转的和不可伪造的数字水印。
浏览者请求访问任一网页元素时,篡改检测模块(作为Web服务器软件的一部分)读出网页元素的内容重新计算数字水印,并与之前存储的数字水印进行比对,网页元素的任何篡改都能够被可靠地计算出来。
⏹防窃听
任何通信实体(包括发布服务器和Web服务器和控制台)之间采用工业标准的SSL3.0/TLS1.0安全通讯协议(RFC2246),确保网页元素文件和数字水印数据流在通信过程中不被黑客窃取和分析。
⏹身份鉴别
通信实体间进行强身份鉴别。
首先,Web服务器要确保上传文件的发布服务器的身份真实性,不能接受伪造的发布服务器上传的文件;其次,发布服务器要确保是在与Web服务器通信,确保发送的文件能够到Web服务器上。
因此,双方彼此都进了身份鉴别。
亦即:
发布服务器采用客户端数字证书与Web服务器通讯,同时也验证Web服务器数字证书的真实性。
2.2部署结构
目前,大部分网站都使用内容管理系统(CMS)来管理网页产生的全过程,包括网页的编辑、审核、签发和合成等。
在网站的网络拓扑中,发布服务器部署在原有的内容管理系统和Web服务器之间,下图表明三者之间的关系。
发布服务器上具有与Web服务器上的网站文件完全相同的目录结构,任何文件/目录的变化都会自动映射到Web服务器的相应位置上。
网页的合法变更(包括增加、修改、删除、重命名)都在发布服务器上进行,变更的手段可以是任意方式的(例如:
FTP、SFTP、RCP、NFS、文件共享等)。
网页变更后,发布服务器将其同步到Web服务器上。
无论什么情况下,不允许直接变更Web服务器上的页面文件。
下图为防篡改系统的逻辑部署图。
若无多余服务器可供使用,则发布服务器可与内容管理服务器建构在同一服务器上:
2.3系统组成
从逻辑上,防篡改系统由页面保护子系统、自动发布子系统和监控管理子系统组成,三部分的关系如下图所示。
⏹页面保护子系统
页面保护子系统是系统的核心,内嵌在Web服务器软件里(即前述的核心内嵌模块),包含应用防护模块和篡改检测模块。
应用防护模块对每个用户的请求进行安全性检查:
如果正常则发送给Web服务器软件;如果发现有攻击特征码,即刻中止此次请求并进行报警。
篡改检测模块对每个发送的网页进行即时的完整性检查:
如果网页正常则对外发送;如果被篡改则阻断对外发送,并依照一定策略进行报警和恢复。
对于Windows系统,页面保护子系统还包括一个增强型事件触发式检测模块,该模块驻留于操作系统内核,阻止大部分常规篡改手段。
⏹自动发布子系统
自动发布子系统负责页面的自动发布,由发送端和接收端组成:
发送端位于发布服务器上,称之为自动发布程序,它监测到文件系统变化即进行计算该文件水印,并进行SSL发送;接收端位于Web服务器上,称之为同步服务器,它接收到网页和水印后,将网页存放在文件系统中,将水印存放在安全数据库里。
所有合法网页的增加、修改和删除都通过自动发布子系统进行。
⏹监控管理子系统
负责篡改后自动恢复,也提供系统管理员的使用界面。
其功能包括:
手工上传、查看警告、检测系统运行情况、修改配置、查看和处理日志等。
日志记录所有系统、发布、篡改检测和自动恢复等信息,可以分类分日期查看,并根据管理员的要求实现转储。
日志记录还支持syslog,以实现与安全管理平台的接口。
2.4集群与允余部署
Web站点运行的稳定性是最关键的,防篡改系统支持所有部件的多机工作和热备,可以有多台安装了防篡改模块和同步服务软件的Web服务器,也可以有两发布服务器,避免单点失效问题,如下图所示。
⏹Web服务器多机和集群
发布服务器支持1对多达64台Web服务器的内容同步,这些Web服务器的操作系统、Web服务器系统软件、应用脚本及网页内容既可以相同也可以不同。
本案提供的解决方案将可实现异种系统架构下对不同内容的统一管理。
⏹发布服务器双机
支持发布服务器双机协同工作,即一台主发布服务器和一台热备发布服务器。
在这种部署情形下,内容管理系统(CMS)需要将内容同时发布到两台发布服务器上。
正常状态下,主发布服务器工作时,由它对所有Web服务器进行内容同步。
如果热备发布服务器运行失效(不影响网站系统运行),一旦在它修复后可以从主发布服务器恢复数据,进入正常热备状态。
主发布服务器如果失效(即不发心跳信号),热备发布服务器会接管工作,由热备服务器对所有Web服务器进行内容同步。
当主发布服务器修复后,两机同时工作,经过一段时间的数据交接时间,热备发布服务器重新进入热备状态。
2.5方案特点
2.5.1篡改检测和恢复
⏹支持安全散列检测方法;
⏹可检测静态页面/动态脚本/二进制实体;
⏹支持对注入式攻击的防护;
⏹网页发布同时自动更新水印值;
⏹网页发送时比较网页和水印值;
⏹支持断线/连线状态下篡改检测;
⏹支持连线状态下网页恢复;
⏹网页篡改时多种方式报警;
⏹网页篡改时可执行外部程序或命令;
⏹可以按不同容器选择待检测的网页;
⏹支持增强型事件触发检测技术;
⏹加密存放水印值数据库;
⏹支持各种私钥的硬件存储;
⏹支持使用外接安全密码算法。
2.5.2自动发布和同步
⏹自动检测发布服务器上文件系统任何变化;
⏹文件变化自动同步到多个Web服务器;
⏹支持文件/目录的增加/删除/修改/更名;
⏹支持任何内容管理系统;
⏹支持虚拟目录/虚拟主机;
⏹支持页面包含文件;
⏹支持双机方式的冗余部署;
⏹断线后自动重联;
⏹上传失败后自动重试;
⏹使用SSL安全协议进行通信;
⏹保证通信过程不被篡改和不被窃听;
⏹通信实体使用数字证书进行身份鉴别;
⏹所有过程有详细的审计。
三、WEB应用防护解决方案
从网页应用程序层面进行安全防护机制:
第一项计划是,通过网页程序代码的安全检测,找出潜在应用程序的编写漏洞,提供开发团队修补建议,并据以改写修补。
同时为网页应用层防火墙提供防护规则,做到内外共同防护;
第二项计划是,通过网页应用层防火墙软件的部署,与网页程序代码的安全检测互相联动,为在线运营的网站立即建立防护,针对各种应用层的攻击进行阻挡,建立起网站从内而外的安全防护体系。
3.1当前安全风险分析
越来越多的案例表明,网站的安全问题随着各类网络技术手段的不断进步而显现出来。
截止到目前,以跨站脚本攻击、SQL注入攻击为代表的攻击方式对传统的‘防火墙+入侵防护’所组成的网站安全防线带来了极大的冲击;同时由于新的攻击方式的出现,一旦网站被入侵,轻则网站被植入恶意连结或对象,导致访问用户的个人电脑中毒或被植入木马;严重的话,通过网页的接口导致客户的信息或交易纪录被入侵,从而面对的是漫长的调查、赔偿、法律责任、甚至诉讼。
如果被媒体披露的话,更会严重影响企事业单位的声誉。
网站安全风险分析:
项次
大纲
说明
1
没有适当机制确认目前的网页程序存在哪些漏洞
目前已在线执行的网页系统,是几年来不断开发与累积的结果。
然而新兴的以网页应用程序为攻击目标的攻击模式不断被发现,因此当前面临的困难在于:
●现有的开发团队并非全职的安全专家,难以保证编写出来的程序代码绝对不会存在漏洞。
●在线的程序代码为数众多,如果要逐条人工检视,绝对力有未逮,且现有的开发能力用于全力开发新的服务与流程改善,无法投入足够的资源用于检测旧的系统漏洞。
●经常性的发生信息安全事件,会让团队疲于奔命。
也花费大量的资源来进行调查与修复。
更不用说后续延伸出来的商誉损失、法律责任、甚至诉讼与赔偿事宜。
2
网站的运营者往往都在网站遭受入侵与恶意攻击后通过外界反应才知道
当黑客利用时下WebAP的攻击手法,如CrossSiteScript或SQLInjection等方式攻击网站,而网站又刚好有未知的漏洞被利用,那么不仅缺乏适当的机制可以立即发现攻击,更无法达到防御的效果。
3
法律责任的冲击
企事业单位有责任妥善保管的客户个人信息,若因网站被入侵而导致客户信息外泄,则有可能必须面对法律责任的问题。
4
敏感信息显示于网页接口时,需进行屏蔽,避免会员信息外泄
针对如信用卡卡号或身分证字号等敏感信息,如果需要在网页中显示响应给使用者,则需要进行屏蔽,将中间字符内容取代为x或*等符号,避免使用者的计算机存在木马或传输过程被窃听,而造成信息外泄。
然而现有的系统已经运作多年,需要逐一检视并且修改,需花费大量的资源与时间。
5
传统IDS/IPS与防火墙,挡不住也看不懂Web攻击
原本期望通过IDS/IPS与防火墙来抵御黑客的攻击。
然而现在的黑客,不再「硬碰硬」的进行防火墙、入侵侦测系统或者修补程序可以阻挡的「网络型攻击」或者「作业平台的攻击」。
目前超过70%成功的黑客攻击,都是针对『Web应用程序』的弱点而不是操作系统的弱点,而且循着合法身份从Web应用系统管道进入,因此原先的防火墙与入侵侦测系统也束手无策。
6
SSL加密后的流量,无法从网络端实施入侵检查与过滤
因为运营的是电子商务服务,因此为避免使用者进行交易的过程中信息被从中窃听,而实施HTTPS/SSL加密,保障传输过程的安全。
然而,这也造成部署网页防入侵机制时的限制与困扰。
因为如果使用的使网络型的WebApplicationFirewall机制,SSL加密后的流量就会无法进行检查,或者要改变现有SSL加密的处理流程。
3.2防护计划
3.2.1开发流程中加入安全性验证项目
在软件开发流程中,拟规划一套系统化的安全设计流程,确保网络应用程序的安全。
系统发展生命周期(SystemsDevelopmentLifeCycle,简称SDLC)是大部分信息应用系统设计的参考模型,即一套应用程序软件的发展需要历经「分析」、「设计」、「建构」、「测试」、「系统维护」至下一次的需求产生,这一周期就是系统发展生命周期。
安全系统发展生命周期(SecuritySystemsDevelopmentLifeCycle)便是泛指在软件开发生命周期中,应考虑的信息安全措施及注意事项。
3.2.2对网站程序的源代码进行弱点检测
建议导入自动化网页应用程序源代码安全检测体系。
不可否认的,早期所开发的应用程序,皆以「功能性」着眼,欠缺「安全性」的安全认识与危机意识,因此在程序编写中较少考虑到「安全性」的问题,因此不小心便导致所开发的Web应用系统漏洞百出,导致SQLInjection、缓冲区溢出(Buffer-Overflow)、跨网站脚本攻击(Cross-SiteScripting)等等Web攻击。
信息安全的相关领域知识包含「操作系统」、「开发工具」、「网站平台」、「程序逻辑」、「程序编译」、「程序执行」以及种种通讯协议原理,并非程序开发人员的专业领域,因此如何快速有效地针对单位内现有与未来开发建设的Web应用系统进行定期或者不定期检验其可能的源代码弱点与漏洞,需要一套有系统有效率的「Web应用系统原代码自动检测系统」,有助于提早发现并评估风险,提早进行源代码改写与修补动作。
Web应用系统原代码自动检测系统所提供的服务特色为:
●针对程序源代码检测结果与报告,提供程序源代码「弱点深度分析」与「弱点严重性分析」等风险高低评估计分与图表,协助程序开发人员规划安排程序源代码弱点安全问题修复的优先级。
●清楚标明程序源代码弱点安全问题的结果与源头,协助开发与项目管理人员了解程序源代码弱点安全问题之发生程序行数与弱点来源,必须包含下列信息:
●可与本案「Web应用系统安全防火墙」的安全访问策略联动,解决复杂的应用防火墙配置问题。
3.2.3导入网页应用程序漏洞列表作为审计项目
开放网页应用程序安全计划(OpenWebApplicationSecurityProject,以下简称OWASP)致力协助企业和政府机关(构)能够理解和提高网页应用程序的安全性,并关注最严重的漏洞。
OWASP于2010年最新公布的十大信息安全漏洞(OWASPTop10)是一个需要立刻处理的应用程序安全漏洞。
这些安全漏洞包括:
●Cross-SiteScripting(跨站脚本攻击)。
网页应用程序直接将来自使用者的执行请求送回浏览器执行,使得攻击者可撷取使用者的Cookie或Session数据而能直接登入成使用者。
●InjectionFlaw:
网页应用程序执行来自外部包括数据库在内的恶意指令,SQL注入,命令注入等攻击包括在内。
●MaliciousFileExecution:
网页应用程序引入来自外部的恶意档案并执行档案内容。
●InsecureDirectObjectReference:
攻击者利用网页应用程序本身的档案读取功能任意存取档案或重要数据,案例包括http:
//example/read.php?
file=../../../../../../../c:
\boot.ini
●Cross-SiteRequestForgery(CSRF):
已登入网页应用程序的合法使用者执行到恶意的HTTP指令,但网页应用程序却当成合法需求处理,使得恶意指令被正常执行,案例包括社交网站分享的QuickTime、Flash影片中藏有恶意的HTTP请求。
●InformationLeakageandImproperErrorHandling:
网页应用程序的执行错误讯息包含敏感数据,案例包括:
系统档案路径
●BrokenAuthenticationandSessionManagement:
网页应用程序中自行编写的身份验证相关功能有缺陷。
●InsecureCryptographicStorage:
网页应用程序没有对敏感性数据使用加密、使用较弱的加密算法或将密钥储存在容易被取得之处。
●InsecureCommunication:
没有在传送敏感性数据时使用HTTPS或其它加密方式。
●FailuretoRestrictURLAccess:
某些网页因为没有权限控制,使得攻击者可通过网址直接存取,案例包括允许直接修改Wiki或Blog网页内容。
归咎这些安全漏洞的根本原因,乃在于网页应用程序本身存在安全漏洞,忽略应该注意的函数处理与防范来自使用者的恶意攻击。
倘若这些安全漏洞在开发与部署过程没有被检测出来,则日后就会发生信息安全事件。
利用‘Web应用系统原代码自动检测系统’所提供的检测服务可事先发现网站所潜藏的上述安全漏洞。
3.2.4部署Web应用防火墙进行防御
导入网页应用程序防火墙系统的好处在于:
⏹网站源代码检测阶段:
在修补源代码中存在的安全隐患之前(可能因为开发团队变更、服务无法暂停等原因暂时无法对安全隐患进行修补),则依靠网页应用程序防火墙系统提供Web应用安全防护,从而保证网站应用的安全性;
⏹网站安全加固阶段:
可以将网页应用程序源代码安全检测系统检测出的安全问题自动直接生成网页应用程序防火墙系统所需使用的安全防护规则(AccessPolicy),使得网页应用程序源代码安全检测系统与网页应用程序防火墙系统产生互相联动,从而做到网站应用安全的自动化防护。
通过网页应用程序防火墙的部署,让访问者对网站的请求,以及网站预计响应给访问者的显示网页,都经过「Web应用系统安全防火墙」全程检查与检视其「安全性」、「合法性」与「正确性」,如有任何「非法行为」,自动「阻断非法行为」或者「重置合法与合适的响应」,让「使用者」与「系统管理者」都可以继续「安心」的运作。
「Web应用系统安全防火墙」部署架构如下图:
3.3WEB应用防火墙功能
3.3.1集中管控功能
●同一解决方案除了提供硬件式应用防护设备外,可依实际需求选择将软件式应用防火墙系统安装于Web服务器主机上,不需要调整网络与系统架构。
●支持【集中丛集控管(ClusterManagement)】方式,通过统一集中管理接口,同时管理与安全防护规则部署多台「Web应用系统软件式防火墙系统」。
●支持集群内各台「Web应用系统软件式防火墙系统」运行状态,如有异常,立即显示。
●具备多管理者、多网站群组的权限管理能力,提供让特定管理者管理特定网站群组安全防护规则的能力
●内建「Web应用系统软件式防火墙系统」纪录查询与查看工具,方便实时分析,提供多重条件过滤查询功能,无须额外购置审计报表分析工具。
●提供符合法规遵循角度需求的审计纪录,详细纪录系统的操作与变更,方便审计人员查验。
●提供统计报表能力,提供多种预设统计图表,支持自定义设定分析范围与时间区段,产生满足单位需求与法规遵循要求的报表。
●提供直接过滤防护SSL加密网页的机制,安装部署时,不需要更改SSL密钥存放位置,避免密钥管理的额外问题。
3.3.2防护功能
●可防御下列19大类(含)以上网页攻击型态,超过10,000种(含)以上网页攻击方法。
●支持下列OWASPTop10十大网页应用程序弱点的攻击模式。
●提供「输入验证(InputValidation)」处理机制,提供黑名单或者白名单方式验证使用者输入内容数据的类型、范围、格式与长度。
●提供「客户端浏览器存取权限」的管理能力,可以限制存取网站的客户端IP地址、使用的浏览器版本、网页开放存取的时间范围以及SSL加密的强度等等存取条件。
●提供「网页存取身份验证(Authentication)」处理机制,让缺乏账号密码等权限管理的网页具备身份验证能力。
●提供「网页存取安全会话(SecureSession)」处理机制,保护客户端浏览器Cookie的安全使用,降低Cookie外泄的机率。
●提供「网页上传下载双向过滤保护」功能,通过关键词过滤网站恶意内容或不当文字,或是防止机敏数据外泄。
●针对网页敏感信息,例如:
信用卡信息、身份证号等隐私数据,提供「自动屏蔽(AutoMask/XXX)」功能机制,避免单位机密数据或者个人隐私外泄。
●提供「反钓鱼(Anti-Phishing)」功能,可通过黑、白或灰名单方式限制钓鱼网站引用主网站的内容。
●通过ReferenceChecking强制网站的使用方式,防止网站内容遭受未经合法授权的「强迫浏览」或者「盗连」。
●内建「安全防护规则设定」向导,根据实际需求与环境提供弹性与自定义安全防护规则的设定功能。
●提供安全防护规则集的「版本管理」机制,并且支持「版本回溯(Rollback)」功能。
●支持人工智能安全防护规则「学习模式」,提供网站系统安全防护规则设定的建议。
●支持下列操作系统:
Windows、Linux与Unix-Like作业系统
●可与「Web应用系统源代码自动检测系统」所生成的安全防护规则联动。
3.4预期效益
通过「Web应用系统安全防火墙」与「网站源代码弱点检测」的部署与导入,预期达到的效益与目标:
。
⏹对在线运作的网站应用程序进行防护,降低被黑风险:
通过网页应用程序防火墙的部署,让使用者对网站的请求,以及网站预计响应给使用者的显示网页,都经过「Web应用系统安全防火墙」全程检查与检视其「安全性」、「合法性」与「正确性」,如有任何「非法行为」,自动「阻断非法行为」或者「重置合法与合适的响应」,让「使用者」与「系统管理者」都可以继续「安心」的运作。
⏹在网站程序漏洞被黑客利用前,即可进行修补,以治本方式根除漏洞:
利用「网站程序的源代码弱点检测系统」,可例行对在线运作的网站程序源代码进行扫描与检测,以清楚存在哪些已知的弱点与漏洞,并计划性的依据严重度进行修补改写,以根除这些漏洞,提高网站的安全性。
⏹培养开发团队编写高安全性的网页程序代码与安全网站能力:
藉由网站源代码的扫描报告解读与程序代码修正程序。
让开发团队的程序开发人员,熟悉高安全性的网页程序的编写方法,进而养成良好的编写与测试