温馨提示×

如何有效利用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.logless /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.logsudo 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),避免篡改
    • 明确保留期限以满足合规要求(如部分场景需保留不少于两年),并定期审查与演练审计流程
      通过集中化、自动化与访问控制,可显著提升审计效率与可追责性,满足常态化合规检查与应急处置需求。

0