Gixy ist ein Tool zur Analyse von Nginx-Konfigurationsdateien. Das Hauptziel von Gixy besteht darin, Sicherheitsfehlkonfigurationen zu verhindern und die Fehlererkennung zu automatisieren.
Gixy-FunktionenGixy ist eine in Python entwickelte Anwendung. Die derzeit unterstützten Python-Versionen sind 2.7 und 3.5+.
Die Installationsschritte sind sehr einfach. Verwenden Sie einfach pip zur direkten Installation:
$ pip install gixy
Wenn Ihr System älter ist, ist die mitgelieferte Python-Version niedriger. Informationen zum Aktualisieren der Python-Version finden Sie unter „Verwenden von pyenv zum Erstellen einer virtuellen Python-Umgebung“ oder „So aktivieren Sie Software Collections (SCL) unter CentOS“.
Gixy-NutzungGixy überprüft standardmäßig die Konfigurationsdatei /etc/nginx/nginx.conf.
$ gixy
Sie können auch den Speicherort der NGINX-Konfigurationsdatei angeben.
$ gixy /usr/local/nginx/conf/nginx.conf ==================== Results =================== No issues found. ==================== Summary =================== Total issues: Unspecified: 0 Low: 0 Medium: 0 High: 0
Sehen wir uns ein Beispiel für ein Problem mit der HTTP-Rabattkonfiguration an: Ändern Sie die Nginx-Konfiguration:
server { … location ~ /v1/((?<action>[^.]*)/.json)?$ { add_header X-Action $action; } … }
Führen Sie Gixy erneut aus, um die Konfiguration zu überprüfen.
$ 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
Aus den Ergebnissen geht hervor, dass ein Problem erkannt wurde, was darauf hinweist, dass der Problemtyp http_splitting ist. Der Grund dafür ist, dass die Variable $action Zeilenumbrüche enthalten kann. Dabei handelt es sich um die Schwachstelle HTTP Response Header Splitting, die durch CRLFZ-Injection angegriffen wird.
Wenn Sie bestimmte Arten der Fehlerprüfung vorübergehend ignorieren möchten, können Sie den Parameter --skips verwenden:
$ 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
Weitere Verwendungsmethoden finden Sie im Befehl gixy --help.
Das obige ist der detaillierte Inhalt vonGixy – Tool zur Analyse von Nginx-Konfigurationsdateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!