如何有效利用Ubuntu日志进行审计
小樊
36
2025-12-27 14:57:37
Ubuntu日志审计实操指南
一 核心日志与定位
- 系统与服务日志:
- /var/log/syslog:综合系统日志
- /var/log/auth.log:认证与授权(如 SSH、sudo)
- /var/log/kern.log:内核日志
- /var/log/dmesg:启动与内核环缓冲
- 服务日志:如 /var/log/nginx/、/var/log/mysql/ 等
- 审计专用日志:
- /var/log/audit/audit.log(由 auditd 写入,记录系统调用与文件访问等内核级事件)
- 查看方式:
- 实时查看:journalctl -f
- 服务日志:journalctl -u sshd
- 传统文件:tail -f /var/log/auth.log 或 less /var/log/syslog
以上路径与查看方式是开展审计的基础,便于快速定位认证、内核与业务服务事件。
二 配置Syslog与journald
- 确保 rsyslog 正常运行并持久化:
- 安装:sudo apt-get install rsyslog
- 重启生效:sudo systemctl restart rsyslog
- 典型用途:
- 集中记录与转发:在 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 配置日志路径与远程转发(如 . @remote:514)
- 审计聚焦:确保 authpriv 类日志写入 /var/log/auth.log,便于安全审计
- journald 与 syslog 协同:
- 使用 journalctl 做查询、过滤与实时跟踪,结合 rsyslog 做落盘、转发与长期保留策略
通过合理配置 rsyslog 与 journald,可兼顾本地审计与集中化日志管理。
三 启用内核级审计 auditd
- 安装与启动:
- sudo apt install auditd audispd-plugins
- sudo systemctl start auditd && sudo systemctl enable auditd
- 常用规则(写入 /etc/audit/rules.d/audit.rules 或临时用 auditctl):
- 监控敏感文件:-w /etc/passwd -p rwxa -k passwd_access
- 监控命令执行(区分架构):
- 64 位:-a always,exit -F arch=b64 -S execve -S execveat -k executed-process
- 32 位:-a always,exit -F arch=b32 -S execve -S execveat -k executed-process
- 查询与报表:
- 按关键字:sudo ausearch -k passwd_access
- 生成报告:sudo aureport -m(综合)、sudo aureport -i(交互/可读化)
- 说明:
- 审计规则较多时可能影响性能,建议按“最小必要”原则逐步启用并评估负载
auditd 提供细粒度、内核态的行为审计,是发现越权访问与可疑执行的关键手段。
四 关键审计场景与命令示例
- 登录与提权审计(auth.log):
- 实时查看登录与 sudo:sudo tail -f /var/log/auth.log
- 失败登录尝试:sudo grep “Failed password” /var/log/auth.log
- 会话开启/关闭:sudo grep “session opened” /var/log/auth.log、sudo grep “session closed” /var/log/auth.log
- 用户历史与追踪:
- 当前登录:who
- 登录历史:last
- 最后登录时间:lastlog
- 命令历史:检查 ~/.bash_history;如需时间戳,可在 /etc/profile 或用户环境设置 HISTTIMEFORMAT
- 审计日志检索(audit.log):
- 按关键字:sudo ausearch -k passwd_access
- 生成报表:sudo aureport -m
以上命令覆盖认证、会话、提权与关键文件访问的高频审计需求,可快速发现暴力破解、越权访问与异常执行。
五 集中化存储 告警与合规
- 日志轮转与保留:
- 使用 logrotate 管理 /var/log/ 下日志的轮转、压缩与保留周期,防止磁盘被占满
- 集中化与可视化:
- 搭建 ELK Stack(Elasticsearch+Logstash+Kibana) 或 Graylog,统一采集 syslog/journald/auditd 日志,提供检索、可视化与仪表盘
- 报表与告警:
- 轻量报表:Logwatch 生成每日摘要
- 阈值与规则告警:在集中平台设置触发条件,联动邮件/IM/工单
- 访问控制与合规:
- 限制日志访问权限(如 /var/log/auth.log 建议 640 root:adm),避免篡改
- 明确保留期限以满足合规要求(如部分场景需保留不少于两年),并定期审查与演练审计流程
通过集中化、自动化与访问控制,可显著提升审计效率与可追责性,满足常态化合规检查与应急处置需求。