文 / 中国人民银行嘉兴市分行 朱维聪

强制访问控制机制以主客体标记技术为基础,能够实现严格的计算机资源访问控制。但多年以来,由于主客体标记代价高昂,策略开发配置复杂,强制访问控制始终未能大规模推广应用,相关问题在等级保护测评等中成为难以整改的“硬骨头”。人民银行浙江省分行迎难而上,积极探索利用开源工具secPaver提升SELinux强制访问控制策略的开发部署效率,研究提高信创操作系统openEuler的安全加固,验证了该工具在主机安全管理的可行性,为进一步探索提升主机安全防护水平,高质量推动信息技术创新应用积累了宝贵经验。

背景概况

网络安全等级保护标准中早已提出基于主客体标记技术实现计算机资源强制访问控制(Mandatory Access Control,简称MAC)的要求,但由于相关安全技术应用难度很高,不仅需要底层操作系统兼容支持,而且安全控制策略开发困难,稍有不慎就会影响业务系统正常运行,实际工作中极少有规模部署应用的成功样板。近年来,随着人民银行信息系统整合与信息化转型,信创操作系统应用推广逐步深入,新老基础设施持续更新换代,在提出更高安全防护要求的同时,也给基于主客体标记技术的强制访问控制带来难得的应用契机。人民银行浙江省分行认真贯彻落实网络安全“三同步”要求,组织辖内嘉兴市分行积极探索利用secPaver主客体标记工具开发openEuler操作系统的SELinux强制访问控制机制,厘清程序、数据、端口、服务等各类资源的权限关系,研究实现基于主客体标记技术的资源强制访问控制,提高对非授权访问和误操作行为的精准识别和实时阻断,大幅提升服务器主机的安全防护水平。

技术原理

强制访问控制能够精准控制各类用户主体对计算机资源客体的操作权限,实现高质量的主机安全防护效果。SELinux是Linux操作系统中一项开源强制访问控制的技术,能够有效增强传统Linux操作系统的安全性,解决传统自主访问控制在主机安全防护中的缺陷。配置良好的SELinux策略,能有效管控各类主体对信息系统的操作权限,即使是超级管理员也无法越权访问受保护的文件资源。

但在实际应用当中SELinux策略配置非常复杂,具有“学习门槛高、入门难度大”的特点,配置不当甚至会影响应用系统的正常使用。secPaver工具能在很大程度上解决该难题。secPaver是一款基于SELinux的开源安全策略开发工具,能够实现通用策略描述方法和策略操作接口的抽象封装,安全人员无需详细了解SELinux复杂的安全机制细节,只需编写通俗易懂的策略描述,通过secPaver转译生成相应的SELinux安全策略。secPaver整体架构分为客户端和服务端两部分,客户端为用户提供安全策略开发的操作接口与交互界面,服务端负责项目管理、策略管理等功能(如图1)。

图1 secPaver安全策略开发工具架构图

secPaver工具能帮助安全人员实现端到端的安全策略管理,包括策略设计、策略开发、策略测试、策略发布等一系列步骤。策略设计方面,工具设计了特定的策略配置文件格式,最大程度屏蔽了安全机制的细节。策略开发方面,工具拥有定制的语法和通配符,能根据策略配置文件自动生成安全机制策略,节省了手动编写的工作量。策略测试方面,工具提供统一的操作接口实现策略的查询、安装、调试和卸载,自动收集并分析审计日志,加速策略补全。策略发布方面,工具支持策略包的一键导出,并能同时自动生成策略的安装脚本。使用secPaver工具能有效简化策略开发流程,提高策略开发效率,缩短安全管理路径,降低人员学习成本,打造全新的安全开发一体化的工作模式。

主要做法

