首页/系统/信创系统运维速查/sudo 操作审计日志
安全加固65 条

sudo 操作审计日志

sudo 使用记录默认进认证日志(secure/auth.log 与 journal):需要独立审计文件时在 sudoers 配 Defaults logfile,按合规要求还可开启会话记录。

信创系统运维速查系统更新于 2026-10-13

sudo 的记录落在哪

sudo 默认把每次提权记录写进系统认证日志:RHEL 系是 /var/log/secure,Debian 系是 /var/log/auth.log,同时也会被 journald 收走,用 journalctl -t sudo 直接可查。记录内容包括谁、在哪个终端、以什么身份、执行了什么命令。合规场景往往要求独立日志文件与操作会话录制,这两项都可以在 sudoers 里配置。

基本信息

默认日志位置/var/log/secure(RHEL 系)、/var/log/auth.log(Debian 系)、journald
按标签查journalctl -t sudo、grep sudo /var/log/secure
独立日志文件sudoers 中 Defaults logfile="/var/log/sudo.log"
会话录制Defaults log_input, log_output 与 iolog_dir
配置校验visudo -c
权限要求读日志需 root;改 sudoers 需用 visudo 编辑

典型使用场景

  • 发生操作事故后回溯是谁在什么时候执行了什么命令
  • 合规审计要求提供提权操作记录,评估日志是否完整
  • 排障时确认某个变更到底是谁做的
  • 把 sudo 日志集中转发到日志平台做统一留存
  • 按审计要求开启会话录制,保留完整操作过程

默认日志查看

默认日志查看
grep sudo /var/log/secure | tail -20          # RHEL 系查最近 20 条提权记录
journalctl -t sudo -n 50 --no-pager           # 按 syslog 标签过滤,跨发行版通用
journalctl -t sudo --since '2026-10-01' --until '2026-10-02'   # 指定时间范围回溯
ausearch -ts today -m USER_CMD 2>/dev/null | head   # auditd 侧也能查到 sudo 相关事件
last -n 10                                    # 结合登录记录确认操作人来源

独立日志与会话录制

独立日志与会话录制
# /etc/sudoers.d/audit-log
# Defaults logfile="/var/log/sudo.log"
# Defaults log_input, log_output           # 录制输入输出,注意隐私与容量
# Defaults iolog_dir="/var/log/sudo-io"

visudo -c                                     # 改完必须做语法校验,语法错会让 sudo 不可用
sudo -l | head                                # 确认 sudo 本身仍可用
tail -5 /var/log/sudo.log                     # 验证独立日志已在写入
ls /var/log/sudo-io 2>/dev/null | head        # 录制目录是否生成内容
systemctl restart rsyslog                     # 日志转发场景下确认采集链路正常

记录与判读

来源内容要点注意点
journalctl -t sudo时间、用户、终端、执行的命令重启与日志滚动会分散记录
/var/log/secure认证类事件与 sudo 记录只保留近期,需配合日志轮转
/var/log/sudo.log仅 sudo 的独立记录配置后记录位置变化,别只看默认文件
iolog 目录会话输入输出回放含敏感内容,按数据安全要求管理
ausearch USER_CMD审计子系统的提权事件需 auditd 规则覆盖到位
会话录制会记录操作内容与输入(含口令类键入),存储位置、访问权限与保留周期要按数据安全要求管理,开启前先评估合规与容量。
配置了独立 logfile 之后记录不再只落在默认认证日志里:排查时若只 grep /var/log/secure 会一无所获,先用 sudo -l 与配置文件确认记录去向。

易错点

  • 配了独立 logfile 后仍去默认认证日志里找记录,误判为 sudo 没有留痕
  • 开启会话录制却没做容量规划与清理策略,长期积累占用大量磁盘并可能包含敏感信息
  • 直接编辑 sudoers 文件导致语法错误,sudo 全面不可用,必须用 visudo 并执行校验
  • 日志只留本地且未做集中转发,机器被入侵或重装后审计链断裂
  • 只查 sudo 记录不看登录记录,无法确认操作人真实来源与登录路径

数据来源与参考

  • man 5 sudoers(logfile/log_input)
  • sudo 官方文档(日志与审计)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