
Statischer Analysator für Nginx-Konfigurationen
Gixy ist ein Werkzeug zur Analyse von Nginx-Konfigurationen. Das Hauptziel von Gixy ist es, Sicherheitsfehlkonfigurationen zu verhindern und die Fehlererkennung zu automatisieren.
Derzeit unterstützte Python-Versionen sind 2.7, 3.5, 3.6 und 3.7.
Haftungsausschluss: Gixy ist nur unter GNU/Linux gut getestet, andere Betriebssysteme können Probleme aufweisen.
Derzeit kann Gixy Folgendes finden:
Sie können Dinge, die Gixy gerade lernt zu erkennen, unter Issues mit dem Label "new plugin" finden.
Gixy wird auf PyPI vertrieben. Am besten installiert man es mit pip:
pip install gixy
Führen Sie Gixy aus und überprüfen Sie die Ergebnisse:
gixy
Standardmäßig versucht Gixy, die Nginx-Konfiguration in /etc/nginx/nginx.conf zu analysieren.
Sie können aber jederzeit den gewünschten Pfad angeben:
$ 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
Oder überspringen Sie einige Tests:
$ gixy --skips http_splitting /etc/nginx/nginx.conf
==================== Results ===================
No issues found.
==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 0
Oder etwas anderes – alle weiteren gixy-Argumente finden Sie mit dem Hilfe-Befehl: gixy --help
Gixy ist als Docker-Image vom Docker Hub verfügbar. Um es zu verwenden, mounten Sie die zu analysierende Konfiguration als Volume und geben Sie den Pfad zur Konfigurationsdatei an, wenn Sie das Gixy-Image ausführen.
$ docker run --rm -v `pwd`/nginx.conf:/etc/nginx/conf/nginx.conf yandex/gixy /etc/nginx/conf/nginx.conf
Wenn Sie ein Image haben, das bereits Ihre Nginx-Konfiguration enthält, können Sie die Konfiguration über ein Volume mit dem Gixy-Container teilen.
$ 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
Beiträge zu Gixy sind jederzeit willkommen! Sie können uns auf verschiedene Weise helfen:
Code-Richtlinien: