
Analizador estático de configuraciones de Nginx
Gixy es una herramienta para analizar la configuración de Nginx. El objetivo principal de Gixy es prevenir configuraciones de seguridad incorrectas y automatizar la detección de fallos.
Actualmente, las versiones de Python compatibles son 2.7, 3.5, 3.6 y 3.7.
Aviso: Gixy ha sido probado principalmente en GNU/Linux; otros sistemas operativos pueden presentar algunos problemas.
Ahora mismo Gixy puede encontrar:
Puede encontrar las cosas que Gixy está aprendiendo a detectar en Issues etiquetados con "new plugin"
Gixy se distribuye en PyPI. La mejor manera de instalarlo es con pip:
pip install gixy
Ejecute Gixy y revise los resultados:
gixy
Por defecto, Gixy intentará analizar la configuración de Nginx ubicada en /etc/nginx/nginx.conf.
Pero siempre puede especificar la ruta necesaria:
$ gixy /etc/nginx/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/ru/plugins/httpsplitting.md
Reason: At least variable "$action" can contain "\n"
Pseudo config:
include /etc/nginx/sites/default.conf;
server {
location ~ /v1/((?<action>[^.]*)\.json)?$ {
add_header X-Action $action;
}
}
==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 1
U omitir algunas pruebas:
$ gixy --skips http_splitting /etc/nginx/nginx.conf
==================== Results ===================
No issues found.
==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 0
O algo más, puede encontrar todos los demás argumentos de gixy con el comando de ayuda: gixy --help
Gixy está disponible como imagen Docker desde Docker hub. Para usarlo, monte la configuración que desea analizar como un volumen y proporcione la ruta al archivo de configuración al ejecutar la imagen de Gixy.
$ docker run --rm -v `pwd`/nginx.conf:/etc/nginx/conf/nginx.conf yandex/gixy /etc/nginx/conf/nginx.conf
Si tiene una imagen que ya contiene su configuración de Nginx, puede compartir la configuración con el contenedor Gixy como un volumen.
$ docker run --rm --name nginx -d -v /etc/nginx
nginx:alpinef68f2833e986ae69c0a5375f9980dc7a70684a6c233a9535c2a837189f14e905
$ docker run --rm --volumes-from nginx yandex/gixy /etc/nginx/nginx.conf
==================== Results ===================
No issues found.
==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 0
¡Las contribuciones a Gixy son siempre bienvenidas! Puede ayudarnos de diferentes maneras:
Directrices de código: