一、特权账号不是"权限大一点的普通账号"
先给特权账号下一个工程上可操作的定义:凡是能绕过业务系统自身权限模型、直接触达底层资源与控制面的账号,都是特权账号。
这句话把范围说清楚了:
- 操作系统层的
root、Administrator,以及 sudo 组里的成员账号; - 数据库层的
sa、sys、system、Oracle 的SYSDBA、MySQL 的root; - 目录服务里的域管理员、企业管理员、Schema Admins;
- 虚拟化与云平台的主账号、AccessKey、RAM 管理员、K8s 的
cluster-admin; - 网络设备、存储、中间件的 enable/admin 账号;
- 应用系统里的"超级管理员"“后台运营账号”;
- 还有一类经常被忘掉的:CI/CD 里的发布凭据、运维脚本里的免密 SSH 密钥、服务账号的 token。
普通账号和特权账号的本质区别,不在"能看到多少数据",而在下面四条:
- 是否受业务权限模型约束。普通账号做的每一件事,都要经过业务系统的审批流和权限校验;特权账号直接站在业务系统之上,绕开了全部审批逻辑。一个客服账号查用户信息,系统里留着一条"查询某客户"的业务日志;一个 DBA 用
sa直接连库SELECT *,业务系统根本不知道这件事发生过。 - 是否具备控制面能力。普通账号只能"用数据",特权账号能"改规则"——建账号、改权限、清日志、关审计、改配置。这意味着特权账号不仅能偷东西,还能把偷东西的痕迹抹掉。
- 是否具备横向移动能力。拿到一台普通终端的普通账号,横向移动还得再找漏洞;拿到域管或一个通用密钥,整片区域的机器可能一次就开完。
- 出问题后的可追溯性。普通账号天然绑定自然人;特权账号大量是共享的、非人的、无主的。
正因为这四条,业界用一个词形容特权账号的风险特征:杀伤半径(Blast Radius)。普通账号出事,损失通常被业务系统的边界框住;特权账号出事,损失范围等于它能控制的全部资产。一个域管账号泄露,影响面是整个域;一个云平台主账号的 AccessKey 泄露,影响面是该账号下所有资源。
Verizon 的年度数据泄露报告反复给出一个结论:绝大多数泄露事件与凭据有关(业内常引用的比例是 81% 与弱口令或凭据盗用相关)。但更值得注意的是另一层含义——攻击者从不是一上来就想拿特权账号,而是把特权账号当作跳板终点。先钓鱼一个普通员工,再在内网搜集配置、脚本、共享盘里的口令,最后拿到一把"万能钥匙"。所以特权账号的防护水平,决定了整个安全体系的下限:前面所有边界防护做得再好,只要特权账号是裸奔的,攻击链最后一公里就是畅通的。
很多团队在百度搜索"特权账号管理方案"时,真正想确认的其实不是"有没有这个产品",而是"我们公司现在到底有多少个特权账号、它们在哪、谁在用"——这个问题的答案,大多数企业答不上来。这也正是本文要解决的起点。
二、特权账号失控的四种典型形态
特权账号之所以难管,不是因为技术复杂,而是因为它在组织里以四种形态长期失控地存在。
2.1 多人共用:一把钥匙,没人负责
最常见也最致命。五个人的运维小组共用一个root,三个 DBA 共用一个sa,外包和正式员工共用一个后台管理员号。
共用带来的直接后果是责任稀释:出了问题,日志里只有一个账号名,无法定位到自然人。更深层的后果是口令无法轮换——改一次密码,得通知五个人,改完还得保证五个人都同步到;只要有一个人没同步上,生产就出故障。于是理性选择就是不改,一用三年。
共用的另一个隐蔽危害是口令扩散。一个人为了方便,把密码记在自己的笔记软件里、发在工作群里、写进跳板机的脚本里,口令的可控范围就从"五个人"变成了"不可控"。
2.2 长期不改:静态口令的时间风险
口令的风险是随时间单调递增的。它可能被泄露过而你不知道,可能出现在某次拖库的明文里,可能被离职员工带走,可能被人从肩膀后面看到过。
密码学上,静态凭据的安全假设是"只有我知道"。但这个假设的保质期取决于最短的那块木板——只要有一次泄露,凭据就永久失效,而你可能永远收不到通知。这就是为什么合规体系里对特权账号普遍要求更短的轮换周期,以及为什么一旦发生人员变动或安全事件,必须立即轮换。
现实却是:特权账号改一次密码,可能要联动十几套系统、几十个配置文件、若干定时任务。改密的成本越高,改密的频率就越低,风险敞口就越大。
2.3 散落在跳板机和脚本里:看不见的凭据副本
这是最容易被低估的形态。企业以为口令只存在于管理员的脑子里,实际上它至少还有五份副本:
- 运维跳板机上别人留下的历史脚本、shell history;
- 自动化运维平台的任务参数;
- 备份脚本、监控脚本、数据同步脚本里的连接串;
- 个人电脑上的客户端工具保存的连接配置(数据库客户端、远程桌面工具、终端工具);
- 研发代码仓库里的配置文件、镜像环境变量、CI 流水线的密钥变量。
这些副本的共同点是:它们不归安全团队管,甚至不归运维主管管。它们不构成"一个账号",而是构成了一个凭据的影子副本集合,每一份的防护水平都等于它所在环境的最低防护水平。
顺便说一句,硬编码凭据的治理和本文主线是互补关系:消除硬编码解决的是"凭据别到处落",PAM 解决的是"就算集中了,谁用、怎么用也要管住"。前者是收敛,后者是管控,缺一不可。
2.4 离职残留:账号生命周期的断裂
第四种形态是流程问题而非技术问题。员工离职,HR 走完流程,AD 账号禁用,邮箱关掉——但他在生产系统上用共享root登录过的痕迹还在,密码他记得;他在数据库里给自己开过的一个账号没人回收;他创建的一对 SSH 密钥还留在授权列表里;他经手的项目里还留着一个有管理员权限的服务账号。
这类残留账号有个专门的名字:孤儿账号(Orphan Account)。它们的危险在于"无主"——没人会监控它,没人会回收它,因为没人知道它属于谁。而恰恰是这种账号,一旦被攻击者捡到,能安静地存在很久。
这四种形态叠加起来,就构成了一个典型的失控局面:数量不清、位置不明、口令不换、责任不落、生命不管。要打破这个局面,靠"发个制度要求大家改密码"是做不到的,必须有技术手段接管。
这里也补充说明一下凭据自动轮换的能力定位:轮换解决"口令长期不换",是特权账号治理的必要手段之一,但它解决不了"谁在用、干了什么、能不能追责"。轮换是让钥匙定期换,PAM 是让钥匙根本不交到人手里。二者是互补而非替代。
三、PAM 的五大核心机制
特权账号管理(PAM,Privileged Access Management)不是单一产品功能,而是一组机制的组合。可以把它们理解成五道闸门:账号托管与密码代填、会话代理与跳转、命令级审计与录屏、即时申请与到期回收、双人授权。
3.1 账号托管与密码代填:把口令从人手里收走
PAM 的地基是凭据 vault:把所有特权账号的口令、密钥、证书集中存放,用硬件密码模块保护的根密钥分层加密落库,人不再持有明文。
这里涉及一个关键设计:信封加密。每条凭据的明文由一个随机生成的数据密钥加密,这个数据密钥再由根密钥加密后与密文一起存放;根密钥由硬件密码模块生成并保存,永不以明文形式导出。这样做的好处是,即使数据库文件整体被拖走,没有硬件密码模块里的根密钥,密文也解不开;同时轮换单条凭据只需重新生成数据密钥,不需要动根密钥。
有了 vault,才有密码代填(Password Injection):运维人员点击"登录这台主机",系统从 vault 里取出对应账号的当前口令,在后台自动填入登录会话,全程不把口令显示在界面上、不进剪贴板、不落本地缓存。
这一条听起来简单,但它改变了整个安全模型的假设。传统模式下,“人知道口令"是前提,所以口令泄露的风险等于"人的可信度 × 口令的扩散面”。代填模式下,人不需要知道口令,口令的扩散面直接归零。
3.2 会话代理与跳转:所有特权访问都必须过一道闸
代填解决了"口令不给人",但如果人拿到了口令之后能自由连接,还是管不住行为。所以第二道闸门是会话代理:
- 运维人员不直连目标资产,而是先登录 PAM 平台;
- PAM 平台用自己的凭据与目标建立会话,并把会话画面/字符流转发给运维人员;
- 目标资产上看不到运维人员的终端地址,只能看到 PAM 的代理地址。
这就是常说的**跳转(Jump)**与反向代理。它的价值有三:
- 网络收敛。目标资产只需要对 PAM 代理节点放行,不需要对每个人、每个办公网段、每个远程接入终端放行。防火墙策略从"N 台终端 × M 台资产"简化成"1 个代理 × M 台资产"。
- 协议归一。SSH、RDP、数据库客户端、Web 控制台等不同协议都在代理层统一处理,审计策略才能统一落。
- 凭据不外流。会话是在代理节点上用托管凭据建立的,客户端本机不需要保存任何连接配置和口令。
需要强调的是,会话代理和传统的网络层通道不是一回事。网络层通道解决"能不能到达",会话代理解决"到达之后能不能被看见、被控制、被回放"。
3.3 命令级审计与录屏:不只是"记下来",还要"能检索"
第三道闸门是审计,但审计的粒度决定了它有没有用。
最粗的粒度是登录日志:谁在几点登了哪台机器。它能回答"谁进来过",回答不了"干了什么"。
中间粒度是字符流录制:把整个终端会话的输入输出按时间轴录下来,能回放。这比登录日志强很多,但检索困难——想知道"谁执行过删除命令",得把几十小时的录像翻一遍。
最细的粒度是命令级审计:在代理层解析协议,把会话拆成一条条可结构化的操作记录——执行的命令、操作的对象、返回结果的特征、时间戳、会话 ID、关联的申请人。有了结构化记录,才谈得上告警与检索:
- 关键词命中(
rm -rf、DROP、TRUNCATE、chmod 777、关闭审计、清空日志); - 行为基线偏离(某账号平时只做查询,突然执行批量导出);
- 高频失败(短时间内大量权限拒绝,往往意味着越权尝试)。
图形会话(远程桌面、数据库客户端工具)无法直接解析成命令,通常用录屏 + 关键帧提取 + 文字识别的组合:全程录制,同时抽取关键帧做光学字符识别,把画面里的文字转成可检索文本。这样既能回放取证,也能被关键词检索命中。
以安当SMS为例,上述机制在凭据平台上是一体提供的:凭据本体由 vault 托管并用国密算法加密,会话经代理节点代填建立,命令解析与录屏在同一套审计体系里落库,授权与回收走统一的策略引擎,避免了多套系统各自为政、审计数据对不上的问题。
审计体系还有一条底线要求:审计记录本身必须防篡改、防删除。特权账号的一大能力就是关日志、清历史,所以审计数据必须实时外送到独立的存储,且运维账号对审计存储只有追加权限、没有删除权限。
3.4 即时申请与到期回收:权限从"永久拥有"变成"按需临时"
第四道闸门改变的是权限的时间属性。
传统模式下,一个运维一旦被授予root,就永久拥有root。PAM 的做法是:
- 默认零常驻权限,谁都没有特权账号的可用状态;
- 需要用的时候提交申请,说明目标资产、账号、事由、时间段;
- 审批通过(或系统自动按策略放行)后,获得有时限的授权;
- 时间一到,授权自动失效,会话被切断,凭据自动改密。
这就是"即时申请(Just-in-Time)“与"到期回收”。它把权限从静态资产变成了动态凭证,把风险敞口从"永久"压缩到"几分钟到几小时"。
这个机制还有个连带收益:权限的现实性。长期拥有权限的人,往往自己也说不清为什么需要这个权限;一旦改成每次申请都要填事由,半年下来,"谁真的需要什么权限"这个问题就有了一份真实的数据答案,而不是靠拍脑袋。
3.5 双人授权:高风险操作的不可能三角
第五道闸门用于最高风险的操作。双人授权(Dual Control / Four-Eyes Principle)的逻辑是:某些操作(删除生产库表、修改核心配置、导出全量客户数据、变更域策略)必须由两个人同时在场确认才能执行。
实现方式通常有两种:
- 串行审批:A 发起、B 审批,审批通过后 A 在时限内执行;
- 并行会签:A 和 B 各自提交确认,两把"钥匙"都到位才解锁,任一方都不知道另一方的口令,也拿不到完整凭据。
双人授权的价值不在"防坏人"(两个坏人仍可合谋),而在三件事:防误操作(一个人看走眼,第二个人能拦住)、防单点失控(一个人账号被盗,攻击者仍缺第二把钥匙)、提高作恶成本(作恶需要找同伙,暴露概率大幅上升)。
四、"人不知道密码也能用"到底怎么实现
这是最常被问到的问题:如果密码不给我,我怎么干活?我把实现链路拆开讲。
第一步:凭据入 vault,并做一次密码重置。
系统纳管一个特权账号时,第一件事通常是改密。为什么要改?因为托管之前,这个口令可能已经被若干人知道、已经散落在若干脚本里。托管不改密,等于把一份已经扩散的口令装进了保险箱。改密之后,明文只存在于 vault 里,其他人手上的旧口令立即失效。
改密需要解决联动问题:这个账号还被哪些应用、脚本、定时任务使用?所以纳管前必须做凭据引用关系梳理,把引用方一并切到 vault 取口令,否则改密就是生产事故。这也是为什么落地要分阶段、先纳管低风险资产。
第二步:会话建立时由代理节点代填。
运维在平台上点"登录"→ 平台鉴权(人是谁、有没有授权)→ 平台从 vault 取出口令 → 代理节点用该口令与目标资产建立连接 → 把会话流转发给运维。运维看到的是一个可用的命令行或桌面,但从没见过口令长什么样。
关键点是:代填发生在代理节点上,不在运维本机上。口令明文只短暂存在于代理节点的内存中,不经过运维的终端、不进剪贴板、不进浏览器缓存、不进本地配置文件。这就切断了"口令从人这里泄露"的所有路径。
第三步:会话结束或授权到期后自动改密。
会话断开后,系统按策略决定是否立即轮换口令。对高敏感资产(域管、云平台主账号、核心数据库),通常配置"每次使用后轮换";对中低敏感资产,配置"定期轮换"或"事件触发轮换(人员离职、安全事件、授权到期)"。
这里要区分轮换和动态凭据两条技术路线:
- 轮换(Rotation):账号是常设的,只是口令定期改。适用于不能随便删改的账号,比如域管、设备的本地管理员、绑定了外部依赖的服务账号。
- 动态凭据(Dynamic Secrets):账号本身就是临时的,用时创建、短租约、到期销毁。适用于数据库、云平台这类可以按模板快速创建账号的系统。
二者不是替代关系,而是适配不同资产类型的互补手段。域管账号没法"用时创建",只能托管+轮换+会话管控;数据库账号可以动态创建,就优先走动态路线,让每一个运维会话都对应一个独立的临时账号,审计时天然能把操作映射回申请人。PAM 平台需要同时具备这两种能力,并对不同资产选择不同策略。
第四步:全程录制与命令解析。
代填建立起来的会话,天然在代理层,所以全程可录制、可解析、可拦截。这一点是"人知道密码"模式下做不到的——人如果拿到密码,完全可以绕过你自建客户端直连。
顺便回答一个常见疑问:如果人拿不到密码,紧急情况下怎么办?
答案是"破窗流程(Break Glass)":为极端场景预留一个应急通道,比如把主账号口令拆成两半、分别封存在两个信封里,或者要求两名管理员会签后由平台一次性展示明文并全程录像。破窗流程的设计要点是:可用、但要付出高昂的审计代价——每次使用都必须触发告警和事后复盘。这样既保证业务不中断,又让"绕过管控"变成一件极其显眼的事。
五、落地节奏:盘点 → 发现影子特权账号 → 纳管 → 收紧口令可见性
特权账号治理是典型的"不能一步到位"的项目。推荐四阶段推进。
阶段一:盘点(2–4 周)
目标只有一个:把特权账号的清单做出来。产出一张表,字段至少包括:账号名、所属系统/资产、权限级别、当前持有者、用途、是否共享、上次改密时间、被哪些脚本或应用引用。
盘点的难点在于没人能一次性答全。实用做法是三条线并行:
- 自上而下:从组织架构出发,找各团队负责人确认自己域内的特权账号;
- 自下而上:从资产侧扫,用 agent 或无 agent 的方式读取各主机和数据库的账号列表、sudoers、本地管理员组成员、authorized_keys;
- 从凭据出发:扫配置仓库、脚本目录、运维平台任务参数,把里面出现的连接串和口令反向定位到账号。
阶段二:发现影子特权账号(与盘点交叉进行)
影子特权账号指的是不在台账上、但实际拥有特权的能力,包括:
- 未被管理的本地管理员账号、被手动加入 sudo 组的普通账号;
- 未被回收的离职人员账号与密钥;
- 服务账号被赋予了超出需求的权限(权限蔓延);
- 应用账号实际拥有 DDL 权限;
- 长期未登录但权限仍在的休眠账号;
- 第三方、外包、临时项目遗留的账号。
发现它们靠的是持续扫描 + 基线比对,而不是一次性人工排查:定期把资产侧的实际账号与权限快照,和台账做差分,任何新增、提权、长期未使用都进告警队列。
这一阶段往往会有"惊喜"——多数企业第一次扫完,会发现台账里的特权账号数量只有实际的一半甚至更少。
阶段三:纳管(分批次,按风险与改造难度排序)
纳管顺序建议:
- 先纳管低风险、无联动依赖的资产(测试环境、非核心业务系统),目的是跑通流程、验证代填与审计能力、积累操作经验;
- 再纳管中等风险的服务器与数据库,重点是验证改密联动不引发故障;
- 最后纳管最敏感、最难动的资产(域控制器、云平台主账号、核心数据库、网络设备的 enable 账号)。
每一批纳管的动作是:接入 → 凭据托管 → 改密 → 切引用方 → 配置授权策略 → 开启审计。顺序不能颠倒,先切引用方、后改密,否则改密就是故障。
纳管过程中的一个技巧:先只录不控。也就是先把代理和审计打开,允许运维直连,只是所有会话被记录下来;跑两周,看审计日志里有没有会被引擎误伤的正常操作,把策略调准,再切换到"必须走代理"。这样能把切换风险降到最低。
阶段四:收紧口令可见性(最后一步,也是最容易反弹的一步)
纳管完成后,才轮到"禁止人看明文"。这一步要配套三件事,否则会引发强烈反弹:
- 破窗流程必须先就位,让人确信"极端情况下有办法";
- 自助申请入口要足够顺滑,申请—审批—使用的路径最好控制在几分钟内,否则运维会想办法绕过;
- 先给缓冲期:前一个月允许"申请查看明文",但记录申请人、事由、触发告警;一个月后再彻底关闭明文查看权限。
tightening 的顺序可以概括为:先能看见(审计),再能管控(代理),最后才不可见(明文隔离)。反过来做,一定失败。
六、运维为什么会抵制,以及怎么推行
特权账号治理项目失败,八成不是技术原因,是组织原因。把阻力摊开讲,比回避它有用。
阻力一:效率损失。多一步登录、多一次申请,日常高频操作累积起来是实打实的时间成本。
应对:给高频低危操作配置免审批策略(比如只读查询、指定时间窗内的常规重启),只对高危操作要求审批。让 80% 的操作感觉不到变化,阻力就小了八成。
阻力二:不信任。“系统不给我密码,出了问题我怎么兜底?”“平台挂了是不是全线瘫痪?”
应对:破窗流程 + 高可用架构 + 定期演练。平台必须支持集群部署与热备,且要公开单点故障的应对预案。信任是靠演练建立的,不是靠承诺。
阻力三:责任焦虑。过去共享账号出了事找不到人,某种程度上是"保护";一旦全程留痕,责任就落到个人头上了。这种焦虑是真实的。
应对:明确审计不是问责工具,是免责工具。把定位讲清楚——留痕是为了在出事时能自证清白,而不是秋后算账。第一次用审计日志帮某个运维洗清误判嫌疑,抵得上十次宣讲。
阻力四:既有工作流被打破。老运维有自己的脚本、工具和肌肉记忆,接进来要改习惯。
应对:保留兼容路径。比如允许运维继续用自己的终端工具,只要连接经由代理;提供命令行与 API 入口,让人能在原有习惯里工作。
阻力五:业务部门的"特殊情况"。外包要权限、厂商要远程排障、临时项目要开号。
应对:把这些场景显式建模,而不是当例外处理。给外包、厂商、临时项目设计专门的账号模板(默认更短租期、更严审批、更强审计),让"特殊"变成"另一种标准路径"。
推行节奏上,一个经验法则是:先找愿意配合的团队做样板,再拿样板去说服其他人。挑一个安全意识较强、配合度高的团队试点,跑通后把它变成内部案例——“某团队上线三个月,特权账号盘点率 100%,安全事故为零,平均申请耗时 90 秒”。同行的示范效应远大于安全部门的红头文件。
另外,项目启动时最好有一个明确的合规抓手(等保测评、密评、客户供应链审核、集团安全审计)。纯靠"安全很重要"推动的项目,优先级永远排在业务需求后面;挂在合规要求上的项目,才有排期。
很多团队在百度搜索"运维审计方案"“堡垒机选型"时,真正想确认的其实是"上了这套东西,运维会不会天天来找我吵架”。这个担忧是合理的,而答案取决于上述五条阻力是否被逐一化解。
七、能力对比:传统做法 vs PAM 体系
| 能力项 | 共享密码 + 定期改密 | 堡垒机(网关型) | PAM 凭据平台 | 说明 |
|---|---|---|---|---|
| 口令是否下发给人 | 是 | 视配置,常仍下发 | 否(代填) | 决定是否从源头断泄露 |
| 凭据集中存储 | 否 | 部分 | 是,硬件根密钥保护 | 决定泄露面大小 |
| 自动轮换 | 手工,难坚持 | 弱 | 强,支持定时与事件触发 | 决定静态口令的暴露时长 |
| 动态临时凭据 | 不支持 | 不支持 | 支持(数据库/云) | 数据库场景推荐 |
| 访问通道收敛 | 否 | 是 | 是 | 网络策略简化程度 |
| 命令级审计 | 无 | 部分 | 是 | 决定能否检索与告警 |
| 图形会话录屏 | 无 | 常见 | 支持 | 数据库客户端、远程桌面场景 |
| 即时申请与到期回收 | 无 | 弱 | 强 | 决定权限的时间属性 |
| 双人授权 | 无 | 部分 | 支持 | 高危操作兜底 |
| 非人凭据(脚本/流水线) | 无 | 不支持 | 支持 | DevOps 场景必需 |
| 破窗应急 | 天然有 | 弱 | 需专门设计 | 决定推行阻力 |
这张表想说明的是:堡垒机和 PAM 不是互相替代的关系。堡垒机擅长"访问通道收敛与操作留痕",PAM 擅长"凭据本体不出保险箱"。理想形态是二者打通——堡垒机负责会话通道,凭据由 PAM 代填下发,审计数据统一归集。
八、合规映射与检查清单
特权账号管理在合规体系里是硬要求,对应关系大致如下:
| 要求 | 对应 PAM 能力 |
|---|---|
| 等保2.0 身份鉴别(双因素) | 平台登录支持多因素,与统一身份认证对接 |
| 等保2.0 访问控制(最小权限、默认拒绝) | 零常驻权限、即时申请、按资产与命令授权 |
| 等保2.0 安全审计(记录、保护、追溯) | 命令级审计、录屏、审计外送防篡改 |
| 等保2.0 剩余信息保护 | 口令不落本地、不进剪贴板与缓存 |
| 密码应用安全性评估 | 凭据加密使用国密算法,根密钥由硬件密码模块保护 |
| 数据安全分类分级 | 特权账号按资产敏感级别分档授权 |
落地检查清单(可直接拿去自检):
- 特权账号台账是否覆盖服务器、数据库、网络设备、云平台、目录服务、应用后台六大类?
- 台账上的数量与资产侧扫描结果是否一致(差异率)?
- 是否存在多人共用的特权账号?如有,是否已纳入代填托管?
- 是否存在超过 90 天未轮换的特权口令?
- 配置仓库、脚本目录、运维平台中是否仍存在明文特权口令?
- 所有特权访问是否强制经由代理,有无可绕过的直连路径(尤其远程接入路径)?
- 审计数据是否实时外送且运维无删除权限?
- 是否具备关键词告警与行为基线告警?
- 高危操作是否配置双人授权?
- 授权是否具备时效性,到期自动回收?
- 破窗流程是否经过演练?
- 外包、厂商、临时账号是否有专门模板与到期机制?
- 离职流程是否联动特权账号回收与凭据轮换?
- 是否支持国密算法与硬件密码模块根密钥?
- 平台自身是否高可用,有无单点故障预案?
九、常见问题 FAQ
Q1:我们已经在用堡垒机了,还需要 PAM 吗?
需要,两者解决问题的层次不同。堡垒机解决了"通道收敛 + 操作留痕",但如果运维仍然知道明文口令,他完全可以绕开堡垒机直连——尤其在远程接入场景下。PAM 解决的是"口令本体不给人",从根上消除绕过的可能。最佳实践是堡垒机做通道、PAM 管凭据,审计统一归集。
Q2:口令不给人,运维怎么排查紧急故障?
靠代填。运维在平台上点登录,系统在后台完成认证,运维直接拿到可用的会话。真正需要明文的极端场景走破窗流程:会签后一次性展示、全程录像、事后复盘。
Q3:动态凭据能完全替代特权账号托管吗?
不能。动态凭据适用于支持即时创建账号的系统(数据库、云平台 API),但域管理员、设备本地管理员、绑定了外部依赖的服务账号无法"用时创建",只能托管 + 轮换 + 会话管控。两条路线按资产类型选择,互补共存。
Q4:纳管时改密会不会引发生产故障?
会,如果顺序错了。正确顺序是:先梳理凭据引用关系 → 把引用方切到从 vault 取口令 → 验证取数成功 → 再改密。先在非核心资产上跑通,再推进核心资产。
Q5:审计日志量很大,怎么存、怎么用?
分级存储:结构化命令记录长期留存(一年以上),原始录屏短期留存(如三到六个月)或按需留存(仅高危会话全录)。使用上关键是把审计接进告警与检索,而不是只做合规摆设。
Q6:外包人员和厂商支持怎么处理?
不建议直接给共享账号。做法是为外部人员建立独立自然人账号,绑定到专门的角色模板:默认更短租期、强制审批、全程录屏、仅授权指定资产。人员离场时一键失效全部授权。
Q7:国密算法在 PAM 里用在哪?
主要用于凭据的加密存储与传输保护——比如用国密对称算法加密凭据明文、用国密哈希做完整性校验、根密钥由通过认证的硬件密码模块生成保存。对于需要通过密码应用安全性评估的单位,这一点是必查项。
Q8:小团队人少,值得上吗?
值得,但可以简化。最低配置是:先把所有特权口令收进 vault(哪怕只有十几条)、强制代填、开启会话录制。这一步成本很低,收益最直接——口令不再散落在聊天记录和脚本里。
十、几个容易踩的实施误区
误区一:先上管控,后做盘点。
还没搞清楚有多少特权账号就切强制代理,结果大量合法操作被拦,运维叫苦,项目被迫回退。正确顺序永远是盘点 → 发现 → 纳管 → 收紧。
误区二:把 PAM 当成堡垒机的替代品。
PAM 不负责网络通道与协议转换,堡垒机不负责凭据本体的保护。二者职责不同,强行二选一会留下缺口。
误区三:只管人,不管机器。
运维人员的权限收紧了,但流水线里的发布凭据、定时任务里的数据库口令、脚本里的 SSH 密钥没人管,等于前门上锁、后门敞开。非人凭据必须与人类特权账号一起纳管。
误区四:审计开了就不管。
日志躺在存储里没人看,等于没做。至少要把三类告警配上:危险命令命中、行为基线偏离、异常时间/异常地点的特权访问。
误区五:忽略平台自身的高可用。
PAM 一旦成为所有特权访问的唯一入口,它自己就成了最高价值的攻击目标和最严重的单点故障源。必须集群部署、热备、定期演练故障切换,并保留设计良好的破窗通道。
误区六:一次性全公司铺开。
特权账号治理改变的是人的工作习惯,必须给适应期。分批推进、样板先行、按反馈迭代,比一次性发文强制执行的成功率高得多。
方案参考
安当SMS是上海安当技术推出的凭据管理系统,定位为特权账号与非人凭据的统一管控平台,可作为本文所述 PAM 体系的落地参考。其能力要点如下:
- 凭据安全底座:凭据明文经国密算法加密存储,根密钥由硬件密码模块保护、永不明文导出,具备高安全、高可用、高合规三方面的工程保障。
- 凭据类型覆盖:支持静态凭据与动态凭据,覆盖数据库(MySQL、PostgreSQL、Oracle、SQL Server、Redis、达梦、人大金仓等)、SSH 密钥、云平台凭据及各类中间件凭据。
- 七大场景支撑:集中管控、消除硬编码、自动轮换、动态数据库凭据、特权账号管理、DevOps 流水线集成、合规审计。其中特权账号管理对应本文主线,自动轮换与动态凭据作为互补手段按资产类型选用。
- DevOps 集成:提供 K8s、Jenkins、Spring Boot 等中间件与框架的接入组件,应用侧改造量可控制在极少代码行内,便于把流水线里的发布凭据一并纳管。
- 合规支撑:凭据加密采用国密算法、根密钥硬件保护,可支撑等保2.0与密码应用安全性评估相关条款,并提供完整的凭据使用审计证据链。
落地建议参照本文第五节的四阶段节奏推进:先盘点、再发现影子特权账号、再分批纳管、最后收紧口令可见性;同时参照第八节检查清单逐项自检,参照第六节的阻力分析提前设计推行策略。