
Gixy-Next: Сканер безопасности конфигурации NGINX и проверка производительности
Gixy-Next (Gixy) — это открытый сканер безопасности и инструмент усиления защиты конфигураций NGINX, который статически анализирует ваш nginx.conf для выявления ошибок конфигурации безопасности, пробелов в усилении защиты и распространённых проблем производительности до того, как они попадут в продакшен. Это активно поддерживаемый форк Gixy от Яндекса. Исходный код Gixy-Next доступен на GitHub.
Gixy-Next также можно запустить в браузере на этой странице. Загрузка не требуется; вы можете сканировать свои конфигурации на сайте (локально, с использованием WebAssembly).
Gixy-Next (CLI gixy или gixy-next) распространяется на PyPI. Вы можете установить его с помощью pip или uv:
# pip
pip3 install gixy-next
# uv
uv pip install gixy-next
Затем вы можете запустить его:
# gixy defaults to reading /etc/nginx/nginx.conf
gixy
# But you can also specify a path to the configuration
gixy /opt/nginx.conf
Вы также можете экспортировать конфигурацию NGINX в один дамп-файл (см. nginx -T Live Configuration Dump):
# Dumps the full NGINX configuration into a single file (including all includes)
nginx -T > ./nginx-dump.conf
# Scan the dump elsewhere (or via stdin):
gixy ./nginx-dump.conf
# or
cat ./nginx-dump.conf | gixy -
Вместо загрузки и локального запуска Gixy-Next вы можете использовать эту веб-страницу и сканировать конфигурацию прямо из веб-браузера (локально, с использованием WebAssembly).
Gixy-Next доступен в виде Docker-образа из Docker Hub или GitHub Registry.
Сканируйте локальный файл конфигурации, смонтировав его в контейнер:
# Use Github Registry
docker run --pull=always --rm -v "$PWD/nginx.conf:/nginx.conf:ro" ghcr.io/megamansec/gixy-next /nginx.conf
# Or Docker Hub
docker run --pull=always --rm -v "$PWD/nginx.conf:/nginx.conf:ro" megamansec/gixy-next /nginx.conf
Сканирование дампа живой конфигурации NGINX:
# Dumps the full NGINX configuration into a single file (including all includes)
nginx -T > ./nginx-dump.conf
# Use Github Registry
docker run --pull=always --rm -v "$PWD/nginx-dump.conf:/nginx-dump.conf:ro" ghcr.io/megamansec/gixy-next /nginx-dump.conf
# Or Docker Hub
docker run --pull=always --rm -v "$PWD/nginx-dump.conf:/nginx-dump.conf:ro" megamansec/gixy-next /nginx-dump.conf
Сканирование из stdin:
# Use Github Registry
nginx -T | docker run --pull=always --rm -i ghcr.io/megamansec/gixy-next gixy-next -
# Or Docker Hub
nginx -T | docker run --pull=always --rm -i megamansec/gixy-next gixy-next -
Gixy-Next может обнаруживать широкий спектр ошибок конфигурации безопасности и производительности NGINX в nginx.conf и подключаемых файлах конфигурации. Поддерживаются следующие плагины:
error_log set to offkeepalive_requestsworker_processesproxy_bufferingproxy_pass path normalization issuestry_files directive is evil without open_file_cacheworker_rlimit_nofile must be at least twice worker_connectionsЧто-то не обнаружено? Пожалуйста, откройте issue на GitHub с описанием того, чего не хватает!
По умолчанию gixy читает системную конфигурацию NGINX из /etc/nginx/nginx.conf. Вы также можете указать расположение, передав его в gixy: