论信息系统的安全性与保密性设计

作者: 总管理员 分类: 杂七杂八 发布时间: 2022-03-27 07:58 ė 1041次浏览 6 0评论

在企业信息化推进的过程中,需要建设许多的信息系统,这些系统能够实现高效率、低成本的运行,为企业提升竞争力。但在设计和实现这些信息系统时,除了针对具体业务需求进行详细的分析,保证满足具体的业务需求之外,还要加强信息系统安全方面的考虑。因为如果一个系统的安全措施没有做好,那么系统功能越强大,系统出安全事故时的危害与损失也就越大。

请围绕“信息系统的安全性与保密性”论题,依次从以下3个方面进行论述:

  1. 简述你参与设计的信息系统以及你所担任的主要工作。
  2. 详细论述你采用的保障网络安全和信息安全的技术和方法,并着重说明你所采用的软件、硬件安全产品以及管理措施的综合解决方案。
  3. 分析和评估你所采用的网络安全措施的效果及其特色,以及相关的改进措施。

摘要

2018年9月,我所在的部门因公司业务发展需要,承担了公司的实时消息平台的研发工作。该平台提供了即时通讯、消息推送、社交圈等功能,满足C2C(用户对用户)、C2B(用户对商家)、B2C(商家对用户)的沟通需求,同时为公司内其它业务子系统间消息流转提供支持。我在该项目中担任系统架构设计师的职务,主要负责设计平台的系统架构和技术选型。本文以该项目为例,主要论述了安全技术和解决方案在项目中的具体应用。通过设置防火墙和加密技术保证内部网络的安全;在应用层采用RBAC模型和Token机制,解决了系统认证环节安全性;在数据层采用容灾备份和加密机制,解决数据抗突发风险的安全性问题。事实证明,采用这些安全技术后,系统在安全性、可扩展性、实时性等方面都达到了预期目标。系统自2019年2月上线后运行平稳,得到了领导和用户的一致好评。

正文

随着移动互联网技术的迅猛发展,公司在各业务子系统的开发过程中发现,用户、商户、客服之间进行沟通的需求越来越大,各业务子系统间进行消息流转的需求愈加频繁,且使用起来十分繁琐不便。为此,公司于2018年9月开始研发设计通用的实时消息平台(以下简称为“系统“)。该系统致力于为公司内各业务产品线提供基础通用的消息服务,降低公司内各业务子系统间进行信息交互的复杂度,满足C2C(用户对用户)、C2B(用户对商家)、B2C(商家对用户)的沟通需求。该系统为C端用户提供了私聊、群聊、密聊、聊天室、漂流瓶等多形式多场景的即时通讯功能,同时,该系统还支持公司内各业务子系统间进行消息流转,如B端商家通过该系统可以定向地为用户实时推送各种业务消息,如订单消息、活动促销消息等。本项目组全体成员共10人,我在里面担任系统架构设计师职务,主要负责项目计划制定,需求分析,整体架构设计与技术选型。

信息安全体系结构包括 鉴权服务访问控制数据完整性数据机密性抗抵赖性 。其中鉴权服务提供了实体身份鉴别,防止身份冒用,一般采用“用户名+口令“、数字证书等方式实现;访问控制决定实体被授权使用哪些资源,它包括自主访问控制(DAC),强制访问控制(MAC)和基于角色的访问控制(RBAC);数据完整性保证数据不以未授权方式进行修改或损毁,包括阻止对介质访问的机制和探测非授权修改的机制,前者一般采用隔离、访问控制列表、路由控制,后者一般采用数据签名、数据指纹等方式;数据机密性通过访问控制或加密机制实现确保信息仅仅是对被授权者可用;抗抵赖性主要通过数字签名等技术实现。

项目启动后,在架构设计工作的开始阶段,我们便意识到软件的安全性和保密性设计对系统有着重要的影响。根据以往类似系统的经验,系统的安全性需要从物理安全、网络安全、系统安全、应用安全和安全管理等多维度共同保障,缺失任何一环都可能会导致安全的漏洞。消息平台的核心功能是满足用户的基本的即时通讯需求和为公司内各业务子系统间进行消息流转,对信息的可靠性和安全性有着较高的要求,这些核心数据必须在安全可控的环境下访问。所以我们在设计阶段考虑从网络部署、数据库和应用层三个维度采取相对应的解决方案,具体阐述如下:

