前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker 容器 .git 泄露问题

docker 容器 .git 泄露问题

作者头像
haoming1100
发布2020-04-17 15:36:51
8480
发布2020-04-17 15:36:51
举报
文章被收录于专栏:步履前行步履前行

最近公司的安全部门在扫描系统漏洞的时候发现了我们系统的一个漏洞,通过 GitHack 进行扫描,然后download 了前端的静态文件,第一次了解这个 GitHack,有点好奇,专门找了 github 库看了一下,其实使用起来蛮简单的,官方 readme 已经详细给出了操作步骤,这里不在叙述 https://github.com/BugScanTeam/GitHack

上图是公司安全部门给出的漏洞截图

在发现上述漏洞后,立马着手排查问题,由于我们的域名是 通过公网 -> F5 -> Ng -> 服务器的。其中 公网到 F5 的VIP 是不放文件的,那么这个.git 文件只能在 Ng 和 服务器中,所以第一步就是排查 ng 机器上是否有遗漏的.git 文件。在机器上 find了一把(ng 机器 文件少),查找后没有,那么确定是在服务器上了。

由于我们的服务器是 docker 启动的,ng 直接打到 容器内部,所以定位很简单,直接进入到 容器内部去排查,发现确实有一个 .git 文件。确定好了目标,就想办法处理。

我们的发版机制是通过 Jenkins build 镜像到 target 机器上,所以问题出错 也只能在 build 环节。

在 dockerfile 文件中有如下操作:

代码语言:javascript
复制
    COPY . /usr/share/nginx/html/

这里会把 build 目录下的文件全部 copy 到 nginx 代理的目录下,所以 我们只要在这里把 .git 不要 copy 到 /usr/share/nginx/html/ 就可以了 当然这里的 dockerfile 文件可以指定文件一个一个 copy,不过太麻烦了。所以我们使用 docker的 ignore 文件来处理。 在 根目录下,新建 .dockerignore 文件。

写入以下内容:

代码语言:javascript
复制
.git

重新 发版,就ok 了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档