GitHub与微信开启“秘密扫描”计划,来确保数据安全

近日GitHub 官方博客更是宣布:” 腾讯微信现在是 GitHub 秘密扫描合作伙伴。”

“秘密扫描”是Github发起的一个计划,可别被它名字吓到了,它并不是说秘密的扫描用户的隐私数据,而是和微信合作发起,防止微信开发者的秘钥泄露。

该计划的大概功能,就是微信与Github合作秘密扫描,当用户发起请求,Github会对仓库进行秘密扫描,并把开发者的秘钥发送给微信,微信会匹配秘钥并通知受影响的用户,并用邮件通知用户,删除在Github的秘钥,并建议重置秘钥,这样才能最终保证安全。

下图就是Github与微信合作“秘密扫描”的整个流程。

GitHub与微信开启“秘密扫描”计划,来确保数据安全


总的来说就一句话:很多开发者把秘钥放在Github,“秘密扫描”会扫描秘钥,并让微信通知受影响的用户,并采用新的修复指引方案,避免秘钥泄露,产生数据安全问题。

目前加入GitHub 秘密扫描计划的服务提供商已有 56 家,其中还有 Meta、Figma、京东云和 Shopify 等。

开发者为什么会把秘钥上传至Github

大家明知道不安全,为什么还有那么多开发者会把秘钥上传至Github呢?只有一个原因,那就是追求开发效率。

在我们做项目开发过程中,避免不了要调试代码,特别是与微信这种外部系统联调,很多公司都会直接用真实的密钥进行调试,这样就能保证联调是没问题的。

虽然每一家公司都会强调,秘钥用完后,要记得删除,不可和代码一起提交。但是这个问题还是会大概率出现,因为人不是机器,你一年操作100次就有可能出错一次,你一直都没出错,团队成员终究可能出错一次。

人终究会犯错,所以我们必须寻找解决方案。

解决方案

出现以上问题,就一个原因就是秘钥放在源码里面了,那我们就不要把秘钥放在源码里,就解决问题了,但是这样又产生新的问题,怎么调试的问题?

针对这个问题,做好以下几点:

开发安全

1、沙箱

成熟的开放平台,大部分都有沙箱环境,这是开放平台的模拟环境,日常开发中可以用好沙箱这个功能,基本可以完成大部分的接口联通工作。

2、Mock

Mock就是自己制造测试环境,模拟开放平台的环境,这个与沙箱类似,但是缺点就是需要额外功能的开发,工作量比较大。

3、申请备用Key

申请备用Key,这也是很多公司的做法,正式的Key涉及真实用户的数据,这些数据安全性、敏感度都比较高,而额外申请一个备用Key,就能在真实的环境里面测试,还没有额外的工作量。

4、单独测试服务器

虽然申请备用Key,可以解决大部分的问题,但是备用Key是没有大量的数据的,在大量数据测试的场景,使用备用Key就无法联调,这时候可以申请一台单独服务器用来测试。

代码安全

以上是针对日常开发要做的,其实在代码内部也有需要做的:

1、钥加密存储

针对系统任何敏感数据,都是要最高级别对待,必须进行加密存储,避免代码泄露,或者内部人员直接拿去使用。

2、IP绑定

对于敏感数据的接口,都需要绑定IP白名单,避免钥泄露,系统接口被调用。

3、接口调用日志保存、跟踪

敏感数据的接口,都必须有日志功能,并针对业务场景,进行风控管理,自动发送系统提醒、短信提醒、邮件提醒等方案。

运维安全

服务器方面安全很重要的,运维工作也是项目的一部分,要做好几点:

1、服务器登录日志

服务器远程登录日志,必须记录保存,并进行异常跟踪提醒。避免由于服务器密码泄露,导致产生数据安全问题。

2、服务器操作日志

服务器操作的日志,也是需要记录保存的,特别是一些敏感的操作,比如进入敏感的文件目录、拷贝敏感的数据等。

3、服务器登录,进行短信提醒

针对高级别的数据,需要对服务器登录进行实时提现,比如进行短信提醒。

4、云盾

现在很多云服务器,都有提供云盾的功能,类似于我们登录验证,每一次登录都需要额外输入验证码,才能登录。这样一方面是方便记录登录日志,也是避免系统密码泄露,被直接登录。

安全与效率

系统的安全涉及是方方面面的,要保证系统安全,必然会影响开发进度,所以这也是很多企业,为了生存和发展,忽略了安全的问题。

但是数据安全还是非常重要的,也是根本,所以牺牲一定的工作效率,来保证安全还是很有必要的。

– End –

分享一套.NetCore从入门到精通视频教程

点击下方公众号卡片,关注我

回复“888”,免费领取

推荐阅读盘点6个.NetCore+Vue前后端分离的开源项目

盘点5个C

一个C

开源免费WMS仓库管理系统【推荐】

觉得好看 点个在看

GitHub与微信开启“秘密扫描”计划,来确保数据安全》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/201.html