1.1 明确审计范围:列出 scum 日本服务器清单(主机名、IP、用途)。
1.2 权限与法律合规:获取书面授权、签署NDA并记录时间窗。
1.3 工具与环境准备:准备root访问、外部审计主机、够用磁盘(>=目标盘的镜像大小)、常用工具:ssh, rsync, dd, sha256sum, grep, awk, ausearch, aureport, journalctl, lastlog, chage, pam-config 文件查看器。
2.1 读取内核、发行版与时间:uname -a; cat /etc/os-release; timedatectl。
2.2 列出用户与组:getent passwd | awk -F: '{print $1,$3,$6}'; getent group。
2.3 检查认证守护进程:sshd 配置 cat /etc/ssh/sshd_config(PermitRootLogin、PasswordAuthentication、AuthorizedKeysFile)。
3.1 查看影子文件及权限:ls -l /etc/shadow; sudo awk -F: '{print $1,$2}' /etc/shadow(只管理员查看)。
3.2 密码策略:cat /etc/login.defs; cat /etc/security/pwquality.conf; grep pam_pwquality /etc/pam.d/*; chage -l username 查看密码过期信息。
4.1 查看是否启用 auditd:systemctl status auditd; auditctl -s; auditctl -l。
4.2 rsyslog/ journald:cat /etc/rsyslog.conf; journalctl --list-boots。确保远程日志汇聚到SIEM或集中日志服务器,检查 /etc/rsyslog.d/ 或 /etc/systemd/journald.conf。
5.1 只读复制:在审计机上用 scp 或 rsync 从目标拉取 /var/log(rsync -avz --numeric-ids root@host:/var/log /mnt/audit/logs)。
5.2 创建磁盘镜像:使用 dd 只读镜像 dd if=/dev/sdX of=/mnt/audit/images/host-sdX.img bs=4M conv=sync,noerror;然后 sha256sum 生成校验值用于链路完整性记录。
6.1 SSH 登录相关:grep "Accepted" /var/log/auth.log 或 /var/log/secure;journalctl -u sshd。
6.2 失败的登录尝试:grep "Failed password" /var/log/auth.log;lastb -f /var/log/btmp;aureport --failed 或 ausearch -m USER_AUTH 篇。
7.1 用户 .ssh 检查:for u in $(cut -d: -f1 /etc/passwd); do ls -l /home/$u/.ssh/authorized_keys 2>/dev/null; done。确认权限 700/.ssh 600/authorized_keys。
7.2 全局 key:查看 /etc/ssh/sshd_config 中的 AuthorizedKeysFile 配置,检查是否存在异常公钥并比对负责人清单。
8.1 密码最后修改时间:使用 chage -l username 或用 awk 解析 /etc/shadow 的 lastchg 字段并转时间戳。
8.2 sudo 与 su 使用:grep "sudo:" /var/log/auth.log;查看 /var/log/sudo-io/ 或配置的 sudo 日志。检测是否存在非工作时间的敏感权限提升。
9.1 基于时间窗口统计:使用 awk 分组统计每小时登录数:awk '/Accepted/ {print $1" "$2" "$3}' /var/log/auth.log | cut -c1-13 | sort | uniq -c。
9.2 可疑行为规则:多次失败后成功登录、来自异常地理 IP、使用临时账户或未记录的密钥。输出可导入 SIEM 进行 IOC 关联。
10.1 证据封存:对关键文件与镜像计算 sha256sum,记录时间戳并在封存清单中列出每一项(文件名、大小、校验值、操作人)。
10.2 报告结构:背景、范围、方法、发现、风险评级、证据清单、建议与整改期限。提供可执行的整改步骤与优先级。
11.1 立即整改:禁用弱口令、强制 SSH 密钥登录、收回不再使用的公钥、锁定或删除异常账号(按变更控制流程)。
11.2 长期合规:启用 auditd 审计规则(例如 auditctl -w /etc/shadow -p wa -k shadow_change)、集中化日志、定期密码轮换与多因素认证、AIDE 文件完整性监控。
Q: 我可以仅看 /var/log/auth.log 就能完成合规审计吗?
A: 不可以。合规审计需要多个证据源:/var/log/auth.log(或 /var/log/secure)、auditd 日志、/etc/shadow、SSH authorized_keys、sudo 日志、用户 shell 历史、以及是否有远程日志汇聚和时间同步。单一日志易有遗漏,且缺乏完整性证明。
Q: 如何证明密码相关记录在审计期间未被篡改?
A: 使用只读镜像(dd)并对镜像与关键文件计算 SHA256/MD5 校验值,记录时间戳与操作人,保存在安全的证据库。若可能,将日志同时发送到不可变的远程SIEM或使用WORM存储以确保不可篡改。
Q: 审计发现大量异常登录,下一步优先做什么?
A: 首先按变更控制临时隔离受影响主机或阻断可疑 IP(在不破坏证据的前提下)。随后收集更多证据(内存镜像、open sockets、进程列表)、恢复安全凭证(重置密码、替换密钥、强制 MFA),并在整改后进行根本原因分析与补丁更新。