文件系统根目录暴露¶
Gixy 检查 ID:filesystem_root_exposure
NGINX 的 root
和 alias
指令会把请求路径转换为文件系统路径。将任一指令设为 /,会把操作系统根目录
作为映射基础:
location / {
root /;
}
location /files/ {
alias /;
}
根据周围的 location 和访问控制,请求可能访问原本不应公开的敏感系统文件。
Gixy 还会检测最终解析为 / 的常量路径,例如 /srv/.. 和 /./。包含变量的路径
不会报告,因为无法通过静态分析确定其运行时值。
如何修复?¶
请改用专用且范围明确的文档目录:
location / {
root /var/www/example;
}
location /files/ {
alias /srv/downloads/;
}
确认所选目录只包含允许公开访问的文件,并为私有位置保留明确的访问控制。
在问题进入生产环境之前发现它
GetPageSpeed Amplify 按计划在每台 NGINX 主机上运行 Gixy,并在出现新问题和 CVE 时发出告警,同时展示运行时指标。 设置持续监控.