一、基础要求 (1)双因子认证:可以对接厦航的认证系统(cas或oidc)以实现二次验证 (2)提供全功能的标准的API接口供第三方调用,即开放给用户操作的功能均可以通过接口调用,包括但不限于制品元数据增删改查、漏洞扫描报告查询导出、制品增删查、远程库以及本地私服库的增删改查、利用元数据作为筛选条件进行制品筛选等 (3)每套平台均需实现高可用部署,支持滚动升级,减少维护的宕机时间;支持可按照业务量与客户要求进行横向扩展 (4)支持容灾备份,要求支持本地备份、异地备份、冷备份、热备份的模式对系统进行全量或增量备份 (5)支持使用S3协议的对象存储,同时制品库本地机器能够对热点制品数据进行缓存,避免对网络存储访问的性能问题 (6)支持webhook监听制品事件,包括上传、下载、元数据的增删改查等,从而支持基于事件实时地和外部系统集成,监控制品最新状态 (7)在产品交付时需满足以下要求: A.可运行在使用鲲鹏、飞腾芯片(至少满足1个)的服务器上 B.可运行在麒麟、统信(至少满足1个)的操作系统上C.兼容使用开源数据库MySQL或postgresql(PG) (8)中标供应商须与厦航签订《网络安全协议》《信息安全保密协议》
二、制品包管理 (1)支持主流开发语言原生仓库:包括但不限于Docker、Helm、maven、Gradle、NPM、go、RubyGems、PyPI、NuGet、Conan、Conda、PHP、RPM、文件类型制品(包括二三方库依赖以及业务上线制品)库的创建、拷贝、删除等操作;提供上述类型制品的本地私服库以及远程库,其中远程库用作远程资源代理,负责自动拉取外网三方库依赖 (2)离线编译能力:支持统一管理代码构建所需的所有依赖,实现编译环境仅连接本制品库的情况下可以正常进行代码编译 (3)远程库及本地私服库数量不限制,制品数量不限制,系统用户数量不限制 (4)具有权限管理功能,权限管理对象为库,支持创建、删除、移动、修改、只读等多种权限类型。权限颗粒度需要达到单个用户对单个库的权限配置能力,满足通配符或正则表达式匹配。 (5)元数据管理:可记录软件包关联的DevOps生命周期数据以及其他自定义元数据,并与软件制品包关联 (6)支持nexus制品迁移至本制品库
三、制品包安全 (1)二三方库依赖准入控制:能根据设定的安全规则(包括但不限于漏洞评分、级别或依赖名称版本)自动阻止漏洞组件下载使用,并支持策略延时生效 (2)业务制品的准出控制:能根据设定的安全规则(包括但不限于漏洞评分、级别或依赖名称版本)自动阻止漏洞业务制品下载使用 (3)制品库安全扫描能力:支持深度分解检测制品的开源依赖及开源框架,细粒度,深层次地发现可能的漏洞,并能够展示依赖关系图及路径溯源;支持包括但不限于Docker、maven、Gradle、NPM、go、RubyGems、PyPI、NuGet、Conan、Conda、PHP、RPM、二进制压缩包等制品包格式;支持所引用开源组件的开源许可证合规审计,能够完整开源许可证的传染性特征 (4)漏洞影响范围导出:可以根据特定规则(包括但不限于漏洞编号、依赖名称及版本、漏洞评分、漏洞等级)或结合元数据筛选(如只筛选在线运行的包)实现筛选并导出多种格式(包括但不限于CSV、PDF、JSON)的漏洞影响范围结果 (5)漏洞信息及修复建议可靠且易懂:漏洞扫描结果包含但不限于漏洞编号、漏洞介绍、漏洞紧急程度以及详细可行易懂的漏洞修复建议 (6)全面的漏洞库数据:在服务期间需保证对接开源的NVD漏洞库和商业的VulnDB漏洞数据库,且实时更新漏洞数据;支持自定义对接其他漏洞库,如CNVD漏洞数据库等
四、Jenkins支持 (1)流水线集成:提供Jenkins插件或其他工具与官方Jenkins2.332.3-lts及之后的版本兼容集成,并定期维护; (2)提供jenkinsfile的模板支持与Jenkins进行对接,实现采用JenkinsPipeline实现面向DevOps的安全能力,其中包括但不限于代码拉取,兼容主流的构建方式和技术进行构建打包,元数据收集,制品安全扫描,制品推送
|