一、网络部署安全。 网络和硬件是系统的运行基础,也是很多外部攻击的首要目标,所以我们在设计阶段合理规划,将网络拓扑划分为外部网络、DMZ区和内部DCN网络三部分。我们将应用服务器和数据库服务器统一部署在内部DCN网络中,在DMZ区域部署反向代理服务器Nginx集群,Nginx负载均衡到应用服务器。为了防止来自外部的恶意攻击,我们再在外部网络和DMZ区网络之间设置了硬件防火墙。在Nginx集群中,我们配置只需要暴露的VIP,这样可以尽量降低我们内部应用服务器被攻击的可能性。由于我们应用采用前后端分离方式开发,前端静态页面和其他资源都部署在Nginx集群中,所以我们在Nginx中启用了HTTPS安全协议,通过建立信息安全通道,来保证数据传输的安全,防止内容被第三方冒充或者篡改,确保数据的完整性。对于DCN网络中的应用服务器和数据库服务器,我们限制不能直接通过IP地址访问,必须在4A系统登录认证后,通过跳板机才能访问,阻止了外界通过内部客户端代理的访问对服务器发起攻击。

二、应用层安全。 我们整个系统采用微服务架构风格,每个子系统采用了3层B/S架构风格。由于涉及的子系统人员和角色众多,我们采用RBAC授权模型,这样既增强了系统安全性,满足业务需求,同时也减轻了角色维护的负担。我们直接采用公司的架构中心已封装了统一认证组件,该组件在登录页面提供了用户名、密码和验证码,或者手机和动态验证码结合的访问方式,以此来达到防止非法访问的系统认证安全。密码在入库时采用MD5+salt加密,这样即使数据库中的密码泄露,也不会被解密。用户登录后访问具体的功能,需要调用API地址,所以API接口设计是该系统通信的安全基础,为了验证访问的有效性和时效性,防止外部人员非授权登录直接调用和窃取信息,我们采用Token机制保障每次调用的安全性,即在统一认证组件登录后,会生成token令牌,然后经过微服务的API网关组件调用API时,会获取到该token,解析出其中的时间戳和用户ID,然后调用统一认证组件的接口来验证其是否已登录和时间戳的有效性,充分保障了接口调用的安全。

三、数据层安全。 数据是整个消息平台的核心,其中涉及大量重要的信息资产,安全不容忽视。我们主要从数据存储、数据访问和数据容灾几方面进行了设计。由于该系统实现了配置数据的集中管理,包含了例如用户信息和服务器访问信息等敏感数据,为了防止泄露,我们在存储时进行了加密处理。虽然在处理中损失些性能,但是,提高了数据的安全性和保密性。在数据访问层面,我们的应用程序经过统一访问层组件UDAL才能访问MySQL数据库,在统一访问层设置了分表、分片策略和路由控制机制,实现了逻辑透明性,具有很好的伸缩性;同时在统一访问层设置了允许接入的应用服务器和容器的IP列表;设置了允许访问的IP白名单列表,同时开启了安全认证。通过限制IP列表的方式可以有效提升数据的完整性。针对我们采用的MySQL数据库,采用主备集群的方式部署,还制定了定期的全量、增量、差量的备份计划,保证数据能及时恢复,充分保证数据抗突发风险的安全。

实践证明,上述安全性和保密性方案的使用,极大的提高了系统的安全性,对维持系统的稳定运行起到了很好的效果。但在实施过程中也遇到过问题:随着各子业务系统用户量的快速增长,系统的性能下降很快,后经排查发现原因在于使用HTTPS协议虽然提高了安全性,但相比HTTP协议在交互过程中涉及到握手、建立安全通道、加密和解密等操作,消耗了大量的资源,因此,我决定在相对安全的内网环境仍然使用HTTP协议来提高通信效率、降低资源开销。事实证明以上方案行之有效,因处理及时没有对系统造成实质的影响。

结尾

2019年1月,该系统正式上线运行,至今已稳定运行了接近2年时间,满足了用户常用的即时通讯需求,同时为公司内各大业务子系统提供了稳定、安全、可靠的消息服务支撑。截至目前系统运行稳定、安全可控,没有出现过明显的安全漏洞,得到了领导的认可和好评。通过这个项目本人更进一步了解到系统安全性和保密性的重要性。在今后的工作中我将不断总结和提升专业技术能力,争取为我国信息化事业贡献一份力量。

换一个
暂无评论
Ɣ回顶部