人民银行浙江省分行以信创操作系统应用推广为契机,将强制访问控制机制应用于openEuler操作系统,对计算机资源使用的主客体进行全面安全标记,采用“先测试环境,后生产环境”的步骤,探索启用基于SElinux的强制访问控制策略,提升主机整体安全防控水平。目前已初步完成部署测试。在测试服务器中整体运行稳定,未发生异常情况的基础上,将相关配置要点编制形成《openEuler操作系统安全配置指引》,规范各服务器对SElinux的配置应用。

以某网络安全管理服务器为例,该服务端运用Tomcat中间件为网站提供Web服务,通过MongoDB数据库存储监测风险信息,借助ElasticSearch搜索引擎提供风险信息查询服务,并将日志以文件形式存储于文件系统。其中涉及网站目录、数据目录、日志目录均归属于不同的服务进程,各个模块各司其职,理应互不干预。人民银行浙江省分行借助secPaver工具创建自定义标签,并将其赋予相关的应用进程和资源目录,编写一系列安全策略,通过策略为指定进程赋予访问和修改权限,隔离了授权以外的进程操作,从而达到安全防护的效果。

取得成效

一是安全防护能力显著提升。目前人民银行存在较多安全防护能力薄弱的信息系统,其防护手段仅仅依靠外部的网络与主机安全工具。SELinux强制访问控制机制的建立为主机内部资源构筑了一道新的防线,即使外部入侵获取了超级管理员权限,也仍然无法直接危害受保护的核心应用和数据资源,同样也大幅降低了运维人员误删文件导致故障的风险,提升了服务器主机整体的安全保障。截至目前,浙江省分行已在多台服务器主机完成secPaver工具的部署应用。全省新一代服务器主机将在《openEuler操作系统安全配置指引》逐步完善的基础上,安全策略日益丰富,防护能力显著增强,运维效率充分提升,基础保障不断夯实。

二是策略开发模式大幅优化。相比传统的安全策略开发模式,使用secPaver工具能够降低开发人员对安全机制的知识背景要求,简化策略开发流程,提高策略开发效率,降低开发人员的学习成本。基于secPaver的安全策略开发模式解决了原先安全策略“开发难、配置难、运维难”的困境,打通了开发与安全工作相隔离的工作模式,有助于实现软件和安全策略同步发布(如图2)。

图2 传统安全策略开发方式与

基于secPaver开发方式对比图

三是联合运维优势充分显现。随着服务器主机安全技术的推广应用,“全省一盘棋”网络安全联合运维机制逐渐完善,科技人员安全意识逐步加强。主机安全技术的探索应用,使每一位开发人员在系统建设过程中充分发挥主观能动性,协助开发安全策略,真正参与到安全管理工作中。SELinux与secPaver均具备完善的日志记录功能,并配备日志管理工具帮助运维人员整理日志文件。在secPaver工具的部署应用后,运维人员能够通过日志分析精确掌握主机资源的访问情况,更方便地排查非授权异常访问的追踪回溯,通过“互审互查”也促进了安全策略的进一步优化完善。

下一步计划

下一阶段,人民银行浙江省分行将持续跟进、稳步推进,依托现有经验成果进一步深化应用。

一是总结与推广同行。在前期取得的实践成果基础上查漏补缺,重点关注安全防控的薄弱环节,交流分享已有的成功案例和典型样板。持续推广新技术应用,随着openEuler操作系统部署应用的服务器主机不断增多,进一步将secPaver工具做大做强,全面推广应用。

二是意识与管理共建。倡导“信息系统开发与安全策略开发并行”的理念,以“最小必要”作为权限设置的原则,将强制访问控制的安全策略加固作为应用系统上线前的“固定动作”,应用到各个具体场景中,杜绝系统超级管理员账号的共用、滥用和错用。

三是广度与深度并进。持续关注openEuler开源社区和安全软件库,将更高效、更便捷的安全管理工具纳入人民银行安全管理的选型范围。积极探索创新,构建更丰富、更科学的安全策略体系,高质量完成总行信息化转型要求,打造主机安全防护的铜墙铁壁。

(此文刊发于《金融电子化》2024年1月下半月刊)

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。