安全审计策略怎么审计系统服务安装、修改与卸载安全事件

酷辰姑娘_6623

酷辰姑娘_6623

2026-10-23

661人浏览

原创

需区分linux和windows机制:linux用auditd监控systemctl等命令及/etc/systemd/system/等路径写入;windows启用高级审核策略并配置services注册表sacl,关注事件id 4662、7045、7030。

要审计系统服务的安装、修改与卸载操作,需区分操作系统类型——linux 和 windows 的机制完全不同,审计路径和工具也各不相同。核心思路是:不依赖高层命令语义,而是捕获底层行为载体(如可执行文件调用、注册表/数据库写入、关键路径变更)。


Linux 系统:用 auditd 监控服务管理行为

Linux 中“安装/卸载服务”本质是修改 systemd 单元文件、创建/删除二进制、写入 /etc/systemd/system/ 或 /usr/lib/systemd/system/,或直接调用 systemctl、chkconfig、update-rc.d 等命令。

你可以这样配置 auditd 规则:

  • 监控服务管理命令执行

    sudo auditctl -w /usr/bin/systemctl -p x -k svc_systemctl
    sudo auditctl -w /usr/bin/systemd-sysv-generator -p x -k svc_gen
    sudo auditctl -w /usr/sbin/chkconfig -p x -k svc_chkconfig   # RHEL/CentOS 6
    sudo auditctl -w /usr/sbin/update-rc.d -p x -k svc_updaterc  # Debian/Ubuntu
  • 监控服务配置路径写入

    sudo auditctl -w /etc/systemd/system/ -p wa -k svc_unit_files
    sudo auditctl -w /usr/lib/systemd/system/ -p wa -k svc_unit_syslib
    sudo auditctl -w /etc/init.d/ -p wa -k svc_initd
    sudo auditctl -w /etc/default/ -p wa -k svc_default_conf  # 常见服务启动参数存放处
  • 补充关键系统调用(可选高精度)

    # 捕获所有对 .service 文件的 openat/write/writev 调用
    sudo auditctl -a always,exit -F arch=b64 -S openat,write,writev -F path=/etc/systemd/system/ -k svc_open_write

✅ 日志检索示例:
ausearch -i -k svc_systemctl | grep "comm=systemctl.*install\|enable\|disable\|stop\|start"
ausearch -i -k svc_unit_files | grep "name.*\.service"

Handsfree Windows Control
Handsfree Windows Control

通过 handsfree-windows CLI控制 Windows 本机应用 (UIA) 和浏览器 (Playwright) 的引导技能,用于自动化或测试桌面应用。

下载

⚠️ 注意:避免监控 /etc/ 或 /usr/ 全目录,防止日志爆炸;规则应保存至 /etc/audit/rules.d/10-service.rules 并重启 auditd 生效。


Windows 系统:启用高级审核策略 + SACL 配置

Windows 不通过命令行审计,而是基于事件日志 + 注册表访问控制。服务信息存储在注册表 HKLM\SYSTEM\CurrentControlSet\Services\,任何增删改都涉及对该路径的写入。

你需要组合以下两项:

  • 开启高级审核策略(组策略)
    路径:计算机配置 → 安全设置 → 高级审核策略配置 → 系统审核策略 → 对象访问 → 审核对象访问
    设置为:成功 + 失败(确保记录所有注册表写操作)

  • 为服务注册表路径设置 SACL(安全访问控制列表)
    使用 icacls 或 PowerShell 手动添加审计项:

    # 为 Services 键添加审核(仅限管理员权限运行)
    auditpol /set /category:"Object Access" /success:enable /failure:enable
    cacls "HKLM\SYSTEM\CurrentControlSet\Services" /t /e /g "Administrators:F" /a /e /c
    # 更推荐用 PowerShell 设置精细 SACL(需使用 Set-AuditRule)

✅ 关键事件 ID:

  • 4662:尝试访问对象(含注册表),当 Object Type = Key 且 Object Name 包含 Services 时即为服务变更
  • 7045:Windows 服务安装事件(由 SCM 自动记录,无需额外配置)
  • 7030:服务启动/停止(非安装,但属生命周期关键事件)

? 补充建议:启用 Audit Process Creation(事件 ID 4688)可捕获 sc.exe create、powershell -Command New-Service 等命令行安装行为。


统一建议:审计有效性验证与日常维护

  • 定期测试触发:手动执行一次 systemctl enable httpd(Linux)或 sc create testsvc binPath=...(Windows),立即查日志是否捕获
  • 日志归集与告警:将 audit.log 或 Windows Security 日志接入 SIEM(如 ELK、Splunk),对关键词 create.*service、delete.*service、HKLM.*Services.*WRITE 设置告警
  • 权限最小化:限制能执行服务操作的账户(如 Linux 中禁用普通用户 sudo systemctl;Windows 中移除非管理员对 Services 键的写权限)
  • 保留原始上下文:确保 auditd 记录 auid(登录用户ID)、Windows 记录 SubjectUserName,避免只看到 SYSTEM 或 root 掩盖真实操作者

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4865

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

415

21

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

2026.10.21

20

15

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

2026.10.21

0

16

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

2026.10.21

0

16

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

120

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

80

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

60

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习