Neo23x0/auditd

GitHub: Neo23x0/auditd

一套由社区积极维护、开箱即用的 Linux auditd 最佳实践配置规则集,旨在高效采集广泛的主机安全遥测数据以供下游分析。

Stars: 1815 | Forks: 301

[![积极维护](https://img.shields.io/badge/Maintenance%20Level-Actively%20Maintained-green.svg)](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d) ``` ___ ___ __ __ / | __ ______/ (_) /_____/ / / /| |/ / / / __ / / __/ __ / / ___ / /_/ / /_/ / / /_/ /_/ / /_/ |_\__,_/\__,_/_/\__/\__,_/ ``` Best Practice Auditd Configuration ## 理念 此 auditd 配置的理念是提供一个最佳实践的基线,该基线: - 旨在主要 Linux 发行版上开箱即用 - 涵盖广泛的安全相关主机活动 - 倾向于使用可重用的遥测数据,而不是冗长的硬编码检测规则 - 将检测逻辑保留在 Sigma 规则、SIEM 内容或主机端分析中 - 通过分段和注释保持易于阅读和调整 简化的规则集有意保留了一些高价值但潜在高吞吐量的遥测数据,特别是进程创建、套接字创建和文件访问失败事件。如有需要,请根据您的环境调整这些部分。 ## 覆盖范围 当前配置侧重于以下覆盖范围: - 自审计和审计配置完整性 - 噪声过滤器和面向可移植性的排除项 - 内核、模块、挂载、swap 和时间更改 - 计划任务、账户数据库、PAM、sudo 和登录状态 - 网络、防火墙、启动、服务和引导路径配置 - 库路径、Shell 配置文件、SSH、systemd 和 MAC 策略更改 - 失败的访问尝试、DAC 修改、会话文件和特权滥用启发式规则 - 特殊原语,例如 `ptrace`、`memfd_create`、`bpf`、命名空间、`io_uring` 和 `userfaultfd` - 软件、容器和安全工具配置路径 - 高吞吐量遥测数据,例如 `execve`、`execveat`、套接字创建、文件删除和 32 位 ABI 使用 ## 相关项目 此规则集旨在保持与下游检测逻辑无关。 它专注于收集广泛有用的审计遥测数据,随后可以通过不同的方式进行分析,例如使用基于 Sigma 的工具或 SIEM 查询。 一个可以利用这些审计数据的开源项目是 [Aurora Linux](https://github.com/Nextron-Labs/aurora-linux),这是一个轻量级且可定制的基于 Sigma 的 Linux 代理,它将基于 eBPF 的遥测与用户空间丰富化以及 Sigma 规则匹配相结合。 ## 验证 此规则集有意包含 `-i`,以便可选的特定发行版路径在缺少某些二进制文件或目录的系统上不会中止加载。 这使得默认部署变得简单,但也意味着规则加载错误会被忽略。 如果您需要严格的部署前验证,请测试删除了 `-i` 行的临时副本,例如: ``` grep -v '^-i$' audit.rules > /tmp/audit.rules.strict auditctl -R /tmp/audit.rules.strict ``` 该仓库还包含 GitHub Actions 检查,用于对规则进行 lint 操作,并验证可移植的 CI 副本和严格副本是否都能在 Ubuntu 上加载。 ## UID_MIN `audit.rules` 中的多个规则使用 `auid>=1000 -F auid!=unset` 来关注交互式用户活动并排除未设置的登录会话。 `1000` 是许多 Linux 发行版上常见的 `UID_MIN`,但并不通用。如果您的主机使用不同的 `UID_MIN`,请在部署前检查 `/etc/login.defs` 并替换 `audit.rules` 中的 `1000`: ``` awk '$1=="UID_MIN" { print $2 }' /etc/login.defs ``` ## 来源 此配置基于以下来源以及对默认规则集多年来的合并改进: Gov.uk auditd rules https://github.com/gds-operations/puppet-auditd/pull/1 CentOS 7 hardening https://highon.coffee/blog/security-harden-centos-7/#auditd---audit-daemon Linux audit repo https://github.com/linux-audit/audit-userspace/tree/master/rules Auditd high performance linux auditing https://linux-audit.com/tuning-auditd-high-performance-linux-auditing/ ### 更多规则 并非所有这些规则都已被包含。 有关 PCI DSS 合规性,请参阅: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-pci-dss-v31.rules 有关 NISPOM 合规性,请参阅: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-nispom.rules ## IppSec 的视频讲解 IppSec 录制了一段视频,讲解如何使用 auditd 检测 OMIGOD 漏洞的利用。该视频中的核心 auditd 概念仍然有用,但此仓库中的规则集自那以后已得到显著简化。请将该视频视为历史背景和基于 auditd 检测思想的介绍,而不是当前 `audit.rules` 的逐行文档。 https://www.youtube.com/watch?v=lc1i9h1GyMA ## 贡献 请以 Pull Request 的形式提交您的更改
标签:AMSI绕过, API接口, Auditd, CSV导出, DNS 解析, eBPF监控, EDR, osquery, Sigma规则, Web截图, Web报告查看器, 主机监控, 凭证访问监控, 威胁检测, 安全基线, 安全遥测, 审计配置, 容器安全, 开源安全项目, 教学环境, 最佳实践, 权限提升监控, 目标导入, 端点检测与响应, 系统加固, 系统日志, 系统调用审计, 网络安全, 脆弱性评估, 脱壳工具, 运维安全, 防御规避监控, 隐私保护