使用Git的資安問題【6/366】

用Git也會有資安問題??
我也是某天收到了封信件才知道這件事情

百度雲觀測寄了一封信來
內容如下:

概述 名称 等级 来源
敏感信息泄露 git文件敏感信息泄露 安全漏洞

 

看到就想到,原來這也是一個重要的資訊安全問題
主機底下的資料夾,其實不能隨意開放
不需要的資料夾就不能給予外部存取
PS:但是百度也太晚通知我,我猜它們也是最近才加入這部分的檢查

重點就是.git/這個資料夾
當你用git管理版本,在目錄底下 git init 以後
.git/ 裡面就是整個版本控制的全部內容
所以應該要隱藏起來
至於怎麼隱藏的方法其實很多

  1. 修改.htaccess檔案
  2. 修改http主機的路由設定

這兩個方法都可以讓外部無法存取.git/這個資料夾

因為我自己用Apache所以也只能用這兩種
PS:希望未來有機會補上IIS跟nginx的做法

修改.htaccess檔案

加入一行

RedirectMatch 404 /\.git

資料參考:.htaccess – Make .git directory web inaccessible – Stack Overflow

修改http主機的路由設定

因為使用Apache – Virtual Host 進行分配網域
所以在設定apache的 *.conf 裡面加入一段

<Directorymatch "^/.*/\.git/">
Order deny,allow
Deny from all
</Directorymatch>

然後記得要 service apache2 reload

資料參考:How do I prevent apache from serving the .git directory? – Server Fault

其他連結參考:
Deny access to .svn folders on Apache – Stack Overflow

也歡迎大家補充其他http主機的做法