配置项参考
.env 里每一个配置项:必填的、登录与账号、QRadar 连接与 AQL 预算、模型与推理、Offense 同步、定时报告、平台体检阈值、审计与保留。界面上改过的以界面为准。
所有配置都在安装目录的 .env 里,docker compose 启动时读入。改了 .env 要 docker compose -f docker-compose.prod.yml up -d 重建网关容器才生效。
系统设置和 AI 配置页面上能改的项(QRadar 连接、日志源白名单、脱敏、审计转发、Offense 同步、provider)存在网关的状态卷里,优先级高于 .env。.env 里这些项只是第一次启动的种子。
| 变量 | 说明 |
|---|
QRADAR_URL | 你的 QRadar Console,https://qradar.corp.local,不带路径 |
QRADAR_SEC_TOKEN | 授权服务 SEC Token,权限见 QRadar Token 权限 |
LLM_API_KEY / LLM_BASE_URL / LLM_MODEL | 第一个大模型 provider |
CADDY_SITE_ADDRESS | 分析师访问的域名,多个用空格分隔 |
RST_GATEWAY_SHARED_SECRET | Caddy → 网关之间的共享密钥,deploy.sh 自动生成 |
RST_ADMIN_TOKEN | 运维 API 令牌(X-RST-Admin-Token 头),自动生成 |
RST_ADMIN_PASSWORD_HASH | 首管理员口令哈希,自动生成。不设时网关拒绝所有非本机登录 |
GATEWAY_IMAGE_TAG | 运行的镜像 tag,deploy.sh 写入;升级时由 rst-update.sh 改 |
| 变量 | 默认 | 说明 |
|---|
RST_ADMIN_USERNAME | admin | 首管理员账号名 |
RST_SESSION_TTL_HOURS | 12 | 登录会话有效期 |
RST_USER_DB_URL | compose 已设 | 多用户账号表的 Postgres;空 = 单账号 |
RST_USER_DB_PASSWORD | 自动生成 | 自带 userdb 容器的密码 |
RST_ALLOW_DEFAULT_PASSWORD | 空 | 设 1 允许局域网用出厂口令登录(只用于隔离的试验环境) |
RST_CORS_ORIGINS | 空 | 跨域来源;网关自己服务前端,正常安装不需要 |
| 变量 | 默认 | 说明 |
|---|
QRADAR_API_VERSION | 20.0 | 请求头 Version:。7.5 用 20.0;7.4 改 16.0 |
RST_QRADAR_VERIFY_CERTS | false | 校验 Console 证书。Console 多为自签,默认不校验;换了受信证书设 true |
RST_QRADAR_CA_CERT | 空 | 私有 CA 路径(容器内),如 /certs/qradar-ca.pem;CA 文件放安装目录 ./certs/。设了即自动开校验 |
RST_AQL_TIMEOUT_SECONDS | 120 | 单条 AQL 的执行预算:创建搜索后轮询到这个时长就取消,报 qradar_timeout |
RST_AQL_MAX_ROWS | 1000 | 行数硬上限;生成的 AQL 没写 LIMIT 或写得更大都会被压到这个值 |
RST_AQL_DEFAULT_WINDOW_MINUTES | 60 | 问题里没说时间时补的默认窗口 |
RST_LOG_SOURCE_WHITELIST | 空 | 强烈建议设:逗号分隔的日志源名或 id,支持 *,如 WinCollect @ *,PaloAlto-*,63。限定模型可提及的日志源目录;每次 Ariel 搜索前也按它拦截,没限定日志源的语句自动追加 LOGSOURCENAME(logsourceid) IN (...) |
RST_LOG_SOURCE_CACHE_S | 300 | 日志源目录缓存 |
RST_ARIEL_SCHEMA_CACHE_S | 900 | Ariel 列定义缓存 |
RST_CONVERSATION_TTL_DAYS | 7 | 多轮会话不活动多久过期 |
RST_DSL_CACHE_TTL_S | 300 | 相同问题的 NL→AQL 结果缓存;0 = 关 |
| 变量 | 默认 | 说明 |
|---|
LLM_TIMEOUT_S | 180 | 单次模型调用超时;调查 / 研判 / 规则生成常超时就调大 |
LLM_REASONING | auto | 这个 provider 的推理强度:auto / off / low / high,见 AI 配置 |
RST_NL2AQL_REASONING | low | 智能查询 NL→AQL 这一步的推理强度:none / low / high / native |
RST_LLM_FIRST_TOKEN_TIMEOUT_S | 45 | 生成查询时首字硬上限;0 = 不限 |
RST_AGENTIC_INVESTIGATE | 1 | Offense 调查用 aql_search 工具自主多轮取证;模型不支持 function-calling 时自动退回单步 |
RST_AGENTIC_DEADLINE_S | 180 | 一次调查的总预算(秒);0 = 不限 |
RST_TRIAGE_LLM_CHUNK / RST_TRIAGE_LLM_CONCURRENCY | 4 / 3 | 批量研判每次送模型的簇数和并发 |
RST_MASKING_MODE | 按许可 | 强制脱敏档位 cloud / private / airgapped |
RST_TIMEZONE | UTC | 模型理解「今天 / 昨天」的时区,国内部署必设 +08:00 |
RST_TRIAL_DAILY_LIMIT | 200 | 未激活时每日 LLM 调用额度 |
RST_RATELIMIT_GENERATE / _EXECUTE | 30 / 30 | 每 IP 每分钟限速;大团队共用一个出口 IP 时调大 |
| 变量 | 默认 | 说明 |
|---|
RST_OFFENSE_INGEST_ENABLED | 1 | 配好 QRadar 后轮询 /api/siem/offenses;0 = 关,Offenses 页只能手动同步 |
RST_OFFENSE_INGEST_INTERVAL_SECONDS | 30 | 轮询间隔 |
RST_OFFENSE_INGEST_LOOKBACK | 7d | 首次同步回看多久(6h / 30d)。Offense 生命周期以天计,太短会漏掉未关闭的积压 |
RST_OFFENSE_MIN_MAGNITUDE | 0 | 低于此 magnitude(0–10)的 Offense 不入库不推送 |
RST_OFFENSE_INGEST_CONCURRENCY | 4 | 摘要并发(每条 Offense 一次模型调用) |
RST_ALERT_SUMMARY | 1 | 0 = 入库不写 AI 摘要 |
RST_ALERT_SUMMARY_MIN_SEVERITY | info | 只给高于这档的 Offense 写摘要 |
每个 tick 最多拉 10 页 × 100 条;超出的下个周期接着补,网关日志出现 offense_ingest_page_cap_reached 说明积压大于一次能拉的量,正常。
| 变量 | 默认 | 说明 |
|---|
RST_REPORT_SCHEDULE | 空 | daily,weekly,monthly;空 = 不自动生成 |
RST_REPORT_TZ | 跟 RST_TIMEZONE | 报告周期边界的时区 |
RST_REPORT_WEBHOOK_URL / _HEADERS | 空 | 每份报告 POST 到这里 |
RST_REPORT_PERSIST | 1 | 归档到 copilot.db |
RST_REPORT_CHECK_INTERVAL_SECONDS | 1800 | 调度器检查周期 |
RST_REPORT_CATCHUP_MAX | 7 | 停机期间最多补跑几个周期 |
RST_REPORT_TRIAGE | 0 | 1 = 报告末尾附一段自动研判(一次模型调用;付费引擎) |
| 变量 | 默认 | 说明 |
|---|
RST_PLATFORM_EPS_WARN_PCT / _FAIL_PCT | 85 / 100 | EPS 用量占许可的百分比 |
RST_PLATFORM_STALE_WARN_H / _FAIL_H | 6 / 24 | 日志源多久没事件算迟滞 |
RST_PLATFORM_OFFENSE_WARN / _FAIL | 200 / 800 | OPEN Offense 积压条数 |
| 变量 | 默认 | 说明 |
|---|
RST_AUDIT_ENABLED | true | 审计写入 copilot.db 的 audit 表 |
RST_AUDIT_RETENTION_DAYS | 180 | 审计保留天数 |
RST_AUDIT_SYSLOG_URL | 空 | 审计转发到 syslog,udp:// / tcp:// / tls://host:port;可以指到 QRadar 自己 |
RST_AUDIT_WEBHOOK_URL / _HEADERS | 空 | 审计转发 webhook |
RST_AUDIT_WEBHOOK_ALLOWLIST | 空 | 允许的 webhook 目标主机;空 = 只拒绝回环 / 链路本地地址 |
RST_ANALYSIS_TTL_DAYS | 30 | 分析记录保留天数 |
RST_METRICS_TOKEN | 空 | /metrics 抓取令牌 |
| 变量 | 默认 | 说明 |
|---|
RST_GATEWAY_CPUS / RST_GATEWAY_MEM | 2 / 2g | 网关容器上限 |
RST_STATE_DB | /app/state/copilot.db | SQLite 状态库路径(容器内) |
SSO 相关变量见 企业 SSO。