文档章节

Gixy–分析Nginx配置文件的工具

l
 linux-tao
发布于 2017/08/29 23:20
字数 506
阅读 30
收藏 2

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: 0

Low: 0    Medium: 0

High: 0

来看一个http折分配置有问题的示例,修改Nginx配置:

server {

…

location ~ /v1/((?<action>[^.]*)/.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.md
Reason: At least variable “$action” can contain “/n”
Pseudo config:

server {
server_name localhost mike.hi-linux.com;

location ~ /v1/((?<action>[^.]*)/.json)?$ {
add_header X-Action $action;
}
}

==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 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: 0
Low: 0
Medium: 0
High: 0

更多使用方法可以参考gixy --help命令。

原文来自:http://www.yunweipai.com/archives/18662.html

本文地址:http://www.linuxprobe.com/file-security-analysis.html

© 著作权归作者所有

共有 人打赏支持
l
粉丝 13
博文 661
码字总数 744091
作品 0
深圳
运维
Nginx 配置分析工具--Gixy

项目简介 Gixy 是一款用来分析 Nginx 配置的工具。 Gixy 的主要目标是防止安全配置错误,并自动进行缺陷检测。 目前支持的 Python 版本是 2.7 和 3.5+ 。 免责声明:Gixy 仅在 GNU / Linux ...

匿名
2017/05/18
2.8K
2
Nginx、tomcat访问日志准实时分析统计--goaccess

需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策! 找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,web...

yown
2017/02/20
0
0
ELK 日志服务器安装部署

我们的公共号 来自队员 谆谆 拟写 简单介绍: ELK是三个开源工具组成,简单解释如下: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本...

乌龟运维
2017/06/02
0
0
二、NGINX的安装及配置

nginx下载 Nginx是开源软件,您可以从其官网(http://www.nginx.net/)下载最新版本。 Nginx的编译要求 磁盘空间:需要保证有10M以上的剩余磁盘空间。Nginx安装后会占据4M左右的磁盘空间,实...

孟飞阳
2016/08/06
85
2
使用AWSTATS自动分析Nginx日志

环境说明: Nginx安装目录:/usr/local/nginx Nginx配置文件存放目录:/usr/local/nginx/conf/nginx.conf Nginx日志目录:/usr/local/nginx/logs Awstats安装目录:/usr/local/awstats Awst...

liangxiaowei66
2014/03/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用xtrabackup完成远程备份

转载收藏,以防丢失 需求 Can I backup remote databases from my local server02-27-2013, 06:17 AMHi, I am using mysqldump so far for taking daily backups of my Production datab......

阿dai
2分钟前
0
0
OSChina 周五乱弹 —— 心情超级好开始乱删库

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 手机党少年们想听歌,请使劲儿戳(这里) 把生命除去上班时间, 都开心不起来。 @真Skr小机灵鬼儿: 你才不孤独呢, 想想你早起, @for。:这...

小小编辑
4分钟前
0
2
为什么你的python版本一团糟?因为少了这个操作

坑人的版本 Python 的版本问题一直是个广被吐槽的黑点。以至于有人调侃说: Python 是世界上最好的两种语言! 在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学...

crossin
昨天
2
0
Cannot forward after response has been committed

声名:转载自CSDN 通过toncat启动服务器,可以正常登陆访问,登陆进去选择子系统的时候点击登陆的时候,可是去又回到了登陆界面,如此反复就是不能够进入子系统,查看后台报的错误: java.la...

小橙子的曼曼
昨天
2
0
shell编程(告警系统邮件引擎、运行告警系统)

告警系统邮件引擎 1.如果要使用邮件引擎功能,需要调用mail.py文件,放到/usr/local/sbin/mon/mail/目录下即可,具体内容如下: #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,s...

蛋黄_Yolks
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部