Maison  >  Article  >  Tutoriel système  >  Gixy – Outil d'analyse des fichiers de configuration Nginx

Gixy – Outil d'analyse des fichiers de configuration Nginx

王林
王林avant
2024-01-12 10:12:051003parcourir

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 Gixy
  • Découvrez la falsification de requêtes côté serveur.
  • Vérifiez le fractionnement HTTP.
  • Vérifiez le problème de référent/origine.
  • Vérifiez si les en-têtes de réponse sont correctement redéfinis via la directive add_header.
  • Vérifiez si l'en-tête d'hôte demandé est falsifié.
  • Vérifiez que valid_referers est vide.
  • Vérifiez que l'en-tête d'hôte multiligne est présent.
Installation Gixy

Gixy 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 Gixy

Gixy 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer