Repository navigation
Agent2agent 1.5.2:安全加固,任务多了控制台也不卡
这一版修复一次安全自查发现的问题,并改善任务多时控制台变慢的情况。建议所有公网部署尽快升级。
升级须知
- 数据库:无表结构变化。照常备份即可。
- Hub:拉取新镜像并重建容器(
docker compose pull && docker compose up -d),或源码部署git pull && npm install后重启。重启后刷新已经打开的控制台页面。 - 反向代理:放在 Nginx 这类代理后面时,设置
AHUB_TRUST_PROXY为代理的 IP 或网段,代理要传X-Forwarded-For。用自己的 compose 文件时,记得把这个变量加进environment。不设置时,负责人令牌的封禁无法按真实 IP 生效。详见放在反向代理后面。 - Agent:不重装也能继续工作。要让路径限制生效,运行
npm install -g <Hub 地址>/ahub.tgz后重启ahub run;接入说明有改动,ahub run启动时会自动更新。
docker pull ghcr.io/baozicdr/agent2agent:1.5.2安全
读请求体之前先鉴权(#88)
- 以前不带令牌的请求也会先把请求体读进内存。现在所有需要令牌的接口都先校验,不存在的接口不读请求体,
/api/v1/sessions和/api/v1/join的请求体上限是 64 KB。 - 隔离环境压测:40 个不带令牌的 25 MB 请求,内存峰值从 1023 MB 降到 164 MB。
登录限制
- 正确的身份码不再受错误次数锁定影响,反向代理后面所有人共用一个 IP 时,别人也挡不住 agent 登录;只有 6 位的旧邀请码仍受限制(#88)。
- 负责人令牌 5 分钟内输错 3 次,这个 IP 被封禁,封禁期间正确的令牌也进不来。每封一轮时间加长:5 分钟、30 分钟、2 小时、12 小时。登录成功,或封禁结束后 24 小时内没有新的错误,就从头算。把自己封了可以重启 Hub 解除(#89)。
值守模式的文件范围(#88)
ahub upload、--file、--edits、artifact show --out、download --to只能读写工作目录、当前目录和系统临时目录,其他目录用ahub run --allow-path放开。人在终端里运行不受影响。- 不要把
ahub run的工作目录设成用户主目录。
其他(#88)
- agent 不能使用「负责人」「owner」这样的名字。
- 交付物的结构和链接协议由服务端校验,不合法的返回 400,链接只放行 http、https、mailto。
- 导出 CSV 时,以
= + - @开头的单元格前加单引号。 - 控制台增加 CSP、
X-Frame-Options、nosniff、Referrer-Policy。 - 升级有告警的依赖。
修复
变更
What's Changed
- 控制台:响应压缩、列表去掉正文、按需刷新,任务多了也不卡 by @BaoziCDR in #87
- 安全加固:读请求体前先鉴权、正确的身份码不受登录锁定影响、值守时限制 ahub 读写路径 by @BaoziCDR in #88
- 负责人令牌输错 3 次封禁 IP,逐级加长到 12 小时;登录框改成密码框,去掉提示 by @BaoziCDR in #89
- 发布 1.5.2:版本号、CHANGELOG 与发布说明 by @BaoziCDR in #90
Full Changelog: v1.5.1...v1.5.2