WEB时代 如何构建一个安全的网站

如今,人们的生活已经跟网站密切相关,获取知识、浏览新闻、游戏娱乐、在线购物甚至网上炒股(基金、期货)等,网络生活已成为人们现实生活的一部 分。与此同时,越来越多的网站也因安全隐患而频繁遭到各种攻击,导致网站敏感数据丢失、网页被篡改,甚至成为传播木马的傀儡,最终令更多访问者中招,给访 问者带来严重损失。如何构建一个安全的网站,已经成为网站管理者们所必须面对的问题。

网站生命周期各阶段所存在的安全问题:

网站也有自己的生命周期,从规划设计到上线运行,至少需要经历下图中的五个阶段。由于网站管理者在安全意识上的薄弱以及安全知识上的匮乏,导致每个阶段中缺少相应的安全措施,最终将给网站带来严重的安全隐患。

图 1:网站生命周期各阶段所存在的安全问题

网 站生命周期前三个阶段的主要工作为系统设计开发。在此过程中,大多数网站设计者更多的是考虑满足用户应用,如何实现业务。很少考虑网站应用开发过程中所存 在的漏洞。这些漏洞在不关注安全代码设计的人员眼里几乎不可见。多数网站设计开发者、网站维护人员对网站攻防技术的了解甚少,并未引起足够重视。

开 发、测试完成后,网站将正式上线。这时,有些网站管理者认为系统中已经部署了防火墙或入侵防御等传统安全产品,就可以对网站进行很好的保护。实则不然。目 前,大多数传统访问控制,入侵防御设备,保护网站抵御黑客攻击的效果不佳。比如对S Q L 注入、X S S这些基于WEB应用构建的攻击,防火墙束手无策,甚至是基于特征匹配技术的入侵防御产品,也由于这类攻击特征不具有惟一性,不能精确阻断攻击。导致目前 有很多黑客将S Q L 注入、X S S 攻击作为入侵网站的首选攻击技术。

网站运行期间,维护人员将对服务器状态的监控以及网站内 容的更新作为主要工作,却往往忽视对网站安全的管理及维护。由于他们对安全态势的关注度不高,不能及时更新服务器操作系统及软件的漏洞补丁。在网站被攻击 后,系统也没有很好机制将被篡改或丢失的内容及时恢复,对网站的声誉造成很大影响。另外,对于WEB应用程序的漏洞,网站开发人员也很难针对网站具体的漏 洞原理对源代码进行改造,导致网站漏洞被黑客反复利用。

安全网站建设的“五要素”

目前很多网站的管理者在意识到安全问题的重要性后,都会从后两个阶段(部署阶段及运行阶段)开始投入人力物力去弥补相应的缺失,而前三个阶段却往往被忽视。实际上,如果想要构建一个相对安全的网站,五个阶段都需要采取相应的安全措施。可以总结为安全网站建设的“五要素”。

要素一:安全规划是首要

网 站规划设计阶段,管理人员应该充分考虑安全因素。将安全规划作为网站建设整体规划中的重点。安全规划需要贯穿网站生命周期的每个阶段。增设安全培训,培养 相关人员的安全意识及素质。以上对于网站上线运行后的安全性十分关键。下图为SDLC(安全开发生命周期)流程,这套流程是微软公司通过多年来在应用安全 领域的实践经验所总结出来的。对于网站建设前期的整体安全规划有指导性作用。

图 2:安全开发生命周期流程

要素二:代码安全是基础

网站开发阶段,开发人员须严格控制自己的编码行为。设计环节引入安全开发框架,系统权限设计 遵从最小化原则。编码环节严格遵从编码规范。最后增加代 码核查环节。尽量避免由于开发时的考虑不周,造成编码漏洞,给后面的网站带来安全隐患。下图示为:WEB代码安全检测系统处理流程。程序员可以使用自动化 源码检测工具软件或者自行编写程序进行代码的核查。

图 3:WEB代码安全检测系统处理流程

要素三:安全测试是常规

网站测试阶段,除了正常的功能、性能测试以外,须加入相关的安全性测试。对网站进行全面“体检”。可以请专业的安全团队对网站进行代码安全审计以及渗透性测试,或使用自动化漏洞扫描工具。网站的安全测试工作需要定期的进行,从而及时掌握网站的安全状况。

要素四:安全产品是必须

网 站的部署阶段,安全产品的选用必不可少。WAF(WEB应用防火墙)是专门针对网站威胁防护所设计的安全产品。部署WAF,可以对网站的所有流量 进行过滤及清洗,弥补传火墙及入侵防御产品对于WEB应用攻击防护的不足。WAF采用HTTP反向代理机制。与传统的安全产品不同,WAF设备会代替网站 接受所有HTTP请求,让网站攻击者认为WAF系统就是被攻击的目标,从而达到网站替身防护的效果。对于已经被攻击的网站,需要部署网页防篡改和自动恢复 系统用于被攻击后的修复工作。

图 4:WAF区别于传统安全产品

要素五:安全维护是保障

网 站运行阶段,安全维护工作应及时进行。需要网站维护人员随时关注操作系统及软件漏洞补丁方面的信息,及时将版本做相应的更新。除了更新系统漏洞以外,还应 该及时升级安全防护设备的威胁规则库,保证设备可以防护最新的安全漏洞。面对W e b 应用程序漏洞和已经造成的危害,需要确立专业支持团队的外援保障,解决及时响应问题,在网站安全问题被验证后,能确保对网站进行木马清除以及针对Web 漏洞的安全代码审核修补等工作。当网站内容被篡改后,应该及时通过自动化系统或人工的方式恢复网站内容,保证网站业务正常运行。

构建一 个相对安全的网站,需要在网站生命周期的每个阶段都采取相应的安全措施。严格做到:事前主动发现,事中实时防护,事后及时修复。建议网站的管 理者与专业的安全厂商合作,由安全厂商提供有针对性的产品及服务。从而建立整套网站安全防护体系。以下为天融信公司为网站建设量身打造的全生命周期安全方 案,希望可以帮助广大网站管理者解决困扰已久的安全问题。

表 1:天融信公司的网站安全总体方案