在 Red Hat Enterprise Linux(RHEL 10)中,对 sudo 访问进行安全强化管理,是操作系统基线加固与SRE治理中的核心环节之一。下面给你一套企业级可落地方案(含规范 + 配置 + 审计),可以直接写进运维标准或审计文档。
一、设计目标(SRE视角)
sudo 管控要实现 4 个核心目标:
- 最小权限原则(Least Privilege)
- 可审计(Auditability)
- 可追溯(Traceability)
- 防滥用(Abuse Prevention)
二、基础安全策略(必须项)
1️⃣ 禁止直接使用 root
# 锁定 root 远程登录passwd -l root
# SSH 禁止 root 登录vi /etc/ssh/sshd_configPermitRootLogin no
2️⃣ sudo 权限分级(核心)
❌ 错误方式(常见风险)
👉 风险:等同 root
✅ 推荐方式(精细化授权)
# 定义命令别名
Cmnd_Alias WEB_CMD = /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx
# 授权用户webadmin ALL=(root) WEB_CMD
👉 说明:
3️⃣ 使用 visudo 管理
👉 避免语法错误导致 sudo 失效
三、增强安全配置(RHEL10重点)
1️⃣ sudo 日志审计(强制)
增加:
Defaults logfile="/var/log/sudo.log"Defaults log_input,log_output
👉 实现:
2️⃣ 限制 sudo 会话超时
Defaults timestamp_timeout=5
👉 说明:
3️⃣ 限制环境变量注入攻击
Defaults env_resetDefaults secure_path="/usr/sbin:/usr/bin:/sbin:/bin"
👉 防止:
4️⃣ 禁止无密码 sudo(关键)
👉 风险极高(审计不通过)
四、账号与组策略(企业规范)
1️⃣ 使用用户组管理 sudo
groupadd ops_adminusermod -aG ops_admin user1%ops_admin ALL=(root) /usr/bin/systemctl, /usr/bin/journalctl
👉 优点:
2️⃣ 分角色设计(推荐)
五、审计与合规(重点)
1️⃣ 查看 sudo 日志
或(推荐):
2️⃣ 配合 auditd 审计
auditctl -w /etc/sudoers -p wa -k sudo_change
👉 监控:
3️⃣ 关键命令审计(高级)
auditctl -a always,exit -Farch=b64 -S execve -Feuid=0-k root_cmd
👉 作用:
六、防攻击加固(高级SRE)
1️⃣ 限制 sudo 来源终端
👉 防止:
2️⃣ sudo 二次认证(结合 PAM)
可接入:
3️⃣ 结合堡垒机(企业必做)
推荐接入:
👉 sudo 只作为“本地权限控制”,审计交给堡垒机
七、企业级标准模板(可直接用)
Defaults logfile="/var/log/sudo.log"Defaults log_input,log_outputDefaults timestamp_timeout=5Defaults env_resetDefaults secure_path="/usr/sbin:/usr/bin:/sbin:/bin"Cmnd_Alias WEB_CMD = /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx
%ops_admin ALL=(root) WEB_CMD
八、常见安全风险总结(面试必问)
九、SRE最佳实践总结(重点)
👉 一句话总结:
sudo ≠ 提权工具,而是“可控提权 + 可审计提权”机制