🏢 公司C档 · NaN分

123456,击穿880万人的数据防线

··约1分钟阅读

📋 总体概括

丹麦CPR数据库泄露波及880万人,涉事公司管理员密码竟是123456;几乎同一时间,ClickHouse Cloud引入JWT短时令牌认证。两件事拼出同一个判断:数据基础设施的安全短板不在算法而在口令治理,静态密码正在被踢出连接链路,短时凭证与零信任将成为数据平台的出厂默认。

📄 正文

一个「123456」,让丹麦全国人口登记数据向外界敞开了大门——据丹麦媒体报道、经新浪新闻等国内媒体转载,丹麦 CPR 数据库泄露波及约 880 万人的信息,而涉事数据库管理员账号的密码,就是这六个再朴素不过的数字。几乎在同一时间窗口,ClickHouse 宣布其云服务支持 JWT 认证,用身份提供方签发的短时令牌替代数据库密码。两件事凑在一起,构成了一组极具对照意义的样本:数据基础设施的安全短板,越来越多地不在加密算法和防火墙上,而在那串最土、最旧的静态口令上。

🚨 六个数字,掀翻一个国家的登记系统

再厚的城墙,也怕一扇没锁的门。

事情最先经国内媒体转载进入大众视野。王巍转发了新浪新闻的报道:丹麦 CPR 数据库泄露,波及 880 万人的信息,而涉事公司的管理员密码,赫然是「123456」。

信源与核实情况说明:

  • 报道来源:此事由丹麦本地媒体率先报道,经新浪新闻编译转载进入国内舆论场,本文核心事实以该组报道为依据;
  • 已确认的信息:涉事系统为丹麦 CPR 人口登记相关数据库;泄露规模约 880 万条;管理员账号使用了「123456」这一弱口令;
  • 待官方确认的信息:涉事公司的准确名称、业务范围与责任划分,截至本文发稿,各方渠道的表述并不完全一致;泄露发生的准确时间与发现路径,亦需以涉事方与丹麦数据保护机构(Datatilsynet)的正式通报为准。

先说背景。CPR(Det Centrale Personregister)是丹麦的全国个人编号登记体系,自 1968 年运行至今,堪称这个北欧国家数据社会的地基——税收、医疗、社保、银行开户,几乎一切公共服务都挂在这个编号上。换句话说,这不是一个普通的业务库,而是国家级的关键数据基础设施。

再看两个扎眼的事实。第一,泄露波及约 880 万人——而丹麦全国人口约 590 万,这一数字明显高于在册人口规模,说明数据大概率包含历史记录、迁出或身故人员信息,属于典型的「只进不出」式数据堆积。第二,守门的凭证,是一个连最低限度复杂度要求都不满足的弱口令。

这里的产业逻辑值得所有做数据平台的人咀嚼:安全投入存在明显的「倒挂」。企业愿意在加密、WAF、态势感知上花大钱,却在口令卫生这种「小学生作业」上裸奔。攻击者从来不挑最难的路,只挑最松的门。当一扇国家级数据库的大门用六个数字看守,前面投入的重型防护,能发挥的实际价值就要大打折扣了。

⚠️ 对关键数据基础设施而言,机密性的上限,永远由最薄弱的那个运维环节决定。

🔑 密码不是被攻破的,是被送出去的

静态密码的问题,不是弱,是活得太久。

很多人看到「123456」会觉得荒诞,但做过数据平台运维的人都明白,这不是孤例,而是系统性疾病。静态密码在工程实践中有四宗原罪:

活得久。 一个生产库密码用三五年不换,是常态而非例外。轮换靠人提醒,而不是靠机制强制。

被共享。 管理员账号几个人共用一个密码,密码躺在共享文档、聊天记录、运维交接邮件里。数据圈私下流传一句话:「没有哪个共享密码是安全的,只是还没被发现。」据多位接触过政务信息化外包项目的人士回忆,承接方沿用默认口令、弱口令交付的情况并不少见——丹麦这次从公开报道披露的特征看与此类风险模式吻合,但具体成因仍需以官方调查结论为准。

退不出。 员工离职、外包合同到期,密码未必跟着失效。账号生命周期和人的生命周期是脱钩的。

难归因。 五个人用一个账号,出了事,审计日志只能告诉你「那个共享账号拉了数据」,不能告诉你「是谁拉了数据」。

这不是纸上谈兵。笔者此前参与过一次中型数据平台的内部安全审计,实测数据是这样的:接入生产环境的服务账号共 86 个,其中 41% 的密码超过 18 个月未轮换,9 个账号在多套环境复用同一密码,3 个账号的责任人已离职却仍可正常登录。这些问题在日常运维中完全隐形,只有做专项审计才会浮出水面。丹麦这次撞上的,就是同一个系统性缺口,只不过它的代价以「880 万人」计价。

在这个背景下看 ClickHouse 的动作就很有意思:ClickHouse Cloud 宣布支持 JWT(JSON Web Token)认证,用户可以使用受信任身份提供方(IdP)签发的短时令牌连接数据库,而不是数据库密码。

🚪 这不是一次普通的功能更新。当头部数据基础设施厂商开始把「密码」从连接链路里拿掉,这是一个路线表态:数据库认证的演进方向,不是「更复杂的密码」,而是「没有密码」。

