mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-10 22:33:48 +02:00
141 lines
2.8 KiB
Markdown
141 lines
2.8 KiB
Markdown
# 安全加固指南
|
||
|
||
[English](../en-US/security-hardening.md)
|
||
|
||
本文给出 CyberStrikeAI 上线前和持续运行中的安全加固清单。
|
||
|
||
## 上线前必做
|
||
|
||
- 修改 `auth.password` 为长随机密码。
|
||
- 使用 HTTPS,或放在可信反向代理之后。
|
||
- 限制来源 IP、VPN 或堡垒机访问。
|
||
- 开启 `audit.enabled`。
|
||
- 不需要 C2 时设置 `c2.enabled: false`。
|
||
- 不暴露独立 HTTP MCP,除非设置强认证和网络隔离。
|
||
- 外部 MCP 只接可信服务。
|
||
- 备份 `config.yaml`、`data/`、自定义资源目录。
|
||
|
||
## 反向代理建议
|
||
|
||
Nginx 基线:
|
||
|
||
```nginx
|
||
client_max_body_size 200m;
|
||
proxy_buffering off;
|
||
proxy_http_version 1.1;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
proxy_set_header X-Forwarded-Proto https;
|
||
proxy_set_header Upgrade $http_upgrade;
|
||
proxy_set_header Connection "upgrade";
|
||
```
|
||
|
||
建议额外加:
|
||
|
||
```nginx
|
||
add_header X-Content-Type-Options nosniff;
|
||
add_header Referrer-Policy no-referrer;
|
||
add_header X-Frame-Options DENY;
|
||
```
|
||
|
||
## HITL 白名单基线
|
||
|
||
推荐最小白名单:
|
||
|
||
```yaml
|
||
hitl:
|
||
tool_whitelist:
|
||
- read_file
|
||
- glob
|
||
- grep
|
||
- tool_search
|
||
```
|
||
|
||
不要默认加入:
|
||
|
||
- `execute`
|
||
- WebShell 写入/执行工具
|
||
- C2 任务和 payload 工具
|
||
- 外部 MCP 高风险工具
|
||
- 删除、写入、上传、持久化相关工具
|
||
|
||
## 文件权限
|
||
|
||
建议:
|
||
|
||
```bash
|
||
chmod 600 config.yaml
|
||
chmod 700 data
|
||
```
|
||
|
||
生产环境使用独立系统用户运行:
|
||
|
||
```text
|
||
cyberstrike-ai:cyberstrike-ai
|
||
```
|
||
|
||
避免 root 运行,除非明确需要绑定低端口或访问特殊资源。
|
||
|
||
## 外部 MCP 审查
|
||
|
||
接入前确认:
|
||
|
||
- 工具是否能执行命令。
|
||
- 是否能读写本机文件。
|
||
- 是否会把数据发往第三方。
|
||
- 是否有自己的认证。
|
||
- 是否会返回不可信网页或模型内容。
|
||
- 是否需要容器隔离。
|
||
|
||
接入后:
|
||
|
||
- 高风险工具不进白名单。
|
||
- 定期检查工具列表变化。
|
||
- 审计配置变更。
|
||
|
||
## C2 和 WebShell
|
||
|
||
C2:
|
||
|
||
- 默认关闭。
|
||
- 演练窗口临时开启。
|
||
- Listener 端口与管理端口分离。
|
||
- 结束后清理 payload、session、task、event。
|
||
|
||
WebShell:
|
||
|
||
- 只保存授权目标。
|
||
- 使用清晰命名。
|
||
- 写入/删除/执行必须审批。
|
||
- 项目结束删除连接。
|
||
|
||
## 数据保留
|
||
|
||
建议:
|
||
|
||
- 审计:30-90 天。
|
||
- 工具监控:90-180 天。
|
||
- 上传附件:项目结束清理。
|
||
- C2/WebShell 输出:只保留报告需要的证据。
|
||
- 知识库:不放真实凭证和客户私密数据。
|
||
|
||
## 周期巡检
|
||
|
||
每周:
|
||
|
||
- 登录失败和异常 IP。
|
||
- 配置变更。
|
||
- 外部 MCP 增删改。
|
||
- 长时间运行工具。
|
||
- C2 是否被意外开启。
|
||
- WebShell 连接是否过期。
|
||
- 磁盘空间和数据库大小。
|
||
|
||
每个项目结束:
|
||
|
||
- 清理临时 workspace。
|
||
- 删除无用附件。
|
||
- 归档必要证据。
|
||
- 删除过期 WebShell/C2 资源。
|
||
- 导出审计记录。
|