Gixy est un outil utilisé pour analyser les fichiers de configuration Nginx. L'objectif principal de Gixy est d'éviter les erreurs de configuration de sécurité et d'automatiser la détection des défauts.
Fonctionnalités GixyGixy est une application développée en Python. Les versions Python actuellement prises en charge sont 2.7 et 3.5+.
Les étapes d'installation sont très simples, utilisez simplement pip pour installer directement :
$ pip install gixy
Si votre système est plus ancien, la version Python qui l'accompagne est inférieure. Vous pouvez vous référer à « Utilisation de pyenv pour créer un environnement virtuel Python » ou « Comment activer les collections de logiciels (SCL) sur CentOS » pour mettre à niveau la version Python.
Utilisation de GixyGixy vérifiera le fichier de configuration /etc/nginx/nginx.conf par défaut.
$ gixy
Vous pouvez également spécifier l'emplacement du fichier de configuration NGINX.
$ gixy /usr/local/nginx/conf/nginx.conf ==================== Results =================== No issues found. ==================== Summary =================== Total issues: Unspecified: 0 Low: 0 Medium: 0 High: 0
Jetons un coup d'œil à un exemple de problème avec la configuration de la remise http : Modifiez la configuration de Nginx :
server { … location ~ /v1/((?<action>[^.]*)/.json)?$ { add_header X-Action $action; } … }
Exécutez à nouveau Gixy pour vérifier la configuration.
$ 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
Les résultats montrent qu'un problème a été détecté, indiquant que le type de problème est http_splitting. La raison est que la variable $action peut contenir des nouvelles lignes. Il s'agit de la vulnérabilité de fractionnement de l'en-tête de réponse HTTP, qui est attaquée par injection CRLFZ.
Si vous souhaitez ignorer temporairement certains types de vérification d'erreurs, vous pouvez utiliser le paramètre --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
Pour plus de méthodes d'utilisation, veuillez vous référer à la commande gixy --help.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!