公共 VPN 密码:为什么不能使用你的邮箱密码
为公共 VPN 访问而公布的登录凭据,按设计就为陌生人所知。请把它与能够识别你身份的账户分开,并把泄露当作吊销来处理。
公共 VPN 目录中的配置文件会列出一台服务器、一个用户名和一个成千上万人都拥有的密码,而人的冲动是输入一个容易记住的值。这种直觉正是问题所在:这个值不是个人秘密,你把它复用到任何地方,那里也会变得公开。请把公布的登录信息当作公共服务的共享钥匙,而把每个能识别你身份的账户当作完全不同的类别。这种分离在真正要紧的那天到来之前都容易维持。
凭据实际上是什么
在公共 VPN 目录中公布的登录信息,是运营者与任何读到该页面的人之间的一种访问安排。它标识的可能是一个共享服务账户而不是某个人,而运营者可以在网关处观察连接。
最后一点值得强调:终止隧道的一方能看到进出隧道的流量,并掌握打开它的密码。把某个值复用到邮箱账户上,会让运营者了解一个他们本不该猜到的账户。共享密码在任何有意义的意义上都不是秘密,因为许多人都持有它。类别是不同的:公共访问秘密、私人账户密码、客户端证书和对等密钥,各自回答不同的问题。
复用是已知值,而不是弱值
密码强度指南通常关注长度和唯一性,而唯一性恰恰是复用所破坏的东西。一个在两处使用的长密码,一旦其中一处泄露,在两处都会成为已知值。
撞库攻击依赖的正是这种重叠,而公共目录让这对组合的前一半对任何人都是免费的。为每项服务生成不同的值,无需记住更复杂的东西就能消除这一杠杆。长度永远无法弥补一个已经印在公共页面上的值。
如果密码已经被复用过
通过其经过验证的恢复流程更改那个无关账户,然后检查它的活动会话和恢复设置,因为一次让旧会话继续存活的密码重置并没有完成任务。不要把密码发给 VPN 支持来演示这个错误。在有可用的多因素认证时启用它,因为即使密码泄露,它仍能生效。
按照运营者记录的流程轮换 VPN 凭据,并注意这与更改你自己的账户是两件不同的事。把两项更改放在同一张工单里,以免有人以为其中一项覆盖了另一项。
如果泄露的是私人客户端密钥而不是密码,补救办法是吊销。更改邮箱密码并不能删除已复制的密钥。
轮换前先确认凭据类型
在生成任何东西之前,先确定该字段实际期望什么。门户房间码、对等密钥和密码不能互换,轮换错的那一个会让泄露继续存在。
python3 -c 'import secrets; print(secrets.token_urlsafe(24))'
gpg --gen-random --armor 2 32
pass generate work/mail 24把生成的值保存在密码管理器中,而不是便条里,以便不同的条目仍然可用。然后在丢弃旧值之前确认新值可用,并把两件事都记在同一张工单里。
最后清理任何使用过旧登录信息的共享安装中保存的凭据。从服务器上移除的凭据,如果某台设备仍用缓存副本反复连接,那仍然是泄露。