github上传了隐私数据怎么办

·  阅读 1130
github上传了隐私数据怎么办

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」

前言

  • 心血来潮准备将自己的项目开源出去,上传github后发现被攻击了。原因是因为自己的配置文件也误操作上传到github了。别人就通过配置文件发现你的账号信息了。
  • 针对已经上传了的文件,即使我们改过来了git提交历史里还是有我们的信息的。那么该如何操作呢?

BFG

  • 点我下载
    • 官网的介绍就是repo-cleaner,仓库清洁工。她的功能就是清楚我们的文件的提交历史。让钻漏洞的人无法追踪记录。

image-20220105113119083

使用说明

  • 关于BFG的使用很简单的,我们只需要先将待去除的仓库拉取下来

git clone --mirror git-repo

  • 关于mirror 大家可能了解比较少,她是对仓库的一次完整复制,但是并不是对源文件的100%展现。

移除大文件

java -jar bfg.jar --strip-blobs-bigger-than 100M xxxx.git

移除指定文件

java -jar bfg.jar --delete-files application.yml xxx.git

后续处理

image-20220105113604442

  • 我们能够看出来有个仓库的文件。
cd three-party.git
  • 然后执行如下
git reflog expire --expire=now --all && git gc --prune=now --aggressive
  • 最终git push

image-20220105114246156

案列

删除所有id_rsa ,id_dsa

$ bfg --delete-files id_{dsa,rsa}  my-repo.git

移除所有大于50M文件

$ bfg --strip-blobs-bigger-than 50M  my-repo.git

移除仓库中所有出现密码的地方

$ bfg --replace-text passwords.txt  my-repo.git

从其他版本控制中迁移过来的时候会出现问题,移除git关键词

$ bfg --delete-folders .git --delete-files .git  --no-blob-protection  my-repo.git

总结

  • 一定要注意在提交代码时将关键私密信息删除,如果不小心上传了就得用工具将替换掉,并且提交记录也要覆盖掉。我就是因为之前不小心上传上去后,数据库被别人轻易登陆成功删除我的所有数据。
分类:
后端
分类:
后端
收藏成功!
已添加到「」, 点击更改