万网人网站备案流程,移动端企业网站模板下载,企业微信app下载安装不了,排名优化网站seo排名先声明一下#xff0c;本文不聊ISSUE中的七七八八#xff0c;也不聊代码是否写的好#xff0c;更不聊是不是跟蔡徐坤有关之类的吃瓜内容。仅站在技术人的角度#xff0c;从这次的代码泄露事件#xff0c;聊聊在代码的安全管理上#xff0c;通常都需要做哪些事来预防此类事… 先声明一下本文不聊ISSUE中的七七八八也不聊代码是否写的好更不聊是不是跟蔡徐坤有关之类的吃瓜内容。仅站在技术人的角度从这次的代码泄露事件聊聊在代码的安全管理上通常都需要做哪些事来预防此类事件的发生。同时大家在阅读本文的时候也可以深入思考下自己团队是否也存在类似的问题经过这次的事件是否有必要针对性的做一些优化。最小权限“最小权限”原则是我们在学习Linux用户管理时候经常被提到并且被反复强调的内容。该原则是指每个程序和系统用户都应该具有完成任务所必需的最小权限集合。赋予每一个合法动作最小的权限就是为了保护数据以及功能避免受到错误或者恶意行为的破坏。在代码的安全管理上“最小权限”原则同样适用。但是从此次的代码泄露内容中可以看到这一点做的并不好一起来看看源自泄露代码的README介绍从说明中可以知道这是一个后端项目的大仓库每个业务线都通过文件夹的方式管理自己的业务模块。那也就是说每个业务模块的人都是可以看到这个大仓库的。继续看README最后的负责人信息可以看到这个大仓库中包含了非常多的业务模块与相关负责人信息。由于Git的权限管理都是对整个仓库的无法精细化到具体的文件夹。换言之对于这个大仓库的访问其实是有非常多的人员可以拿到全量代码的而其中有大部分代码可能并不是自己业务线的内容。可见这个仓库的内容对于代码自身的保护上并没有做到最小权限控制。所以当出现代码泄漏的时候、对于泄露范围就很难控制。可能一个小环节的过失就会导致非常大的泄漏灾难。配置分离配置与代码的分离自云原生应用的流行开始就一直被反复的强调。将配置内容隔离开之后赋予代码的将仅仅是逻辑对于各种与环境相关的敏感信息都应该被剥离出去这就使得代码中将不再含有各种环境信息和敏感信息。同时这么做也可以轻松的实现多环境的不同配置这种实现方式与我们传统通过构建工具来实现的多环境是完全不同的。只有在严格分离了配置之后才真正的可以实现一次构建多处运行的目标。基于构建工具实现的多环境部署实质上多次构建多处运行的结果每个环境运行的介质只是上都不是同一个程序。为什么要强调这一点呢同样的我们看看从网络上流出的一段代码片段如果这段代码是真实存在的话那么配置管理和安全意识上确实就做得非常差了。所以对于配置中心的建设大论大小团队从安全角度上来说都是非常重要的。何况在目前有大量开源配置中心的大背景之下做到配置分离是一件性价比非常高的事。如果做到这一点那么即使代码有流出对于重要密钥、数据库账户密码等等敏感信息也不会被泄露。外部监控任何与安全相关的内容都少不了监控。事前的所有策略最终都有可能被一一击破留给我们最后的一道防线就是在事件发生之后马上得将其堵住以防止问题的扩大而造成更大的损失。在笔者知道这件事的时候距离代码上传已经有6小时之久了。各类技术讨论群中几乎也都是相关信息的八卦。几乎每一次刷新页面都是几百Star的增长。虽然处理的速度不能说快但是没过多久与之相关的仓库都开始无法访问。至于是不是有做代码泄露扫描的监控我们不得而知。因为在扫描告警之后对于代码的扩散控制作为B站来说本身是被动的还是需要Github等仓库运营方来完成。所以这中间到底哪一步慢了我们无法考证。不过这些都不重要这里主要强调一点除了管理上的防护之外必须留一手外部监控以快速的发现泄漏并采取措施。这块可能大部分开发人员不太了解这边我就稍微提一下。做一下这个是不是很费劲对于很多中小团队来说可能本身就没有什么人力去做这件事那么是不是就没办法了呢实际上很多安全服务商甚至一些大型互联网公司都有提供这样的产品服务。如果说你连买这类产品的钱都不想出那么顺手推荐一个开源项目可以参考一下Github leaked patrol最近欢迎留言交流说说大家所在团队对于代码的安全性都是如何做的用了什么商业服务或是用了什么开源软件欢迎一起分享学习与进步原文地址https://www.cnblogs.com/didispace/p/10754729.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com