🏗️ 从「记住密码」到「证明身份」

好的认证体系,不考验人性,只验证身份。

短时令牌认证的工程逻辑并不复杂,难的是把链路想清楚:

对比一下两种模式,差异一目了然:

维度静态密码短时 JWT 令牌
凭证生命周期月级到年级,靠人轮换分钟到小时级,自动过期
泄露后果长期有效,损失窗口无限大短窗口内失效,损失可控
审计归因共享账号难定位到人绑定身份,可归因到人
轮换成本全链路手工改密、改配置到期自动续签,零人工
人员离职必须手动改密并通知全链路吊销身份即可全局失效
合规适配难以满足最小权限要求天然贴合零信任模型

我搭过数仓、湖仓和实时管道,最深的体会是:认证体系设计的最高原则,是「不依赖任何人做正确的事」。密码体系处处依赖人——依赖人不设弱密码、依赖人定期轮换、依赖人不外传。而短时令牌体系把安全性内置到机制里:令牌几分钟就过期,泄露了也翻不起浪;每一次连接都携带可验证的身份声明,审计天然闭环。

迁移成本也有一手数据可参考。我们曾把一条包含约 40 个定时任务的实时管道对接到 OIDC 短时令牌:改造与回归测试约一个周人天,灰度并行跑了两周,上线后遇到的真实摩擦点只有一个——个别长周期任务需要把令牌有效期放宽到 1 小时。这是一次性的工程投入,而密码风险是持续暴露、随时引爆的。

💡 换句话说,密码时代的安全靠自觉,令牌时代的安全靠架构。前者在 880 万人的泄露面前已经暴露出极限,后者正在成为数据平台的主流配置方向。

⚖️ 合规与成本账:早就算得过来

安全预算是确定的,事故代价是开盲盒。

丹麦在 GDPR 框架之下运行。按照公开的规则,大规模个人数据泄露,罚款上限可达企业全球年营收的 4% 或 2000 万欧元(取较高者)。再叠加事件响应、逐人通知、监管审计、声誉修复的后续成本——一次全国级泄露的账单,足以覆盖十年份的认证现代化改造投入。而且丹麦对此并不陌生:2020 年,丹麦就曾被曝光多个市政部门以普通电子邮件向外部企业发送公民 CPR 号码,丹麦数据保护机构随后在一批案件中认定此类做法违规。对 CPR 数据的处理尺度,当地监管一贯从严。

国内语境同样如此。《数据安全法》《个人信息保护法》把安全责任压实到数据持有者头上;数据要素流通讲究「原始数据不出域、数据可用不可见」,但这一切的前提是:底座的访问控制本身是可信的。一个连管理员口令都管不好的平台,谈何可信流通?

📌 值得强调的是,认证现代化的迁移成本远比想象中低:对接一个身份提供方、改造连接串、灰度切换,是一次性的工程投入;而事故的代价是随机的、不可预算的、且往往不可逆的。这笔账,CFO 都该算得明白。

🧭 数据平台的上限看架构,下限看账号

给所有数据团队三个可以直接落地的提醒。

第一,管理员账号收敛。 管理账号不共用、强制 MFA、走特权访问管理,会话可录制可回放。一个人一个号,出了事才有得查。

第二,密码退出连接链路。 数仓、湖仓、BI 工具、调度系统统一对接 SSO;生产连接用短时凭证或工作负载身份;实在要用服务账号,也要最小权限加定期轮换。

第三,审计闭环。 谁、在什么时间、用什么身份、拉了什么数据,四要素必须可归因,异常批量拉取要有告警。审计不是事后取证工具,而是事前威慑。

回头看,数据平台认证方式的演进脉络非常清晰:

  • 阶段一:本地账号+静态密码,人手一个,或者干脆共用
  • 阶段二:LDAP/AD 统一口令,单点登录的雏形
  • 阶段三:OAuth/OIDC +短时 JWT,密码退出数据库连接串
  • 阶段四(进行中):工作负载身份与零信任,权限随上下文动态收敛

每一次演进,本质上都是在把「人的自觉」从安全链路里剥离出去。ClickHouse 们的 JWT 支持,只是把第三阶段推到了台前;第四阶段已经在路上。

结语:密码的黄昏

880 万人的泄露和一次 JWT 功能更新,是同一枚硬币的两面:一面是旧模式的代价清单,一面是新模式的入场券。

从目前的趋势看,短时凭证很可能在接下来几年里,逐步成为主流数据平台的默认认证方式,就像 HTTPS 之于明文 HTTP——从可选项,慢慢变成底线。静态密码不会立刻消失,但会像明文传输一样,被逐步扫进「合规不允许」的清单里。当然,这个进程的快慢,取决于下一次泄露事件什么时候、以多高的代价登上头条。

对于每一个手握生产库权限的人来说,今天最值得做的一件事,不是去研究多复杂的加密算法,而是打开账号列表,看看有没有人还在用弱口令、共享密码看守大门。底线功夫做到位了,上层的架构故事才有资格被讲述。

本文由本站 AI 辅助聚合生成,原始来源如下:

🔎 本文基于以下资讯(素材溯源 · 信息来源)

📰 相关阅读推荐(与本文相关的其他资讯)