请各位站长注意 .git 目录安全隐患

316 天前
 ahu

简单搜了一下,貌似还没人在 V2 发过相关话题?


刚才正在搬砖,突然收到一个新邮件提醒(全英文的)。下意识以为是垃圾邮件,但并不是。

仔细一看,原始是我管理的某个网站被 Repo Lookout 扫出了 .git 目录安全隐患。具体而言就是,该网站下的这 2 个 URL 路径是可以直接被任何人访问的:

http://网站域名/.git/config

http://网站域名/.git/logs/HEAD

Repo Lookout 就是从这个文件里找到我的邮箱,给我发了一封告警邮件。

虽然这个问题暂时没要命,但的确能够看到不少相对敏感的信息。你也赶紧去检查一下吧!


如何解决?在他们网站都已经介绍了,去看看便知。简言之,就是设置你的 web server 限制 .git 路径访问

Nginx 配置加上

location ~ /\.git {
    deny all;
}

location ~ /\.git {
    return 404;
}

Apache 配置加上

<DirectoryMatch "/\.git">
    Require all denied
</DirectoryMatch>
<DirectoryMatch "/\.git">
    Deny from all
</DirectoryMatch>

Caddy 配置加上

respond /.git* 403

respond /.git* 404

最后记得修改完配置后要重启 web server 哈。

6264 次点击
所在节点    信息安全
29 条回复
kenvix
316 天前
直接禁止.well-known 以外的所有点开头的目录就行了🌚
lyxxxh2
316 天前
@lyxxxh2
php:
网站目录正常都在 public 。
tp3 这种老年代产品才会,网站目录 = 项目根目录。
lichao
316 天前
说明根本没有做 deploy 流程
r4aAi04Uk2gYWU89
316 天前
用个工具叫 githacker ,6 年前我用来 copy 过一个老的 php 站点。刚看了一眼那个工具,1 年前就不维护了。
现在前端基本都流程化了,很少有前后端一体化的项目,直接把文件夹丢上去了。
melkor
315 天前
最好用打包工具走一个“编译”过程,只保留需要的部分,这样不仅少暴露文件,还可以提高性能
baobao1270
315 天前
@crysislinux 也就 10 年前吧,现在很多 php 项目依然是这样部署的。坏了我成古人了。

@rekulas 也不一定是非赢利组织,也有公司这样扫,邮件点进去就是卖他的安全产品

@cdlnls
@ysc3839 .well-known/acme-challenge: ?
ysc3839
315 天前
@baobao1270 .well-known 是在 http 下的,和 https 配置是分开的。
baobao1270
315 天前
@ysc3839
我自己的配置都是没有 HTTP ,只有 HTTPS 的。类似这样:
server {
listen 80 default_server;
listen [::]:80 default_server;

location / {
return 301 https://$host$request_uri;
}
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
}

这个时候只要管 HTTPS 就行了,不需要管两套配置增加心智负担。而且这样也不影响 ACME 验证,主流的 CA ( LE 、Google 、Zerossl )都支持重定向的时候切换到 TLS-01 验证,而且不会管证书错误(只要域名对就行)
kasusa
235 天前
坏了我成古人了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX