1 renfei 174 天前 ![]() 管理不规范吧,线上私钥不能提交到 Repo ,生产环境应该用环境变量读取这些敏感凭证 |
![]() | 3 jianghuan2 174 天前 我想起我刚工作的第二月,用组内生产 aliyun 的 AK 和 SK 写测试代码并在下班前推送到 GitHub 。结果 aliyun 第二天就邮件发到老大那里了,最后全组更换 AK 、SK 。并让我在开会时自行检讨...... |
![]() | 4 AmaQuinton 174 天前 曾经搞过,把公网的测试服务器密钥文件提交到 GitHub 了,收到了 GitHub 官方的警告邮件,然后去更新密钥,同时把 GitHub 文件和 commit 都删除了,挺吓人的 |
5 dford 174 天前 但凡加一步合并前代码审核,就不容易出现这种大坑 |
![]() | 6 wtfwc 174 天前 昨天才听一个朋友说他组内一个成员将国企内网的电脑接到公网上去了,然后公网和内网同时报警,从首都直接层层报警到终端单位......最终这哥儿 19 年工龄没了,净身去职。 |
8 cookii 174 天前 via Android 一般密码密钥大家都存在哪里? |
![]() | 9 NathanInMac 174 天前 @jianghuan2 胆子是真大。不过说起来为什么新人就能拿到 prod 的 key 也说明了平时没管过这个问题 |
![]() | 10 106npo 174 天前 via Android 见过不少网站能访问 .git 文件夹的 ,里面有 git 地址和访问凭证可以直接登上去 |
![]() | 11 shakaraka PRO ![]() @cookii #8 k8s secrets 里,或者第三方配置中心,consul 之类的。反正总之线上的任何 tk 、key 都不可能给开发的。只会提供额外的开发环境 |
12 sampeng 174 天前 via iPhone 没明白,你在内网啊…提交也是内网 gitlab 。核心问题是你内网被攻克了啊。锅肯定在 IT 身上,没 IT ?就算中毒了,谁知道你 gitlab 在哪…你杞人忧天了。其实没啥事…代码没啥了不起的。云密钥泄露也没事,你看操作记录就是了。大概率是自己吓自己了。当然,这是安全风险,吃一堑长一智。我以前碰太多把密钥提公开的 github 上的了,也没啥事… |
![]() | 13 guanzhangzhang 174 天前 it 增加安全,避免内网任何机器尝试扫描其他机器和设备 gitlab 增加二次认证 核心环境上堡垒机,并增加二次认证 |
![]() | 15 dadachen1997 174 天前 我们已经不给用 api key 方式做认证了,去年全部迁移到用 Managed Identity 来搞。 |
16 xingxing09 174 天前 @iorilu 热点啊 |
17 sampeng 174 天前 via iPhone 我们 gitlab 我直接设置最小 255 位密码。平常用 sso 登陆网页。 |
18 guoooo00oohao 174 天前 @cookii 使用 secret manager , 使用类似 vault 。测试和生产各一套 vault ,当需要使用的是 ExternalSecret 这样的工具从拉值创建最新的。 上线操作都是使用额外的密码生成工具,都是一次性密码 |
19 lcy630409 174 天前 op 说的这种 无解,只能后面公司内部规范,没有必要的权限不要给 就相当于 总经理拥有的账号能查看所有信息,虽然他不会看你一个技术/运维提交的东西,但是他的账号能访问到,一旦总经理的密码被攻破或者弱密码 就等于 所有人的密码泄露 |
20 whileFalse 174 天前 应用在公有云中运行,访问云本身的资源用 Role 授权不用 Key 。然后其他三方服务的 Key 全部放在 SecretsManager 中,使用 Role 在运行时获取,这样就可以做到不明文存储任何 Key 对于需要访问生产公有云账户的运维人员,登录开双因素认证 |
![]() | 21 pydiff 174 天前 请教下,怎么扫描整个公司相关系统弱密码,用什么自动化工具呀,还是人工一个一个来搞 |
![]() | 22 7gugu 174 天前 外网是怎么访问到内网的?还是说这个内网只是一个概念,并不是真正意义上的隔离 |
23 guoooo00oohao 174 天前 @pydiff 很麻烦,正常用户内部系统统一 SSO 登录就行了;管理员账号仅限于 VPN 或者内网登录。 |
![]() | 24 pydiff 174 天前 @guoooo00oohao 哦哦,就是搞个类似 ldap 的东西是吧 |
![]() | 25 levelworm 174 天前 via Android 正常,这种事情我们也干过,token 直接放代码里,省事嘛!不用写代码从 secret manager 里取了。。。 哈哈哈。。。嗝 |
![]() | 26 iugo 174 天前 强制要求团队成员开启 2FA, 并且 2FA 要有两种方式. 同时再建议开启 Passkey 在日常中节约时间. |
![]() | 27 levelworm 174 天前 via Android @iugo #26 作为开发,我真的非常反感 2FA ,但是不能不用,唉。不过这个 passkey 看来能解决我的痛点,不用每天登陆两次了。 |
![]() | 28 PatchouliTC 174 天前 答案是公司内做一个 vault 统一管服务端机密,那玩意开源自托管,就是上手有点难 |
![]() | 29 uncat 174 天前 ![]() 你们的 GitLab 是公网可达的吧? 分享我们思路: 我们从基建最初便落地了基于 WireGuard 的 VPN 网络,入职时签发配置,离职时注销,每个设备一份不可复用,只影响 172.31.0.0/16 这一个网段(避免路由冲突),加入 VPN 网络的人才能访问公司内部服务。 这里有很多好处,比如: 1. 有效的内部服务隔离。解决人员流动问题,降低内部服务因为人为疏忽暴露的风险(相对于公网可达而言)。 2. 每个设备一个独立的 VPN 证书,解决远程办公的联调问题。 3. VPN 网络还能打通 K8s 集群,满足直连 Pod IP ,Service IP 的需求。 FYI |
![]() | 30 uncat 174 天前 ![]() 纠正:每个设备一个独立的 VPN 证书 -> 每个设备一个独立的 VPN IP |
![]() | 31 NGGTI PRO 被黑客攻击进入内网了。建议找乙方安全公司做红队演练、渗透测试吧。 |
32 jenson47 174 天前 几个问题整改, 1. 内网网络隔离或者说内网网段隔离(交换机设置或者搞个防火墙) 2. 密码策略,尽量使用统一密码认证,然后密码要求强密码 3. 电脑权限管理,非必须情况下,不授予管理员权限(其实就是最小权限原则) 4. 电脑系统尽量不要用 win10 以下,以及用自带的防病毒 5. 给他们一个错觉,公司有网络安全监控知道他们在电脑做的任何事(让他们悠着点) 最后建议找个安全公司,给你们公司员工做下安全培训。 |
![]() | 33 Felldeadbird 174 天前 这种内网爆破无解吧。总有一个人弱口令。 当然了,库中就不应该添加 敏感的 key 。 |
![]() | 34 yjxjn 174 天前 @jianghuan2 #3 密钥配置这类的不都变量么,写入系统变量去配置,最后即使 ush 了也没啥事 |
![]() | 35 jianghuan2 173 天前 @yjxjn #34 当时刚毕业菜,而且是测试 demo 学习用的,我就直接写在配置文件 push 了。因为邮件是先发到我这里,然后我立马找组长、老大交代情况,后面检讨一下也就过去了。 ![]() |
![]() | &bsp; 36 wu67 173 天前 我只知道曾经呆过的团队, 有人把代码贴公网了, 然后不知道他贴的源头在哪, 最要命的, 被 csdn 农场型博客给爬了, 好了, 全网搜关键字都能搜出来, 听说被项目被扣分.... |
![]() | 37 jciba5n4y6u 173 天前 |
![]() | 38 daxin945 173 天前 既然能够爆破成功,说明肯定不是最近几天才黑进去的,因为爆破可能是漏洞攻击不奏效之后的手段了。 建议整体排查一下受害范围内的主机,如检查一下 ssh-key 、/tmp 目录下的可以文件等,别被留下后门了 |
40 yuchen198 173 天前 还有一个事,公司的所有网站密码都不要保存到 Chrome 浏览器,要是不小心安装了个什么软件的婆姐版,其实是个病毒,人家可以直接盗走 Chrome 保存的密码和 cookie |
![]() | 41 dododada 173 天前 sso+双因子认证呗,当然你要是搞了一些独立系统,或者双因子认证算法被人破了,那就没辙了; 你这个应该是供应链攻击了,估计还要去看看有没有把你们用的什么云平台的账号数据和资产搞掉; |
![]() | 42 wangyzj 173 天前 不是内网吗? 另外代码中藏密码这事情,几乎没有完美方案,CI 过滤然后人工看,也不敢完全保证 |
43 yph007595 173 天前 @jianghuan2 #3 为什么要推倒 github |
44 cyspy 173 天前 通用做法例如 github secrets 是只能替换不能读写,actions 里面输出会被屏蔽 |
![]() | 46 jimrok 173 天前 为什么开发要掌握私钥,开发的私钥不是只有开发环境的吗?生产环境都是运维负责管理。 |
47 hanyuwei70 173 天前 给 op 一些建议 1. gitlab 2FA 登录,现在 yubikey 也不贵了,还是觉得贵可以用 canokey 2. 线上私钥、云平台 AK 、SK 为什么会放在 gitlab 里?首先应该用一个专门的东西管理这些密钥,其次你都已经是云平台了,尽量减少静态 AKSK 的使用。 |
48 WispZhan 173 天前 我们直接 gitlab 纯内网,外部访问只能用 VPN 。 省一大堆事情。 泄露也行,反正至少还要一个 VPN ,VPN 一人一账号,谁出问题谁负责。 --- 中木马了当我没说 |
![]() | 49 demonzoo 173 天前 2FA 可以解决这种问题吧?强制所有人开启两步验证 |
50 xw340721 173 天前 push 时候在 ci 中加入检测这类的代码,一搜一大把 |
![]() | 51 v2wp 172 天前 内网办公电脑中毒这个事情不得不说,办公电脑安全基线必须有墙和 edr 可以保证 445,139,135 之类的危险端口访问拦截。一般像利用永恒之蓝漏洞的挖矿、勒索病毒都是靠 rce 直接溢出植入的,然后再提取本机密码在内网横向撞口令或者自带弱口令去爆破内网终端,自动化感染其他机器。所以企业内网非常有必要做安全基线配置。 |