极狐GitLab 密钥推送保护如何保护密钥信息被泄露?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网

GitLab 中文版学习资料

极狐GitLab 最新推出的密钥推送保护功能是为了防止密钥信息(诸如 API 和 token)被直接推送到极狐GitLab 仓库中。当用户进行代码推送时,该功能会检测每一个提交中的内容,如果检测到有密钥信息,就会阻止本次提交,而且会给出具体的告警信息:指明密钥信息存在的位置。

极狐GitLab 从 16.7 引入了密钥推送保护功能(Experiment),在 17.1 提升为 Beta,私有化部署版本在 17.2 中可用。

可参考极狐GitLab 官网升级指南对版本进行升级,来体验此安全功能。

当前该功能处于 Beta 版本,对于私有化部署用户来说,必须要确保版本在 17.2 以后,而且需要管理员在整个实例上开启该功能。可通过管理中心(Admin are) --> 安全 --> Security and compliance --> Secret 检测中开启:

在这里插入图片描述

此外,还需要在每个项目上开启此功能。可通过项目 --> 安全 --> 安全配置开启此功能。

在这里插入图片描述

新上的密钥推送功能不仅可以在代码变更中对密钥信息进行检测,还能对 Issue、MR 评论中的密钥信息进行检测。下面以极狐GitLab 个人访问令牌为密钥信息进行该功能的演示。

对提交代码进行检测防护

下面是一段 python 代码:

import requests

login_url = 'https://jihulab.com'

pat = "glpat-kQvcWtA6pBJAyYDqcza6"

login_headers = {
    'username' : "小马哥",
    'password' : "JiHu-GitLab"
}

login_response = requests.post(login_url)

print(login_response.get())

如果在没有开启该功能的时候,使用 git push命令是可以将上面的代码推送到极狐GitLab 仓库中的:

git push --set-upstream origin secret-push-protection
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for secret-push-protection, visit:
remote:   http://jhma.jihulab.net/root/jh-gitlab/-/merge_requests/new?merge_request%5Bsource_branch%5D=secret-push-protection
remote:
To jhma.jihulab.net:root/jh-gitlab.git
 * [new branch]      secret-push-protection -> secret-push-protection
branch 'secret-push-protection' set up to track 'origin/secret-push-protection'.

在极狐GitLab 项目页面上能够看到该密钥信息:

在这里插入图片描述

在开启该功能后,如果要对包含 PAT 的代码进行提交时,就会出错,并且提示在代码的第 5 行有密钥信息:

在这里插入图片描述

而且明确提示PUSH BLOCKED: Secrets detected in code changes

通过页面提交代码,也会提示 PUSH BLOCKED: Secrets detected in code changes从而阻止代码的提交:

在这里插入图片描述

对 Issue、MR 评论进行检测防护

如果在 Issue、MR 的评论中包含密钥信息,也会进行响应的不安全提示。比如在 Issue 的评论中输入极狐GitLab 个人访问令牌,就会提示以下内容:

在这里插入图片描述

在这里插入图片描述

可以看到如果在 MR、Issue 的评论中包含密钥信息,在添加的时候,就会发出告警,提示这里面包含哪些密钥信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值