
Analizzatore statico di configurazione Nginx
Gixy è uno strumento per analizzare la configurazione di Nginx. L'obiettivo principale di Gixy è prevenire configurazioni di sicurezza errate e automatizzare il rilevamento di difetti.
Le versioni Python attualmente supportate sono 2.7, 3.5, 3.6 e 3.7.
Nota: Gixy è stato testato approfonditamente solo su GNU/Linux, altri sistemi operativi potrebbero presentare alcuni problemi.
Al momento Gixy può trovare:
Puoi trovare le cose che Gixy sta imparando a rilevare in Issues con etichetta "new plugin"
Gixy è distribuito su PyPI. Il modo migliore per installarlo è con pip:
pip install gixy
Esegui Gixy e controlla i risultati:
gixy
Per impostazione predefinita, Gixy tenterà di analizzare la configurazione di Nginx situata in /etc/nginx/nginx.conf.
Ma puoi sempre specificare il percorso desiderato:
$ 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
Oppure salta alcuni test:
$ gixy --skips http_splitting /etc/nginx/nginx.conf
==================== Results ===================
No issues found.
==================== Summary ===================
Total issues:
Unspecified: 0
Low: 0
Medium: 0
High: 0
O altro, puoi trovare tutti gli altri argomenti di gixy con il comando di aiuto: gixy --help
Gixy è disponibile come immagine Docker da Docker hub. Per usarlo, monta la configurazione che vuoi analizzare come volume e fornisci il percorso del file di configurazione quando esegui l'immagine Gixy.
$ docker run --rm -v `pwd`/nginx.conf:/etc/nginx/conf/nginx.conf yandex/gixy /etc/nginx/conf/nginx.conf
Se hai un'immagine che contiene già la tua configurazione nginx, puoi condividere la configurazione con il container Gixy come volume.
$ 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
I contributi a Gixy sono sempre benvenuti! Puoi aiutarci in diversi modi:
Linee guida per il codice: