0


论系统安全架构设计以及应用

    2017年2月,我司承接了一套虚拟运营商平台管理系统项目,进行二次开发与改造。系统主要包含号卡计费功能、号卡风控管理、财务对账管理、实名认证功能、营销后台管理以及支撑运营人员进行日常工作的常用功能等。我在项目中担任技术负责人,负责系统架构的设计与考量。该系统涉及与ISP运营商、信通院等单位进行数据交互,安全性要求十分严格。我们从三个层面对系统进行安全性设计,首先,网络硬件层面,采用硬件加密技术、防火墙技术,对数据传输与访问进行安全隔离。其次,数据层采用商业化数据库进行数据存储,敏感信息进行数据加密处理。最后,应用层方面,开发人员编码加强防止恶意用户实行SQL注入攻击、XSS攻击、重放攻击等行为,保护数据与系统安全性。项目如期顺利上线,获得用户一致好评。

    2017年2月,我司承接了一套虚拟运营商平台管理系统项目,主要是对项目进行二次开发与改造。系统主要包含号卡计费功能、号卡风控管理、财务对账管理、实名认证功能、营销后台管理以及支撑运营人员进行日常工作的常用功能等。我在项目中担任技术负责人,负责系统架构的设计与考量。该系统表现层采用B/S架构,主要面向内部运营人员、财务人员以及外部用户进行使用。通过提供Web访问方式,用户使用浏览器通过网络访问使用系统。其中,关于号卡的相关数据交互,还会涉及到与ISP运营商、信管理通信院等相关国家单位进行交互,甲方公司十分重视该系统的数据安全性和保密性,防止不法分子破坏系统或者由于系统安全性造成数据泄露、篡改等严重后果。综合项目实际情况考虑,我们决定遵循国家网络安全标准的相关安全服务内容,进一步提升该项目的安全性设计与升级改造工作。

    国家系统网络安全性标准中提到的安全服务,总共分为5类。以下分别是5类安全服务的相关定义与主要实现手段。

    1.认证服务, 服务强调任何系统必须能记录资源访问者的身份以及相关操作权限,做到依法安全追踪审计。常见的身份认证服务手段如用户通过手机号、身份证、用户名加口令的方式登录系统后才能进行相关操作。
     2.访问控制服务,该服务强调系统需要针对不同数据内容、操作进行权限控制,用户无法越权进行查阅或者进行相关数据操作。常见实现手段有,基于ACL访问控制列表技术、RBAC基于角色的访问控制技术等。
     3.数据机密性服务,该服务强调数据不能明文进行传输或者存储,访问数据泄露造成严重后果,即使数据泄露,由于数据机密性,攻击者也无法破译数据内容。常见手段如对称加密技术DES、非对称加密技术RSA等。
     4.数据完整性服务,该服务强调数据应该在传输的过程中,保证数据无法被篡改或者数据被篡改后能发现其非法形式。常见的手段,如数据进行信息摘要技术、通过比对摘要判断数据完整性是否遭到破坏。
     5.防抵赖服务,该服务强调双方在进行交互时,能够防止某一方针对已发送的数据抵赖,不承认其操作行为。常见技术手段如数字签名技术。

    结合国家安全标准要求,我们在针对系统安全性设计上贴近标准定义内容,增强系统安全性。以下以本项目安全设计为例,从三个方面阐述了安全设计的应用过程。

一.硬件网络层安全设计

    首先,我们从物理硬件与网络层进行安全设计。我们将需要接入的网络设备先接到硬件防火墙,硬件防火墙可以进行相关ACL访问认证,符合访问控制服务原则。防火墙之后的数据需要使用加密机进行处理,将不同的服务器按照防火墙的区域进行划分:如未信任区、信任区、DMZ区等等,严格控制各区域网络访问限制。对于服务器主机的管理,统一采用登录堡垒机加权限分配的方式。每个开发人员对服务器的操作纳入堡垒机的监控与管理,可以做到事中监控、事后审计的目的。同时,我们还会在主机上安装杀毒软件,给操作系统层面增加保护,定时查杀病毒、木马,并且配置入侵检测告警等相关监控,只要发现主机安全性遭到威胁,第一时间接收到告警信息,做出防卫措施。

二.数据层安全设计

    其次,针对数据层安全设计也是不容忽视,因为整个系统的核心就是数据本身,数据本身的安全才是最为核心的环节。数据库存储我们采用专业性、安全性较强的商业版Oracle数据库,该数据库在业界拥有良好的口碑与安全保障,售后技术支持服务能够给我们的数据安全做出一定指导。针对敏感数据存储,如用户的各种密码等,采用SHA256+Salt的加密方案进行加密存储而非明文存储,即使在最坏数据泄露情况下,由于泄漏密文而非明文,相对减少泄漏损失。针对数据库本身安全性,我们采用一主多备的方案进行部署,采用读写分离的方式提高系统性能的同时,也能防止数据库单点故障问题。若主库发生崩溃,从库能够自动升级为主库,不会对业务造成影响。针对数据安全备份方案,我们采用全量、差量、增量备份等方式进行数据备份处理,按照每周计划进行备份,防止数据丢失与损坏完整性的风险。

三.应用层安全设计

    最后,我们在开发与编码应用层上也进行设安全设计。对于最常见的存在泄漏数据风险的SQL注入攻击方式,我们会采用预编译技术,而非直接代码中拼接SQL的方式进行开发,可以预防外部恶意用户进行参数SQL注入。针对所有用户提交的数据都要做参数过滤,防止XSS攻击、CSRF攻击、文件上传攻击等。对于服务部署方面,针对HTTP协议明文传输的特点,不符合数据机密性服务的定义规范,并且其中也不涉及身份认证服务规范,可能造成用户被钓鱼网站进行身份伪造,给用户造成信息泄漏与损失的风险。我们对所有提供给内外部的Web系统,都申请了CA证书,将站点全部使用HTTPS的方式进行部署。数据在用户到站点的所有网络路由设备无法直接分析、破解请求数据内容,并且浏览器会在访问站点时校验站点证书真实性,任何人无法伪装站点身份,若发生钓鱼网站伪装,则浏览器第一时间进行拦截,防止用户访问不安全的站点,保护用户数据安全。

项目历经11个月的改造升级,于2018年1月份正式顺利上线,目前系统已稳定运行4年时间有余,获得甲方用户的一致好评。对于整个项目实施的过程中,也遇到了一些问题。例如某些开发人员安全意识不到位,比较排斥应用层面的安全开发方式,认为是无用增加工作量的事情,但是经过我们安全意识培训后,大家对系统安全性设计更加敬畏与重视。性能与安全这两个指标是一个系统权衡点,我们在整个项目过程中也是与需求方进行沟通,找到合适平衡点,最后完成顺利整个项目的落地。从本次项目的实践,我们也感悟颇深,系统安全性是一个永恒的话题,只有我们一直保持这一颗敬畏的心,才能把系统做到更好、更稳定、更安全,用户使用更放心!
标签: 系统架构 运维

本文转载自: https://blog.csdn.net/xyz_dream/article/details/128341791
版权归原作者 GEEK JUMP 所有, 如有侵权,请联系我们删除。

“论系统安全架构设计以及应用”的评论:

还没有评论