1. 目标说明:明确审查目的与边界。
- 确定审查对象:云/独立VPS实例、容器、应用层服务。
- 明确“不限内容”意味着仅对托管与安全合规审计,不对内容审查本身负责。
2. 法律映射:列出适用法律与服务提供商政策。
- 美国相关:CFAA、DMCA(取证保全)、州级数据保护法(如加州CCPA)。
- 供应商SLA与Acceptable Use Policy(AUP)核对,记录例外和沟通记录。
3. 计划要素:定义时间窗口、人员、权限和工具。
- 时间窗口:选择最近90天为常规审计周期。
- 人员:指定负责人、取证员与合规审核员。
- 工具:auditd、AIDE、tripwire、tcpdump、osquery、SIEM。
4. 建立清单:列出IP、主机名、镜像、开放端口与运行服务。
- 命令示例:ssh登陆后运行 hostnamectl; ip a; ss -tulnp。
- 将结果导出到CSV并保存版本化记录(例如在私有Git仓库)。
5. 检查用户与权限:列出本地用户、sudoers、SSH授权密钥。
- 命令:cat /etc/passwd; cat /etc/group; sudo cat /etc/sudoers。
- 检查SSH公钥:ls -la /home/*/.ssh/authorized_keys,删除未知公钥并记录变更。
6. 端口与防火墙:核对开放端口与防火墙规则。
- 命令:ss -tulnp; sudo iptables -L -n -v; sudo ufw status verbose。
- 将不必要端口加入阻断,并记录变更请求与实施时间。
7. 日志策略:确保系统、应用、安全日志集中并配置不可篡改保存。
- 部署:rsyslog/rsyslog over TLS 或 syslog-ng,或直接发送到SIEM(Elasticsearch/Logstash/Kibana)。
- 检查:sudo cat /etc/rsyslog.conf,验证日志轮转(/etc/logrotate.d)。
8. 文件完整性:部署AIDE或tripwire并生成基线快照。
- 命令:sudo apt-get install aide; sudo aideinit; sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db。
- 快照保存到供应商快照或对象存储(只读权限)。
9. 事件流程:定义检测、封锁、取证、恢复流程。
- 取证命令(只读):sudo dd if=/dev/sda bs=4M | gzip -c > /mnt/forensics/disk.img.gz。
- 记录链:所有操作需写入链路日志并签名(例如使用GPG)。
10. 容器检查:列出Docker容器、镜像及启动参数。
- 命令:docker ps -a; docker images --digests; docker inspect <container>。
- 检查挂载卷、网络模式、能力(capabilities)与环境变量中的敏感信息。
11. 扫描实践:使用Nessus/OpenVAS/nessus-cli扫描公网与内网端口并生成报告。
- 修复流程:优先级分类(Critical/High/Medium/Low),记录补丁时间与回归测试结果。
- 自动化:使用cron或配置管理(Ansible/Puppet)进行补丁合规性检查。
12. 常用查询:提供SIEM常用规则与查询语句示例。
- 登录异常:failed/successful ssh 登录聚合;示例:Elastic/KQL — event.action:"ssh" and user.name:* and event.outcome:"failure"。
- 大流量上传:监测单IP上行超阈值的tcpdump或网络流量指标。
13. 变更流程:所有变更通过工单/PR并记录审核与回滚步骤。
- 证据保留:日志、快照、配置文件、沟通记录至少保存90天或根据合同要求更长时间。
14. 报告要点:指出发现、风险评级、复现步骤、修复建议与责任人。
- 包含时间戳、影响范围、修复完成时间与验证方法。
- 推荐输出格式:PDF+附带CSV/JSON机器可读清单。
15. 长期措施:建议部署IDS/IPS(Suricata)、端点检测(OSQuery、Wazuh)与定期渗透测试。
- KPI:平均修复时间(MTTR)、未修复高危漏洞率、日志丢失率。
16. 合作建议:保留通信记录并获取供应商支持票据ID。
- 如果涉及法律请求(如传票),与法务配合并保存Warrant/Legal request副本。
17. 步骤示例:登录→资产列表→用户审查→端口检查→日志完整性→漏洞扫描→生成报告。
- 每一步都要保存输出(stdout)和时间戳并签名。
18. 场景示例:异常持久化后门、滥用带宽、未授权用户。
- 处置模板:隔离实例→拍摄快照→保存内存镜像→执行静态分析→恢复或重建。
19. 建议工具:auditd, AIDE, osquery, tcpdump, Suricata, Nessus/OpenVAS, ELK/Wazuh。
- 常用命令汇总已在上文给出,保存为审计脚本并受控运行。
20. 结论要点:确保日志不可篡改、变更可追溯、快速响应、与供应商法律路径清晰。
- 建议季度审计与年度第三方审计。
21. 答:保存完整证据链:工单/变更记录、系统与应用日志(带时间戳)、快照与文件完整性基线、审计报告以及审计人员签名与时间。将关键证据上传到不可变存储(例如对象存储开启版本与写入一次读多次设置),并保留供应商通信记录作为佐证。
22. 答:立即隔离实例并拍摄磁盘与内存镜像(只读操作),记录每一步并通知法务。不要自行删除或修改证据。根据供应商政策和法律顾问指示处理,必要时配合执法机构提供法院命令或传票。
23. 答:采用最小权限与数据隔离原则:只收集审计与安全必需的元数据,敏感内容采用加密或脱敏,在报告中使用摘要而非原始内容。所有访问审计数据的操作需有审批与日志记录。
