最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何强制执行关键操作必须经过双人授权的安全验证流程实操
时间:2026-07-12 08:50:52 编辑:袖梨 来源:一聚教程网
强制执行关键操作必须经过双人授权,不是靠改几行 sudo 配置就能实现的,核心在于把“谁申请”“谁审批”“谁执行”三者拆开,用日志、脚本和审批通道串起来。它不改变 sudo 本身,而是让 sudo 只响应“已被双签确认”的命令。
明确角色与权限边界
不能让同一个人既提申请又点通过。需提前划分两组用户:
- 申请人组(如 dev-team):可运行封装脚本提交命令,但无任何 sudo 权限;脚本自动记录申请人、主机、命令原文及 SHA256 哈希值,生成唯一请求 ID(如 REQ-20260617-8A3F)
- 审批人组(如 ops-lead、sec-audit):不直接接触目标服务器,仅通过独立审批终端或企业微信机器人查看待审请求详情,输入 approve REQ-20260617-8A3F 完成签名
用脚本封装所有高危操作入口
禁用直接 sudo,所有需双审的操作(如 systemctl restart nginx、rm -rf /var/log/*、修改 /etc/hosts)必须走统一入口,例如:
sudo-approve --cmd "systemctl restart nginx" --reason "证书更新后重启"
该脚本会:
- 校验申请人是否在白名单组内
- 生成带时间戳和哈希的请求记录,存入 /var/log/sudo-approval/
- 触发审批通知(如向审批群发消息 + 写入 Redis 待审队列)
- 拒绝立即执行,返回“已提交,等待审批(ID: REQ-…)”
审批通过后动态放行,限时生效
审批人确认后,系统自动在 /etc/sudoers.d/ 下生成一个带过期时间的临时授权文件,例如:
/etc/sudoers.d/req-20260617-8A3F: %ops-lead ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
该文件设置 5 分钟有效期,超时自动清理;同时记录审批人、时间、原始请求 ID 到审计日志;执行完成后立即删除该片段,不留持久权限。
全程留痕并支持回溯核查
每次操作闭环都留下三条可关联的日志:
- 申请人侧:/var/log/sudo-approval/request.log(含命令哈希、申请人、时间)
- 审批侧:/var/log/sudo-approval/approve.log(含审批人、请求 ID、批准时间)
- 执行侧:/var/log/auth.log 中 sudo 成功记录(含匹配的临时 sudoers 条目名)
三者可通过请求 ID 关联,满足审计要求。不复杂但容易忽略。
相关文章
- WAIC 2026直击:燧原双线布局超节点:前瞻光互连 07-22
- 大连海创周共谋AI+智能网联汽车产业发展新路径 07-22
- 街舞演出视频 07-22
- Mahadev 能量与恶魔的战争 07-22
- E站ehviewer网页版入口-ehviewer网页版进入口官网 07-22
- Valkyrie 动漫 战斗 Sakuga 07-22