系统审计服务是安全加固中“可追溯性”的核心支撑,需通过linux的auditd和windows高级审核策略精准捕获高危操作,强制外发加密留存日志,并定期验证记录有效性。

系统审计服务是安全加固中“可追溯性”的核心支撑,不是装了就完事,关键在记录什么、怎么存、谁来查。高危操作必须被明确捕获,否则日志只是摆设。
Linux:用auditd精准捕获敏感行为
auditd 是 Linux 原生审计框架,比单纯记录命令历史更底层、更可靠。
- 安装并启用服务:
yum install audit -y(CentOS/RHEL)或apt install auditd -y(Ubuntu/Debian),然后systemctl enable --now auditd - 添加关键规则(写入
/etc/audit/rules.d/critical.rules):-w /etc/shadow -p wa -k shadow_access-w /etc/passwd -p wa -k passwd_access-w /usr/bin/sudo -p x -k sudo_exec-a always,exit -F arch=b64 -S execve -F uid!=0 -k user_cmd(记录非 root 用户执行的所有命令) - 重载规则:
augenrules --load,再执行ausearch -k shadow_access验证是否能查到对应操作
Windows:开启高级审核策略并强制记录成功与失败
仅开“基本审计”远远不够,必须启用“高级审核策略配置”,且所有关键项必须同时勾选“成功”和“失败”。
- 打开组策略编辑器:
gpedit.msc→ 计算机配置 → 安全设置 → 高级审核策略配置 → 系统审核策略 - 重点启用以下策略(全部勾选“成功”和“失败”):
• 审核登录事件(含远程桌面、网络登录)
• 审核账户管理(新建/删除用户、改密码、加域等)
• 审核特权使用(如启动服务、备份文件、关机)
• 审核进程创建(启用后需在注册表开启详细命令行日志:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit\ProcessCreationIncludeCmdLine_Enabled = 1)
• 审核对象访问(配合文件/注册表SACL设置,用于监控敏感路径) - 策略生效后运行
gpupdate /force,用wevtutil qe security /q:"*[System[(EventID=4688)]]" /f:text检查进程创建日志是否出现
日志存储与保留不能只靠本地磁盘
攻击者第一件事常是清空本地日志。审计数据必须外发、加密、长期留存。
- Linux:用
rsyslog或syslog-ng将 audit 日志转发至独立日志服务器(如 ELK 或专用 SIEM),禁用本地audit.log的写权限 - Windows:通过组策略 → 计算机配置 → 管理模板 → Windows 组件 → 事件转发 → 订阅者配置,将 Security、System、PowerShell 日志实时推送到集中日志平台
- 本地日志空间必须预设上限并自动覆盖:Linux 中
/etc/audit/auditd.conf设置max_log_file = 50(MB)、num_logs = 10;Windows 中右键“事件查看器 → 安全日志 → 属性”,将日志大小设为 ≥1GB,并勾选“按需覆盖事件”
验证是否真在记录高危操作
不验证等于没配。每次加固后必须手动触发并确认日志落盘。
- Linux 示例:切换到普通用户,执行
sudo cat /etc/shadow,然后立即在日志服务器上搜索ausearch -k shadow_access -i | grep sudo - Windows 示例:用非管理员账户尝试修改管理员密码,检查目标服务器的 Security 日志中是否有 EventID 4723(尝试更改其他账户密码)且结果为“失败”
- 定期导出一周内所有 EventID 4624(登录成功)、4625(登录失败)、4672(分配特殊权限)、4688(新进程)做人工抽检











