Skip to content

Security: ococl/yigate

SECURITY.md

安全策略

支持版本

版本 支持状态
main / 最新 v0.x 支持安全修复
更早的 v0.x 不再支持,请升级到最新版本

安全修复会先在 main 落地,并随下一个补丁版本发布;严重问题会单独发布热修版本。

报告漏洞

请勿在公开 Issue、讨论区或 PR 中披露未修复的漏洞。

优先通过代码托管平台的「私人安全通告 / Report a vulnerability」提交;若不可用, 请通过项目维护者的私有渠道联系,并包含:

  • 受影响的版本与部署形态(裸二进制 / Docker / systemd);
  • 复现步骤与最小配置(请勿附带真实令牌、口令或上游凭据);
  • 影响范围与已验证的缓解措施。

我们会在 3 个工作日内确认收到,10 个工作日内给出初步评估与修复计划; 修复发布后再与报告者协商公开披露时间。

部署安全基线

YiGate 是内网代理网关,默认假设运行环境可信。请务必遵守:

  1. 管理端口默认只绑定 127.0.0.1:8890;确需局域网访问时,必须同时设置 management_auth_token 并限制来源网络。
  2. 代理端口监听 0.0.0.0 时必须配置非空 users;TPROXY 因协议限制无法认证, 不要与 users 同时配置,也只在受控网络内启用。
  3. 保持 destination_policy.protect_private: true;如需自定义白名单, 记住 default_action: deny 下 allow_ports 只是附加约束。 运行时管理 API 不能关闭私网防护,只有配置文件中显式 allow_private_targets: true 才允许。 高安全场景可开启 destination_policy.resolve_before_upstream: true, 让网关在把域名交给上游解析前先校验解析结果。
  4. 凭据通过 ${ENV_VAR} 注入,环境变量文件权限 0600 且不纳入版本控制; 运行目录下不要保留 *.bak*、流量明细等明文副本。服务端会拒绝占位符与常见弱口令, 管理 API 添加用户时执行同样的强度校验。
  5. 非回环监听默认必须有 users 或 allowed_clients;确需匿名代理时显式声明 allow_anonymous_proxy: true。开启 enable_pprof 时必须配置 management_auth_token, 即使管理端口只绑回环。
  6. 定期执行 npm audit、govulncheck 与 scripts/check-release-configs.sh。

范围说明

本项目定位为合规的企业内网代理网关,不提供混淆、伪装或规避类协议。 与上游组件、操作系统、容器运行时或第三方依赖自身相关的漏洞,请向对应项目报告; 我们会协助评估对本网关的影响。

There aren't any published security advisories