共计 2358 个字符,预计需要花费 6 分钟才能阅读完成。
🤔什么是 SLSA?
SLSA(Supply chain Levels for Software Artifacts)是一个平安框架,一系列对于规范和管制的清单,用来避免篡改、进步完整性以及爱护我的项目、业务以及企业中软件包与根底设置的平安。
SLSA 平安框架基于行业共识创立,同时实用于软件生产者和软件消费者:
- 生产者:遵循平安规范让其研发的软件更平安;
- 消费者:依据所应用软件包的平安状态来做出对应的决策。
接下来,咱们将从 「源代码」、「依赖」 等方面来探讨 极狐 GitLab DevSecOps 如何助力 SLSA 落地。本文为「源代码」篇,Enjoy~
可信的源代码托管平台是落地 SLSA 的要害
SLSA 框架建设了三个信赖边界,激励用户采纳正确的规范和防护伎俩来增强零碎进攻。这三个信赖边界别离是:Source、Build 以及 Package。
而在每个边界处都有潜在的不平安操作,可能毁坏整个体系的安全性。例如在源代码托管局部,一个未经验证的用户提交或一次未签名的提交等,可能将存在安全隐患的代码提交到仓库,最终成为软件供应链中的「一颗雷」。
一个可信的源代码托管平台是保障软件供应链平安的第一因素,也是助力企业落地 SLSA 框架的要害。
极狐 GitLab:繁多可信的源代码托管平台
极狐 GitLab 是一个一体化平安 DevOps 平台,源代码托管是其重要性能。在经验了十多年的倒退后,极狐 GitLab 已成为具备多种平安防护伎俩的繁多可信源代码托管平台,下文将介绍其中 5 种平安伎俩:
认证与密码保护
「认证」是爱护一个平台平安的最根本要求。就像一个人在进入一栋建筑物时,须要认证是否为受权人员;进入修建后,还要赋予对应权限,来容许其在不同区域进行对应的受权操作。
在认证阶段(进入修建),极狐 GitLab 反对 2FA 以及弱密码保护。
2FA(Two-factor authentication)是极狐 GitLab 为账号提供了另一层平安爱护,除了用户名明码外,还须要提供第二层认证因素(比方手机验证码)才能够登录账号。
用户只须要开启 2FA 配置即可:
2FA 可能无效避免用户在不小心失落用户名明码的状况下,极狐 GitLab 账号被歹意登录应用。
此外,极狐 GitLab 在 15.4 开启了弱明码阻止性能。如果明码与已知的 4500+ 弱明码相匹配、明码中蕴含用户名或蕴含 gitlab
、devops
等字样,会导致明码批改、创立失败,防止弱明码隐患。
此外,还能够通过设置明码长度,来确保明码足够强壮。
精细化权限治理
在受权阶段(进入修建后的受权操作),极狐 GitLab 应用 RBAC 进行精细化权限治理。
当将某个用户增加到某个 Group/Project 中时,通过赋予的角色(Role)来决定用户对于该 Group/Project 下的仓库具备何种操作权限。
目前可用的 Role 有:Guest、Reporter、Developer、Maintainer 以及 Owner。不同的 Role 具备不同的可执行权。
此外,极狐 GitLab 还能够通过爱护分支、CODEOWNERS 等性能实现对于分支、特定文件或目录的操作权限管制,确保只有受权用户能力执行对应操作。
Commit 签名
Commit 签名是为了确保代码提交者为代码变更的实在作者,避免代码被篡改,导致整个我的项目面临重大潜在平安危险。罕用的 Commit 签名办法包含 GPG、SSH key 以及 X.509 证书等。
极狐 GitLab 默认反对用 GPG 对 Commit 进行签名和验证。应用十分便捷,只须要在极狐 GitLab 界面上配置好 GPG key:
接着只须要简略配置 git
即可:
git config --global user.signingkey YOUR-GPG-KEY
提交代码即可看到 Commit 现 已验证:
Code Reivew
Code Review 是确保品质平安内建的重要步骤。
通过 Code Review 可尽早发现代码中潜在的平安危险(如敏感信息硬编码、SQL injection、XSS 等),以最小老本实现平安问题修复,确保合入主分支的代码安全性是有保障的。
针对每次代码提交(MR),极狐 GitLab 能够指派多个审核人对于变更代码进行多人多轮的 Code Review。
进一步,配合自定义的的 多种代码准入规定(只有特定人员批准或满足特定条件的代码才容许被合入)构建多级代码平安爱护机制。
平安审计
平安审计可能确保对于源代码的所有操作都有迹可查,便于追溯审计。
平安审计事件能够包含:
- 实例明码变更;
- 用户权限更改;
- 用户 CRUD(增删改查)操作;
- 我的项目导出与下载等。
这些事件(变更)的记录,对于理解源代码托管平台所产生的动静以及对应操作的变更人信息等,有着重要作用,可能无效避免源代码泄露。即便产生泄露,也能够通过回溯审计报告来查找可疑线索(比方某个行将到职的员工,在某时间段内疯狂下载代码)。
极狐 GitLab 具备审计事件“告警”能力,次要分两类:审计事件和事件流。
对于审计事件的告警,间接在极狐 GitLab 的平安和合规面板中即可查看:
对于审计事件中反对的所有变更事件详情能够查看极狐 GitLab 平安审计官网。
而对于审计流来讲,能够将事件(变更)发送到第三方零碎进行审计,比方 ELK。
第三方零碎在接管到事件流之后会进行进一步的解析解决,最初通过展现面板进行可视化,不便管理员或者审计人员查看。而且,第三方零碎还能够和一些告警工具联合起来,当有适度操作(大量下载)时,能够将告警信息通过 Email、Slack 等发送给管理员或平安人员。
源代码是企业的外围资产,繁多可信的源代码托管平台是帮忙企业高效平安治理企业源代码,避免外围资产透露的无效伎俩。
🌟 以上就是极狐 GitLab DevSecOps 助力 SLSA 落地之「源代码」篇,心愿对您有帮忙!
接下来咱们将推出「依赖」篇等内容,敬请期待~