这篇文章主要介绍了如何安装和使用Gixy,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
Gixy 是一款用来分析 Nginx 配置的工具。 Gixy 的主要目标是防止安全配置错误,并自动进行缺陷检测。
Gixy特性
找出服务器端请求伪造。 验证HTTP拆分。 验证referrer/origin问题。 验证是否正确通过add_header指令重新定义Response Headers。 验证请求的主机头是否伪造。 验证valid_referers是否为空。 验证是否存在多行主机头。
Gixy安装
Gixy是一个Python开发的应用,目前支持的Python版本是2.7和3.5+。
安装步骤非常简单,直接使用pip安装即可:
$ pip install gixy
如果你的系统比较老,自带Python版本比较低。可参考「使用pyenv搭建python虚拟环境」或者「如何在CentOS上启用软件集Software Collections(SCL)」升级Python版本。
Gixy使用
Gixy默认会检查/etc/nginx/nginx.conf配置文件。
$ gixy
也可以指定NGINX配置文件所在的位置。
$ gixy /usr/local/nginx/conf/nginx.conf==================== Results ===================No issues found.==================== Summary ===================Total issues:Unspecified: 0Low: 0 Medium: 0High: 0
来看一个http折分配置有问题的示例,修改Nginx配置:
server {…location ~ /v1/((?[^.]*)/.json)?$ {add_header X-Action $action;}…}
再次运行Gixy检查配置。
$ gixy /usr/local/nginx/conf/nginx.conf==================== Results ===================>> Problem: [http_splitting] Possible HTTP-Splitting vulnerability.Description: Using variables that can contain “/n” may lead to http injection.Additional info: https://github.com/yandex/gixy/blob/master/docs/en/plugins/httpsplitting.mdReason: At least variable “$action” can contain “/n”Pseudo config:server {server_name localhost mike.hi-linux.com;location ~ /v1/((?[^.]*)/.json)?$ {add_header X-Action $action;}}==================== Summary ===================Total issues:Unspecified: 0Low: 0Medium: 0High: 1
从结果可以看出检测到了一个问题,指出问题类型为http_splitting。原因是$action变量中可以含有换行符。这就是HTTP响应头拆分漏洞,通过CRLFZ注入实现攻击。
如果你要暂时忽略某类错误检查,可以使用–skips参数:
$ gixy –skips http_splitting /usr/local/nginx/conf/nginx.conf==================== Results ===================No issues found.==================== Summary ===================Total issues:Unspecified: 0Low: 0Medium: 0High: 0
感谢你能够认真阅读完这篇文章,希望小编分享的“如何安装和使用Gixy”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!