温馨提示×

Ubuntu怎样进行安全审计

小樊
31
2025-12-20 06:26:12
栏目: 智能运维

Ubuntu安全审计实操指南

一 核心框架与日志源

  • 使用内核级审计框架 auditd 记录系统调用、文件访问、用户身份变更等关键事件,日志默认写入 /var/log/audit/audit.log,可用 ausearchaureport 检索与汇总。
  • 使用 Syslog/rsyslog/syslog-ng 统一收集系统与应用日志,便于集中化存储、转发与告警。
  • Ubuntu 身份验证与特权操作日志集中在 /var/log/auth.log,系统级事件在 /var/log/syslog;失败登录汇总可查 /var/log/faillog
  • 启用 AppArmor(Ubuntu 默认)记录进程的能力拒绝与策略违规,日志同样进入 syslog,可用其工具进行分析与调优。

二 安装与启用 auditd 审计

  • 安装与启动
    • 安装组件:sudo apt update && sudo apt install auditd audispd-plugins
    • 启动并设为开机自启:sudo systemctl start auditd && sudo systemctl enable auditd
  • 基本配置
    • 主配置:/etc/audit/auditd.conf(如日志文件、大小、保留策略等)
    • 规则配置:/etc/audit/rules.d/audit.rules(建议将规则写入该目录,由系统加载)
  • 常用审计规则示例(按需精简与合并)
    • 记录所有命令执行(覆盖 32/64 位与 execve/execveat):
      • -a always,exit -F arch=b64 -S execve -k command
      • -a always,exit -F arch=b32 -S execve -k command
      • -a always,exit -F arch=b64 -S execveat -k command
      • -a always,exit -F arch=b32 -S execveat -k command
    • 记录特权命令(sudo 执行的命令通常经 sudo 审计,若需直接捕获可补充相关规则)
    • 记录关键文件访问(示例:/etc/passwd):
      • -w /etc/passwd -p wa -k identity
  • 使配置生效
    • 动态加载:sudo auditctl -R /etc/audit/rules.d/audit.rules
    • 重启服务:sudo systemctl restart auditd(注意 auditd 对规则变更较敏感,变更前建议备份与评估)

三 日志分析与报告

  • 审计日志检索
    • 按关键字:sudo ausearch -k command(查看命令执行审计)
    • 按文件:sudo ausearch -f /etc/passwd
    • 按时间:sudo ausearch -ts today -te now
    • 按系统调用:sudo ausearch -sc open
  • 报表与汇总
    • 全量事件:sudo aureport
    • 文件相关:sudo aureport -f;系统调用:sudo aureport -c;登录/认证:sudo aureport -l --auth
  • Syslog 与集中化
    • 配置 rsyslog/syslog-ng 将日志转发至远程日志服务器(示例:*.* @192.0.2.10:514
    • 使用 logwatch 生成日报/周报,便于例行巡检与异常发现

四 入侵自检与取证要点

  • 身份与登录
    • 失败登录:grep “Failed password” /var/log/auth.log;成功登录:grep “Accepted” /var/log/auth.log
    • 失败统计:faillog;按用户查看最近登录:lastlog -u ;历史会话:last
  • 持久化与异常
    • 自启动:systemctl list-unit-files --type=service;检查 /etc/rc.local、/etc/init.d、/lib/systemd/system
    • 计划任务:/etc/crontab、/etc/cron.、/var/spool/cron/crontabs/、systemctl list-timers
    • Shell 初始化与配置:~/.bashrc、~/.profile、/etc/profile、/etc/bash.bashrc
  • 审计与系统日志
    • 命令执行与敏感文件访问:ausearch -k commandausearch -f /etc/shadow
    • 系统异常:tail -n 200 /var/log/syslog | egrep -i “error|fail|segfault|killed”
  • 合规提示
    • 在部分行业/场景,auditd 并非默认安装,上线前建议纳入基线并开启必要规则以满足等保与审计要求。

五 加固与持续化

  • 日志保护
    • 限制 /var/log//var/log/audit/ 的访问权限,仅允许 rootadm 组读取;配置 logrotate 按日/按大小轮转并压缩归档;对敏感日志启用远程集中存储与完整性校验。
  • 完整性校验
    • 对关键系统文件与审计规则做 AIDE 基线校验(定期 diff 与告警),对 Web 目录可用 Tripwire
  • 入侵检测与漏洞扫描
    • 主机侧入侵检测:Lynis(系统安全审计)、chkrootkit(rootkit 检测)、ClamAV(恶意软件扫描)。
    • 漏洞评估:OpenVAS(全面漏洞扫描)、Nessus(专业漏洞扫描,提供多版本订阅)。
  • 合规与策略
    • 启用 AppArmor 并针对关键服务(如 nginx、sshd、docker)建立最小化策略;定期审计 sudoers/etc/sudoers.d/ 的授权范围。

0