
在公司测试环境的出口网络设备上,给流量镜像下,大致下面
即使某些公司存在一些冷门业务在跑,而该域名没记录到 cmdb 里,这样也能抓到
1 Ljcbaby 4 天前 不是所有业务都在自有机房吧 |
2 1145148964 4 天前 擦屁股的话,没有大的收益。 |
3 guanzhangzhang OP @Ljcbaby 能被广大程序员看到的大厂草台班子新闻,这些厂不可能没有这种单独的测试网络环境 ![]() |
4 vfs 4 天前 "匹配自家域名(含通配符)": 你自己的域名,你自己肯定知道。 所以直接写一个定时任务,过一阵子把你的域名都挨个 https 请求一遍, 检查证书 NotAfter , 告警就行了。 前面步骤可以都省了 |
5 guanzhangzhang OP @vfs 控制域名解析的资产归属和运维不一定是一个部门,特别大厂里分工太明细了,你看去年和今年,为啥年年有大厂证书过期 |
6 ajaxfunction 4 天前 via iPhone 吃一截长一智的事,和规模没关系。 |
7 fionasit007 4 天前 听说这次腾讯直接续签了 100 年,但是证书有效期不是一年嘛,就算他 100 年每年还是需要换的,或者说他们和证书机构直接有对接,可以搞不用替换的? |
8 stinkytofux 4 天前 @fionasit007 #7 可能是自有证书, 只用来跟游戏客户端通讯加密用的. 不需要浏览器信任. |
9 salmon5 4 天前 然后证书过期的锅就全是你的了,别人高高兴兴乱用证书,反正锅都是你的 |
10 salmon5 4 天前 事实上你造了一个屎山一样的没意义的轮子 |
11 guanzhangzhang OP @salmon5 #10 又不是告诉公司,而是运维自己偷偷用,给自己兜底 |
12 salmon5 4 天前 @guanzhangzhang #11 你这个方案太重了,并且 TLS 证书用的地方很多,文档签名、代码签名、mysql 、pgsql 、mongo 等等都会用到证书,你这所谓的小小的运维能管的过来吗? |
13 guanzhangzhang OP @salmon5 #12 1.首先,只是 https 的 sni ,又不是双向 ssl 和那些纯 tcp 的 ssl 服务,其次流量出口镜像下有啥难度和侵入性,我开发个 app 或者运行在 socks 代理也能实现一个透明代理层面监控,https://github.com/zhangguanzhang/appproxy |
14 pckillers 4 天前 楼主可能不知道 HTTP2 的一个 TCP 包里可能有多个域名的请求。 更不要说 QUIC 这种走 UDP 的协议了。 最后正式不一定是 https 的,很多私有协议也会有证书。 |
15 niubilewodev 4 天前 上了这套系统。 10 年可能起不到一次作用。 只要 1 次没起作用,锅就归你背。 没人愿意上。 |
16 guanzhangzhang OP @pckillers 逐一扩展,而且不是有 ebpf 项目能抓 https 的吗,我只是问为何没人从这方面去整下,作为备用手段 |
17 guanzhangzhang OP @niubilewodev 是备用又不是完全靠这个,没有这个的情况下,为啥这么多大厂还出现这种草台事情 |
18 AkinoKaedeChan 4 天前 @guanzhangzhang eBPF 抓 TLS 那个可是要 Hook TLS 库的…… |
19 guanzhangzhang OP @AkinoKaedeChan 我这是提出一个方向想法,万一有大佬做出一个牛逼的,测试环境上的 agent 和 server 部署监控,以及公司出口流量上网行为审计继承 https sni 层面监控,支持不同场景的不同模式,还有 dns 解析 mirror 啥的,设计抽象好支持更多扩展 |
20 jiangzm 4 天前 你这是没事找事,还镜像网络设备流量这蠢蠢给自己埋雷。 作为运维/开发你只要监控自家服务端的 https 证书即可,使用客户端完全不需要管别人的 https 证书。 如果能收集自家的证书随便加个提醒即可,如果是其他部门管理那就定时监控 HTTPS 服务状态,比如用 uptime-kuma 同时监控服务状态和证书到期提醒。 |
21 qwertooo 4 天前 没意义,大公司不会用,小公司不会买。 |
22 jiangzm 4 天前 @guanzhangzhang #17 google 都出过域名到期没续费的情况,别动不动就到处给人家扣什么草台班子的帽子。 先问下你自己是不是菜鸡。 |
23 sampeng 4 天前 @ajaxfunction 是啊。。。问题是你以为 10 年这个数字怎么来的。。因为他 10 年前已经发生过一次。。。 |
24 94 4 天前 我们这边就一个域名,然后是 1 年的证书。每年证书到期前的运维部门会提前发全体 IT 的邮件通知。过期前一个月的每个周一都会发,一直发到旧证书过期的那一周。 如果过期了都还没发现说明用的人少就不用管了 |
25 sagnitude 4 天前 一个 openssl 脚本就能干的事情,搞这么复杂,指定几个监听 URL ,crontab 一下,发现不对直接给管理层群发邮件和短信,给负责人发短信钉钉消息,最高优先级,结束 |
26 Q980q48Jgj6pRXoO PRO 要考虑成本问题 |
27 chunjilikafa1456 4 天前 我们这专门成立了一个 ssl 卸载层的平台,不负责管理证书,但会提醒证书有效期 |
28 Rickkkkkkk 4 天前 最有可能的情况下,这个证书是 LOL 公司还很小的时候就有的,流程啥的都没有。然后最开始就是申请到现在过期。 |
29 guanzhangzhang OP @sagnitude 你的意思是之前苹果音乐,谷歌,LOL ,罗技都写不了 openssl 脚本吗,你说的脚本场景是知道有哪些证书的前提下,但是大多数工作中处于交接导致遗漏逃逸,所以需要思路是从黑盒层面作为兜底避免 |
30 invictus0741 4 天前 馆长的场子还是要站一站。 |
31 guanzhangzhang OP @Rickkkkkkk 所以就是需要黑盒层面用技术手段兜底,毕竟很多都是交接情况埋了很多坑 |
32 guanzhangzhang OP @94 这种统一管理基本不会发生这种场景的,但是比如 LOL 那种陈年和多次交接的就不一定具备这种统一管理条件了 |
33 Rickkkkkkk 4 天前 @guanzhangzhang 就没做呗。这个东西可能十年前就存在的,最早负责这块的人也早就离职了。然后一直能跑也不会有人去关心。 |
34 guanzhangzhang OP @usn 看要做到那种地步了,自己偷偷用作为兜底手段可以快速 ai 整一个工具出来 |
35 guanzhangzhang OP @jiangzm #20 按照你的说法,我看了你的贴子,你用 containerd 还单节点 k8s ,不是蠢蠢给自己找事,既要 docker 的便利性又被 containerd 的 nerdctr 和 ctr 折磨,为啥不用 cri-dockerd |
36 guanzhangzhang OP @chunjilikafa1456 纯软件方案还是硬件方案 ![]() |
37 COW 4 天前 不懂,证书管理不是通过 cert-manager 、pki 自动化弄吗,自动续期失败了就自动告警呗,跟 SNI 有什么关系。。。SNI 只会找域名,有些证书还是纯 IP 的呢。 |
38 DHCPv6 4 天前 Panabit NTM 免费版是有类似功能,旁路嗅探证书并推送过期消息,只是不太想用他们的产品,记得是网卡 Polling 模式用户态处理。 |
39 guanzhangzhang OP @COW 你这是 k8s 层面考虑,我意思是看每年证书过期的曝出来在程序员群里流传的,基本都是 web 的 https 证书过期。 从终端到访问 web 中间链路上做黑盒检测,相信大厂内部的上网审计设备流量 mirror 扩展或者自己纯软件层面开发 agent 在内部测试环境做 hook 。你看 27 楼和 38 楼他们说的 |
40 qwx 4 天前 对于私自签的证书,自己应该管理严格,对于公开证书,我觉得可以去证书透明日志里做监控,接流量+探测太重了,当你知道你管理的出入口有好几个 G 流量的时候,你就知道监控要多少的算力了。 |
41 DHCPv6 4 天前 @qwx 透明日志也不错,不过几个 G 的话 NTM 普通 x86 机器也能应付,或者做流镜像。个人感觉做好 PKI 管理与黑盒检测并不冲突,角色不同顾虑不同,对于权限和管理混乱的环境,黑盒检测确有一定帮助。 期待 HTTP/3 与 ECH 大规模运用,逐步架空上网审计设备( |
42 < href="/member/sagnitude" class="dark">sagnitude 4 天前 @guanzhangzhang 你也说了是管理问题,如果按你这些措施下来,到最后一步,收告警的人不去处理,和我说的有区别吗 |
43 COW 4 天前 @guanzhangzhang 哦,我懂你意思了,其实这是个管理问题,不是技术问题。不如搞个各业务线证书自查流程,上报后统一入 CMDB ,遗漏的、出问题的让各业务线自己负责就行了。 |
44 sagnitude 4 天前 最简单的,openssl 脚本触发钉钉接口,给全体管理人员发钉钉任务,每天早上八点群发短信,一星期未解决给公司全体成员群发邮件,到期未解决,全员连坐,当年绩效全部扣除 |
45 chunjilikafa1456 4 天前 @guanzhangzhang #36 硬件,信创国密要求不能搞软件的 |
46 jiangzm 4 天前 @guanzhangzhang #35 你这有点离题了,作为一个开发把家里的电脑做宿主机弄个单节点 k8s 做测试不是很正常吗,同时又有 docker 应用部署也很正常。不管用哪个工具能达到目的就好。 |
47 mizuki9 4 天前 再过 3 年,证书最长有效期缩短至 47 天,不就没问题了。现在就是证书时间太长了没人管 |
48 leehaoze98 4 天前 没太搞懂你说的测试环境的出口网络设备是啥意思。如果我没理解错的话,是镜像出口流量,拿到真的有被用的域名,然后去发请求看域名过期没过期。 对于大厂,镜像流量的成本过高,机房也很分散,多地域多机房加这个有点复杂。实际的操作里,证书其实是公司级别的流量入口处,收敛起来统一管理和续期的,流量到了我们业务这里已经是解密后的 HTTP 流量了,证书过期前的预警和续期都是标准化的操作,点两下就完成了。 不过实际中还是会出现证书过期的情况,一些老业务,没有使用公司统一的域名,这种的证书还是业务自己管,就有可能忘了续期。 |
49 pingdog 4 天前 via Android 这种只能架构师搭建的时候考虑,后来人是极难推动任何跨多业务的改动 除了在一个追求完美架构的公司,否则只会吃力不讨好 |
50 guanzhangzhang OP @leehaoze98 思路和 38 楼那个差不多,那个应该是支持更多扩展 |
51 eryajf 4 天前 支持馆长。 我这个小工具,也是在尝试辅助解决这个场景的一些问题: https://github.com/opsre/cloud_dns_exporter |
52 yungyu 4 天前 这个事情你自己就可以做啊 openssl 命令就可以解析证书,你配置一个域名名单,都不用每天跑。 存量跑一次记录下过期时间,后面就只要在过期时间之前半个月啥的再回访确认下就行。 名单需要逐步的维护好,可以先维护 主流程、强依赖的域名 |
53 7yu 4 天前 苹果也干过这事,世界就事草台班子 |
54 yungyu 4 天前 |
55 edsion996 4 天前 via Android 我理解没有一个人或部门能管理所有“自家域名”。因为没法确定哪个域名还在用、新申请的域名是否提交给你进行监控。 |
56 dmanbu 4 天前 不用那么麻烦,一个 blackbox_exporter 就能实现证书过期告警 但问题是现在很多团队没运维了,没人专门搞这些 |
57 strobber16 3 天前 via Android 我上家就有。tls 端口被监控系统主动探测。因为是做 saas 的,除了自己域名还有客户域名。每次客户域名快到期了我们还得去催客户提供新的证书 |
58 hackroad 3 天前 正规公司对于业务相关的域名 SNI 检测监控是有的,当然也有很多人为原因忽略了,运维的“锅” |
59 deepzz 3 天前 推一波: https://cm.myssl.com |
60 RexKang 3 天前 证书:我真的还想再活五百年 |
61 guanzhangzhang OP @yungyu #54 看看 38 楼 |
62 guanzhangzhang OP @dmanbu LOL 前几天那个证书就是上古遗留交接来交接去的遗漏的,我指的是这种未知的,从黑盒未知角度上探测的,你说的都是基于已知和统一管理的,但是现实情况千奇百怪,需要有一些兜底手段 |
63 guanzhangzhang OP @edsion996 是的,各种交接情况和历史遗留因素造成了大厂的个别域名 https 证书过期 |
64 guanzhangzhang OP @yungyu #52 LOL 前几天那个证书就是上古遗留交接来交接去的遗漏的,我指的是这种未知的,从黑盒未知角度上探测的,你说的都是基于已知和统一管理的,但是现实情况千奇百怪,需要有一些兜底手段。你可以看下 38 楼的评论 |
65 rb6221 3 天前 大公司+基建完善,基本上不会出问题,出问题也很快解决。 小公司+基建不完善,其一是业务少、实际影响范围并不大,其二是业务简单、修复起来也很快,而且小公司一个电话随便摇人,修复也不需要走繁琐流程。 大公司+基建不完善,这种情况少之又少。这次只是被你遇到了而已。就像上面说的,成本问题。 |
66 salmon5 3 天前 端口镜像你不知道要多少成本吧? 1G/10G/40G 端口镜像,成百上千的出口设备都做镜像到专用的服务器?运行你的所谓的分析程序,就为了分析一个证书到期问题? |
67 salmon5 3 天前 我觉得可以打通地球南半球和北半球,这样地球一年四季如春,都比你这方案靠谱 |
68 salmon5 3 天前 你这黑盒也是马后炮,实际中就是管理问题,当时这个程序员没有做好测试和验证,没有考虑到证书到期问题,他的 leader 也没考虑到 |
69 salmon5 3 天前 https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-28.html 2019-10-14 发布,DBA 习惯二进制安装,默认启用了 SSL ,默认有效期 10 年; 2029-10-14 后会有陆陆续续的证书过期问题,导致数据库连接失败 你是不是再来一个方案,镜像所有数据库的流量? |
70 ihciah 3 天前 @salmon5 > 端口镜像你不知道要多少成本吧? 1G/10G/40G 端口镜像,成百上千的出口设备都做镜像到专用的服务器? 假设客户端一定有走 TLS 协议的,那么就只需要抓 TCP 443 的前几个包就够用了。 |
71 MacsedProtoss 3 天前 via iPhone 你搁这搞笑呢,罗技是 developer 证书挂了,又不是 ssl 证书,在这立个假靶子? |
72 mintongcn 3 天前 via iPhone 发现证书过期方式很多,过期后怎么处理麻烦。 |
73 yungyu 3 天前 @guanzhangzhang #64 你这种 roi 很低的,因为一些边缘的、冷门的流量,去镜像处理所有流量。有点 大炮打蚊子 的意思。不过可以短暂跑一阵,把没有录入 cmdb 的域名收集起来,作为后续运维、监控的蓝本。 给自己手上的东西做好配套的稳定性保障手段就行吧,我感觉不会有公司像你这么玩的,除非那种全站 qps 几百上千的可能会,但是这点流量的小公司也不至于那么混乱吧。 |
74 ofyann 3 天前 最开始没做,后面的人也不会去做这类没收益的事。 |
75 hanyuwei70 3 天前 uptime-kuma 里面已经自带此类功能了啊,过期前甚至可以给你提报警。运维自己不加告警怪得了谁? |
76 Daybyedream 3 天前 真在意写个监控项然后快到期了告警就行了。 没人说呀,屁大点事。 |
77 Lee2019 3 天前 老哥你方案太重了。 https://github.com/enix/x509-certificate-exporter + https://github.com/prometheus/blackbox_exporter 这哥俩一个把 k8s 集群里用的证书监控了,一个把域名的证书监控了 如果怕域名监控不全,写个脚本定期去抓一下,然后改配置文件就齐活了 要是还有别的证书过期了不知道,就认栽吧。 |
78 dcdlove 3 天前 |
79 wzy44944 3 天前 往前几年可能是没有监控告警的问题,发展到现在,这种问题一般是域名分散在很多部门,历史上又有交接,会出现收到告警的人和实际负责人不一致,收到告警没人处理等等各种非技术问题,实际上是公司资产统一管理的问题 |
80 guanzhangzhang OP @Lee2019 你这列举的都是知道的域名的情况,你看下 38 楼 |
81 guanzhangzhang OP @yungyu #73 是的,你这种也是一种思路,在入职交接前期这种黑盒探测下,给没录入的域名收集起来 |
82 guanzhangzhang OP @wzy44944 拿交接后,使用这样的探测以下,然后假设有个域名证书还有 1 个月过期,找到域名找 IP 可以一路查链路到 cmdb 上,如果是自己处理不了的或者不是归属自己的,最后发邮件通告提前给领导打预防针,最后出问题了就无法给锅摔到自己身上了 |
83 guanzhangzhang OP @salmon5 #69 假如阿里云平台内部的管理 rds 证书过期,你会在阿里云的网站上看到证书过期啥的字样和信息吗,这是 https 的证书吗,为啥不审下题目 |
84 cheng6563 2 天前 短期免费证书,let's encrypt 不是自带邮件么... 长期证书,让运维拉个表都行吧,毕竟要监控过期的东西肯定不止证书一个。 |
85 guanzhangzhang OP @cheng6563 看看 38 楼 |
86 Lee2019 2 天前 @guanzhangzhang 我还写了这句话“如果怕域名监控不全,写个脚本定期去抓一下,然后改配置文件就齐活了” 嗅探一个二级域名下有多少子域名的工具还是挺多的,subfinder 之类的都可以查,不过内网的域名一般这种开源工具都查不到。 但是如果是内网域名,如果内网域名还在用,又有 tls ,总得有个 nginx 之类的,哪怕手底下的服务器干什么用都不知道,监控系统上发现有服务器上有 nginx/appache/traefik/etc. 的时,去瞅一眼配置就行。这种活定期巡检的时候顺手就干了,也就跑一个脚本的事儿。 38 楼的产品我搜了下,说实话,我不敢用。 |
87 isSamle 2 天前 其实我觉得这不是技术问题,是管理问题,一个项目的上马不可能等到面面俱到再上,只要一上马,各种任务就会有优先级,管理安排到的,就优先处理了,优先级滞后的,那可能就会被无限忽视,直到有一天暴雷,然后以后这一项就会提高一定的优先级,但是又可能会有低优先级的事项暴雷。置于用什么工具提醒,用什么工具自动化,这些全部要基于高优先级才可能预先实现,否则就只能事后处理 |