凭据生命周期管理:创建、存储、轮换、吊销、审计的完整流程
凭据这东西,说白了就是一把钥匙。你想想看,一把钥匙从配出来到报废,中间要经历多少环节?工厂里的凭据管理也是一样。我见过太多企业只盯着「创建」这一步,后面的事全不管了。结果呢?数据库里躺着几千个僵尸账号,谁创建的、谁在用、什么时候该换,一概不知。
凭据生命周期管理,就是把「钥匙」从生到死的每个环节都管起来。我把它拆成五个阶段:创建 → 存储 → 轮换 → 吊销 → 审计。下面我一个一个说。
核心原则:凭据生命周期必须闭环。只创建不吊销,等于没管。只轮换不审计,等于白干。
1. 创建:从源头管好每一把钥匙
凭据创建,不是随便敲个密码就完事。我见过最离谱的案例——某工厂的PLC远程维护账号,密码直接用的「admin123」,一用就是三年。嗯,后来被扫出来的时候,他们IT主管脸都绿了。
创建阶段要管好三件事:
- 命名规范:凭据标识必须能追溯到用途。比如
svc_plc_line3_ro表示「三号线PLC只读服务账号」,而不是user001这种天书。 - 密码强度:别再用「大小写+数字+特殊字符」这种老掉牙的套路了。我建议直接用密码短语,比如
Line3-Robot-Arm-2024#Secure,好记又难猜。 - 最小权限:创建时就要想清楚——这个凭据到底需要什么权限?只读就别给读写,临时用就别设永久有效。
我的习惯:创建凭据时,我会同步生成一个「凭据卡片」——包含用途、责任人、有效期、权限范围。这玩意儿后面审计时能救命。
2. 存储:别把钥匙挂在门上
凭据存哪儿?我见过最夸张的——有人把生产系统密码写在便利贴上,贴在工位显示器边框上。你问他不怕丢?他说「没事,监控看着呢」。
正经的存储方案,我按安全等级排了个序:
| 存储方式 | 安全等级 | 适用场景 | 我的评价 |
|---|---|---|---|
| 硬件安全模块(HSM) | ⭐⭐⭐⭐⭐ | CA证书、根密钥 | 贵,但值 |
| 企业密码管理器 | ⭐⭐⭐⭐ | 服务账号、数据库密码 | 性价比之选 |
| 操作系统密钥存储 | ⭐⭐⭐ | 本地服务凭据 | 够用,但别乱用 |
| 配置文件明文存储 | ⭐ | ❌ 不推荐任何场景 | 迟早出事 |
我个人强烈推荐企业级密码管理器,比如CyberArk、HashiCorp Vault。别觉得贵,一次安全事故的损失够你买十年服务。
⚠️ 我曾经踩过的坑:有次部署Vault,忘了配置自动备份。结果服务器硬盘挂了,所有凭据全丢。恢复花了两天三夜,还被领导骂了个狗血淋头。记住:密码管理器本身也要做高可用和备份。
3. 轮换:定期换锁芯,别等钥匙丢了才换
凭据轮换,说白了就是定期换密码。但怎么换、多久换一次、换的时候怎么不影响业务,这里头门道不少。
我一般按这个节奏来:
- 高敏感凭据(如域管理员、数据库root):每30天轮换一次
- 中等敏感凭据(如服务账号、API Token):每90天轮换一次
- 低敏感凭据(如只读监控账号):每180天轮换一次
轮换时最怕什么?怕业务中断。我建议用蓝绿部署的思路:先创建新凭据并部署到备用节点,验证没问题后再切换,最后吊销旧凭据。整个过程业务无感知。
自动化轮换示例(HashiCorp Vault + Shell):
# 生成新密码并更新到目标系统
vault write -force database/rotate-root/mysql_prod
# 验证新凭据可用
mysql -h db-prod -u root -p$(vault read -field=password database/creds/mysql_prod)
# 确认无误后,吊销旧凭据
vault lease revoke -force database/creds/mysql_prod/old-lease-id
4. 吊销:该断就断,别犹豫
凭据吊销,是生命周期里最容易被忽视的环节。员工离职了,账号没删;供应商项目结束了,VPN账号还在。这些「僵尸凭据」就是等着被人利用的后门。
什么情况下必须立即吊销?
- 人员离职或转岗
- 凭据疑似泄露
- 供应商合同终止
- 设备退役或报废
- 凭据超过最大有效期仍未轮换
⚠️ 我曾经处理过的事故:某次安全扫描发现,一个三年前离职的工程师的VPN账号还在用。顺着查下去,发现这个账号被外部IP登录过,而且登录时间正好和一次数据泄露事件吻合。虽然最后没找到直接证据,但这个教训够深刻——吊销不及时,等于给攻击者留后门。
吊销操作要快,但也要稳。我建议建立吊销SOP:
- 确认吊销需求(谁提的?什么原因?)
- 执行吊销操作(禁用账号/撤销证书/删除Token)
- 验证吊销生效(尝试用旧凭据登录,确认失败)
- 通知相关方(业务负责人、IT运维)
- 记录吊销日志(时间、操作人、原因)
5. 审计:让每一把钥匙都有迹可循
审计不是秋后算账,而是日常体检。我见过太多工厂,平时不审计,等出了事才翻日志——结果发现日志根本没开,或者开了但只保留三天。
审计要盯住四个维度:
| 审计维度 | 检查内容 | 发现问题示例 |
|---|---|---|
| 完整性 | 所有凭据是否都在管理范围内 | 发现3个未登记的本地管理员账号 |
| 时效性 | 凭据是否在有效期内 | 5个证书已过期仍在用 |
| 合规性 | 凭据是否符合安全策略 | 8个账号密码不符合复杂度要求 |
| 使用记录 | 凭据被谁、何时、从哪使用 | 凌晨3点有海外IP登录生产系统 |
审计频率我建议:
- 自动化审计:每天跑一次,检查凭据状态和异常使用
- 人工抽检:每月一次,重点检查高风险凭据
- 全面审计:每季度一次,覆盖所有凭据
我的小技巧:审计报告不要只给IT看。把结果翻译成业务语言,发给各业务部门负责人。比如「三号线PLC的维护账号已经90天没轮换了」比「账号svc_plc_line3逾期未轮换」更容易引起重视。
小结:生命周期管理不是流程,是习惯
凭据生命周期管理,说到底就一句话:知道有什么凭据,知道谁在用,知道什么时候该换,知道什么时候该删,知道出了问题找谁。
我做了这么多年安全,最大的体会是:技术方案再牛,执行不到位也是白搭。把生命周期管理变成日常习惯,比上什么高大上的系统都管用。
嗯,这一节就聊到这儿。记住:凭据管理不是IT部门的事,是全工厂的事。