Web应用系统的安全性集成设计

时间:2022-07-12 02:42:40

Web应用系统的安全性集成设计

摘 要 本文以宁夏财政厅的“网站系统”为背景,描述了设计实现该系统中需要重点考虑并解决的应用、网络及信息安全性问题。并重点介绍了在“网站系统”系统开发中,从设计、开发到部署实施以及后期维护阶段所采用的安全性设计实践经验。并在网络应用系统的开发过程中总结出:在整个开发过程中,从设计到实现,从部署到维护,必须集成式的考虑安全性问题才是有效的解决办法。

关键词 Web应用系统;安全性;网站

中图分类号 TP39 文献标识码 A 文章编号 1674-6708(2013)89-0206-02

“网站系统”是为了笔者单位内外网网站信息及时更新而开发的一套Web应用系统。作为一个用来网站的应用程序,系统从设计之初就非常注重“安全性”设计,因为预计今后会有许多用户基于该系统各种类型的网站,如果“网站系统”本身在设计时就已经存在了“安全缺陷”,那所出来的网站也必然存在“安全缺陷”,访问网站的用户越多则系统被攻击的可能性更大。如此具有“缺陷”的应用程序在上线运行后即使附加再多的硬件设备也很难从根本上解决安全性问题。经过对客户需求的详细探讨研究,决定在“网站系统”设计阶段,就要考虑将防御攻击的策略“设计”到软件中去,从根本上提升系统的安全性。

1 规划设计阶段

在系统的规划设计阶段充分了解用户需求,以此为基础对安全性进行整体规划设计。具体的做法是对系统的利益相关者使用安全性需求检查表进行访谈,详细了解其对安全性的具体需求。为了达到更好的效果,还邀请了行业的安全专家加入讨论,最终识别出系统安全方面的风险,并制定出安全性设计目标。

2开发阶段

2.1建立清晰的体系结构

采用当前先进的J2EE三层B/S架构进行开发,先进的面向对象技术、设计模式和组件技术,充分地提高了软件的通用性和复用性。系统严格的分为三层,表现层,业务逻辑层和数据层。其中数据层的设计中还包括了一个抽象的数据访问层,引入抽象的数据访问层可以将数据的持久化同具体数据库分开,也隔离了业务逻辑层对数据库的直接访问行为,增强了数据的安全性。业务逻辑层中全部封装业务规则,集中进行管理维护,表现层只有通过业务层才能进行事物处理,无法绕过业务层直接访问数据库。这样设计,防止了开发人员在实现某功能时,遗漏了业务规则检查,致使数据和理性和合法性遭到破坏。

2.2权限管理模型

在安全性方面,采用了业界领先的权限管理模型。该权限管理模型通过对角色、资源和访问权限这三个要素进行控制达到信息安全的目的,角色、资源和权限之间关系的描述是通过访问控制列表(ACL)来实现,即描述什么角色对什么资源具有什么样的访问权限,用户登录后的任何资源的访问都会通过ACL来进行过滤,用户只能访问到授权给他的数据,这就保证了信息的安全。

2.3预防常见的安全漏洞

对于用户界面输入,始终执行双重验证,即前台通过Javascript脚本编写程序进行验证,接收到用户输入的数据后,业务逻辑层中再使用Java语言编写程序进行二次验证并检查是否符合相应的业务逻辑。另外,凡是用户输入的内容,持久化到数据库前必须进行“编码”,剔除可能存在的“恶意”代码。同样内容显示到用户的Web页面上也进行“编码”,依靠这些手段预防XSS攻击。

2.4防止用户直接操作数据库

在管理方面,用户只能用帐号登陆到信息平台,通过信息平台访问数据库,而没有其它途径操作数据库。每一管理员对数据库操作后都有一项记录。为防止用户非法登陆,在用户创建的同时,每个用户都必须确定自己的密码。用户只用在登陆系统以后,才可进行新闻数据操作(如:查询、删除、添加以及更新)。

2.5身份认证和加密解密技术

该系统在安全上使用当前社会中比较前沿的身份认证和加密解密技术,用户登录不但要密码匹配还有短信验证方式协同作业,这种安全的验证方式已经通过实践检验为非常成熟和可靠的技术。

3部署实施阶段

3.1保证网络的安全性

由于需要支持系统中非本地的用户通过Internet进行访问,所以采用硬件防火墙对Web服务器和应用程序服务器其进行保护,并防止Internet上的恶意用户对系统进行攻击。为了有效避免单点故障,使用了多台Web服务器进行负载均衡。

3.2保证数据的安全性

系统中的数据资料全部存储在Oracle10g的数据库服务器上,并采用双机热备策略,一旦一台数据库服务器发生故障,另一台将立即接替其继续进行服务,确保数据库服务器的高可用性。在数据库备份策略上,制订了详细的数据库备份计划,采用完整备份+增量备份的策略,解决了在系统应用高峰期的数据备份要求,在意外发生的情况下,也可以迅速的进行数据恢复。

4运行维护阶段

为保证系统的运行平稳、安全,专门建立了一套安全管理机制;其中,明确了主要负责人及技术工程师的职责和任务,规定了日常安全检测和维护的标准操作流程,包括:安全检查,服务器运行状况检测,安全漏洞扫描、入侵检测。数据备份与恢复,系统软件的升级更新等。定期组织运行维护人员进行信息安全教育等,定期请客户方信息中心技术人员参与系统安全审计工作,这些做法均体现了“运维安全”的思想。

采用多种安全防范技术和措施,在保障系统的信息安全,保障系统长期稳定可靠运行上发挥了很大的功效。目前系统已经平稳运行,在其上的内部网站和外部网站均可正常使用。通过在“网站系统”的开发过程中实施安全性设计,将安全实践应用到设计、开发,部署实施及运维各阶段的做法,取得了很好的效果。

参考文献

[1]张国和,徐骏善.Web应用系统的安全性设计[J].微型机与应用,2010,29(21):85-87.

[2]李鑫.用ASP技术实现网站新闻系统[J].淮北煤炭师范学院学报:自然科学版,2008,29(4):57-60.

[3]荆小庆,王光卫.软件系统安全性设计原则分析[J].中国测试技术,2005,31(1):78-80.

[4]张建伟,王卫卫,陈娟娟.基于WEB的管理信息系统安全性设计[J].郑州轻工业学报:自然科学版,2009,24(6):50-54.

[5]李为民.浅谈网站的安全性设计[J].福建电脑,2009,1:63-64.

上一篇:地球物理勘探方法在水文地质工作中的应用分析 下一篇:浅论抑制通辽市地下水超采措施