CI/CD、部署脚本与基础设施 env 文件防泄露模板
面向 /.github/.env、/.gitlab/.env、/ansible/.env、/kubernetes/.env、/helm/.env、/lambda/.env 等探测的防御清单:webroot 边界、部署 token 最小权限、Secret 文件迁移和安全验证。
独立防御清单:不隶属于 GitHub/GitLab/Next.js/Vue/Kubernetes 等厂商,不提供扫描自动化、漏洞利用或凭据获取步骤。
日志意图
/.github/.env、/.gitlab/.env、/ansible/.env、/kubernetes/.env、/helm/.env、/lambda/.env
这些路径经常来自自动化探测。正确处理方式是确认没有敏感文件公开、返回安全响应,并把清理流程模板化。
适合谁
- 1GB VPS / OpenResty / Nginx 静态站运营者
- AI API 网关、自动交付店铺、开发者工具站
- 需要把安全检查变成 SOP 的个人开发者
防御清单
- 不要把 CI/CD、Ansible、Kubernetes、Helm、Lambda 的 secret 文件放进 Nginx/OpenResty 可访问目录。
- 部署 token 使用最小权限与短周期轮换;把生产 secret 与预览环境、测试环境分离。
- 对 /.github/、/.gitlab/、/ansible/、/kubernetes/、/helm/、/lambda/ 等路径返回统一安全响应。
- 把事故复盘写成不含密钥的清单:发现时间、访问路径、已轮换凭据、已加固规则、后续验证。
可直接复用的 Nginx/OpenResty 思路
# defensive-only example: deny common secret and backup files
location ~* (^|/)\.(env|git|svn|hg) { return 404; }
location ~* \.(bak|backup|old|save|swp|tmp|ini|conf)$ { return 404; }
# keep real secrets outside webroot; verify with harmless HEAD/GET onlyFAQ
CI/CD secret 应该保存在哪里?
优先使用平台 Secret、服务器只读环境文件或密钥管理服务,不放在公开 webroot 或静态资源目录。
Kubernetes/Helm 配置能放静态站吗?
不应该放含 secret 的配置;公开文档只放脱敏示例。
这个模板适合小 VPS 吗?
适合,重点是轻量拒绝规则、目录隔离、轮换清单和低维护日志复盘。