200 多条密码裸奔了三年,我终于做了一次彻底整改
先问大家一个问题:你记得自己所有密码吗?
不是常用的那几个,是全部。
前几天帮朋友迁移密码,我顺手导出了一下自己浏览器里存的密码。228 条,整整齐齐躺在一个 CSV 文件里——全是明文。
换句话说,谁能碰到我这台电脑,双击打开这个文件,就能看到我这些年在互联网上的全部家底。
那感觉,就像深夜回家发现门没锁,而且已经这样过了三年。
问题比我想的严重
本来以为只是"密码存在浏览器里"这点小事。真翻了一遍才发现,问题一抓一大把。
服务器密码直接写在说明文档里,我还贴心地整理成了目录;SSH 私钥全都没有口令,拷走就能用;同一串密码在邮箱、代码托管、Apple、微软之间来回复用;云服务器的管理面板端口大剌剌开着公网;家里 Windows 的登录账户是空的,开机直接进桌面。
这份"自我体检报告"看完,我只有一个念头:今晚必须动手。
第一步:把密码收进保险箱
第一件事,把所有密码搬进密码管理器。我用的是 Bitwarden,免费版对我这种个人用户完全够用。
导入不难,浏览器导出的 CSV 它能直接认。麻烦的是 228 条里混了一堆"历史遗留":早就打不开的镜像站、各种测试地址、0.0.0.0 和 localhost 这种本地占位符,甚至还有几年前的注册页残留。我花了一个多小时逐条筛,筛完只剩 171 条。
删掉的重复项里,光同一个服务的马甲域名就有二十来个。顺手提醒一句:导出的 CSV 是明文的,导入完记得立刻删掉,不然等于白忙活。
第二步:给每把钥匙上锁
密码进了保险箱,接下来是服务器密钥。
我的 SSH 私钥之前全都没有口令——说白了就是把钥匙放在门口地垫下面,谁捡到都能用。给它们加上口令之后,配合系统的 ssh-agent,日常连接仍然不用每次输密码,安全性却完全不是一个级别。
密钥不设口令,等于默认"丢了也没关系"。
还有个细节:不同用途的钥匙要分开。自动化脚本用的和人工登录用的,最好不要是同一把——万一哪天需要撤销,代价小得多。
第三步:关掉不必要的门
安全这件事,一半靠加固,另一半靠"少开门"。
我把服务器对外开放的端口捋了一遍,发现管理面板和应用的直连端口居然都在公网上待客。可实际上,这两个口我一星期也未必登一次。关掉它们,换成 SSH 隧道访问,公网上能扫到的入口立刻少了一大截。
顺带把 SSH 登录从"密码或密钥"改成了"仅密钥"。公网的 22 端口每天都有人在撞库,只要还开着密码登录,本质上就是在赌运气。
第四步:换掉复用密码(进行中)
前面几步,一个晚上就搞定了。但"换密码"这件事,我到现在还没做完——它牵扯的账号实在太多。
复用的那串密码,我大概用在了十几个地方,其中还包括代码托管、Google、Apple、微软这种丢一个就麻烦大了的账号。这事没法偷懒,只能一个个来:用生成器生成随机密码,改完立刻存进密码库,顺手把两步验证开上。
以前我总觉得,我一个普通学生,谁会盯着我。后来想明白了:撞库根本不需要有人盯着你,它只是拿泄露的密码库全网批量试。你复用的每一处,都是它的入口。
真正的安全感,不是"没人会盯上我",而是"就算被盯上,也拿不走"。
如果你想抄作业
这次整改做完,我觉得最值得马上做的就三件事:
- 把你浏览器的密码导出一次(或者翻翻备忘录、文档),看看有多少是明文躺着的;
- 挑出最重要的三个账号——邮箱、代码托管、常用支付类,确认它们没用同一串密码,然后把两步验证开上;
- 有服务器的:给密钥加口令、登录改成仅密钥、关掉不必要的公网端口。
写在最后
有人觉得这类内容"看完焦虑,做起来麻烦"。我的感受刚好相反:真正让人焦虑的,是那个没锁门的三年;而动手整改本身,一个晚上就完成了大半。
安全最好的状态,是"什么都不用发生"。
写到这儿,我准备把剩下几个账号也改完。
你呢?如果你也去翻了翻自己的密码库,发现同一串密码用了三次以上——欢迎来评论区报到,咱们互相监督。