跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Nginx 配置文件的安全审计工具:利用 Gixy 自动扫描配置漏洞

Gixy 是专为 Nginx 配置设计的静态分析工具,不运行服务、不依赖环境,通过解析语法和语义规则识别 SSRF、路径遍历、HTTP 拆分、Host 头欺骗、add_header 重复定义及 valid_referers 空白配置等风险,并支持插件化控制、CI/CD 集成与上下文研判。

Gixy 是专为 Nginx 配置设计的静态分析工具,不运行服务、不依赖环境,仅靠解析配置语法和语义规则就能识别真实运行风险。它不是用来替代人工审查的,而是把经验沉淀成可复用、可审计、可集成的检测能力。

能查哪些典型风险Gixy 聚焦实际攻击路径建模,不是简单字符串匹配:SSRF(服务器端请求伪造)

:检查 proxy_pass 是否直接拼接未过滤变量(如 $arg_url),并判断该变量是否可能构造内网地址路径遍历:验证 alias 与 location 路径末尾斜杠是否匹配,同时确认变量(如 $uri)是否被正则约束为安全字符集HTTP 拆分:识别用户可控变量(如 $arg_redirect)是否可能含 \n 或 \r,防止响应头注入Host 头欺骗:标记使用 $http_host 替代 $host 的不安全写法add_header 重复定义:追踪同一作用域下同名响应头多次设置,避免覆盖安全头valid_referers 空白配置:指出 valid_referers none 这类形同虚设的保护快速上手扫描

安装和首次运行非常轻量:

eclipse maven plugin插件安装和配置 中文WORD版本文档主要讲述的是eclipse maven plugin插件安装和配置;感兴趣的朋友可以过来看看下载执行pip install gixy安装,支持 Python 3.5+(推荐 3.6+)

默认扫描/etc/nginx/nginx.conf

,也可指定任意路径:

gixy /path/to/app.conf配置含 include 时,Gixy 自动递归解析全部被引用文件,无需额外操作建议用 JSON 格式输出便于后续处理:gixy --format json /etc/nginx/conf.d/app.conf > report.json进阶控制与工程化集成满足团队协作和 CI/CD 场景需求:

按需启用或禁用插件:

gixy --enable-plugin ssrf --disable-plugin host_spoofing部分插件支持自定义参数,例如调整 SSRF 检测中“危险内网段”的范围接入 Jenkins 或 GitHub Actions:失败时阻断发布;配合--format checkstyle可对接主流 IDE 和扫描平台Docker 用户可直接拉取最新镜像:docker run --rm -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf yandex/gixy /etc/nginx/nginx.conf怎么看报告才不踩坑Gixy 的结果是线索,不是判决书,需要结合上下文判断:例如检测到$uri 可能参与 alias 路径拼接,要确认该 location 是否加了 internal、是否限制了 method、是否有前置 rewrite 过滤标记add_header 重定义,需看父块和子块的实际生效逻辑,有时是故意覆盖(如子 location 关闭 CSP)

发现valid_referers none,要核实业务是否真不需要 Referer 验证,还是配置遗漏所有插件源码在gixy/plugins/目录下,可直接阅读逻辑或定制修改

相关文章