文 / 华夏银行信息科技部 缪翔宇 王亚喆 李丹
华夏银行以实现“智慧金融、数字华夏”愿景为目标,积极践行敏捷研发能力建设。目前已搭建基于DevOps的持续集成工作平台,实现了源码静态检查、编译构建、制品发布、自动化测试的直通式流水线处理,将信息系统构建发布过程压缩至分钟级,有效提升了开发过程整体质效。
在建设该工作平台的同时,我们对持续集成流水线各环节安全管控也进行了探索和实践,主要针对三方组件、编译环境两个关键节点和流水线过程实施了相关安全升级优化,点面结合,对手工操作、不明组件和编译暴露等风险进行了全面防控,构建了持续集成安全体系。
强化三方组件安全管控,筑牢研发依赖基础底座
在开发过程中,一般聚焦源码安全,对源码构建依赖的三方组件关注较少。为杜绝因组件来源不明导致的生产风险,我们从三方面加强了组件安全性管理。
1.强化组件的可用性。建设组织级高可用三方组件仓库,保证组件获取性能,并使用专业工具进行统筹规范管理。避免来源不明的组件安全隐患,提升组件整体复用率。
2.规范组件入库流程。入库阶段,组件由专人从官方渠道统一获取安检入库。通过在DMZ区域设置组件临时待检区,待入库组件必须经组件漏洞安全检测、防病毒扫描等安全合规检查后方能入库等流程控制,降低不安全组件入库风险,保证入库组件安全可控。
图1 组件入库流程
3.规范组件使用流程。使用阶段,主要通过持续集成系统调用组件,减低人工操作组件风险,定期清理下架存在风险的低版本组件,强化组件使用过程的安全管理。
目前,华夏银行已实现基于Java、Python、JS、C/C++等多种编码语言近万项组件的仓库统筹管理,通过硬控制降低组件全生命周期安全隐患,杜绝来源不明组件安全隐患的同时,有效提升了组件整体复用率。
加固编译环境全域管控,搭建构建环节安全沙箱
编译环境是源码构建生成制品的场所,也是支撑构建过程安全运转的重要保障,我们从三方面加强了编译环境的安全管控。
1.搭建构建安全沙箱。目前华夏银行物理资源已完全云化,为确保编译环境资源独立受控,将编译环境物理、逻辑区域与开发测试、生产区域分离,编译环境独立成池,限制网络、数据互通,安全沙箱内编译环境配置主机安全实时监控,降低未知访问安全风险,打造可信的构建环境,从而加固构建沙箱安全性。
2.安全沙箱运维审计。切断终端对编译环境的直接访问,采用协议代理的方式接管了对环境内服务器的的访问。通过堡垒机事前拦截非法操作和访问,事后对误操作或非法操作进行审计监控,同时与既有运维体系对接,通过动态口令等认证方式,防止失误、恶意、越权等操作风险,降低运维事故率,有效提高构建沙箱的安全性和可靠性。
3.安全沙箱使用渠道受控。安全沙箱仅允许持续集成构建过程中自动化访问和调用,杜绝开发人员在编译环境手工干预,实现源码从配置库到制品发布的直通式不落地处理,明确可信访问渠道,强化安全沙箱使用渠道管理,降低操作风险。
编译环境的专属管理提升了持续集成的安全保证,也实现了构建过程的事前硬控、事中预警和事后追溯。
图2 编译环境安全沙箱
强化全流程安全管控,夯实研发安全体系建设
持续集成过程着眼于软件生命周期全覆盖,立足于开发、测试、生产全流程的构建管理和安全保障,为打造华夏银行安全高效的持续集成流水线,在补齐关键环节安全点的同时,我们梳理整体流程,从以下三个方面实施了安全管控。
1.持续集成出入口硬控。一是明确入口来源,待发布版本源码等配置项均来自组织级配置仓库,不允许对其之外其它任何途径获取的配置项进行构建;二是无缝对接下游出口,持续集成生成制品直接对接组织级自动化发布平台实施发布,避免过程中制品落地后人工干预产生的安全风险。
2.持续集成过程安全加固。一是打通源码提交、构建编译、版本部署的自动化直通式安全通道,静态检查、构建、发布、自动化测试整体耗时由原来天级压缩至分钟级;二是细化权限角色隔离颗粒度,数据权限方面遵从系统间隔离、生命周期各阶段隔离原则,功能权限方面遵从操作访问权限最小化原则实施管控,确保数据及功能免受错误或恶意行为破坏;三是对持续集成过程审计,详细记录操作用户、操作时间、操作对象以及变更详情等信息,实现操作可控化、过程可视化,方便事中风险预警,事后安全审计与追溯,提升持续集成全过程安全管控能力。
3.试行试点DevSecOps。持续集成内嵌源码静态检查工具,流水线集成源码扫描过程,对应用系统源码进行缺陷、漏洞扫描,并设置达标阈值门限机制,通过升阈值和控检出持续提升版本质量,从源码层面保障应用系统发布安全性。
图3 持续集成全流程
结 语
伴随上述探索与实践的落地,华夏银行持续集成安全管控体系已初步建立,这些安全措施不仅围绕持续集成打造了保护墙,还显著提升了源码构建发布的效率,实现了应用开发过程质效与安全的有效融合。
声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。