
Gixy-Next: ماسح أمان تهيئة NGINX ومدقق الأداء
Gixy-Next (Gixy) هو ماسح أمني مفتوح المصدر لإعدادات NGINX وأداة تقوية تقوم بتحليل ملف nginx.conf بشكل ثابت للكشف عن الأخطاء الأمنية في الإعدادات، وثغرات التقوية، والمزالق الشائعة في الأداء قبل وصولها إلى بيئة الإنتاج. وهو fork يُصان بنشاط من Gixy الخاص بـ Yandex. الكود المصدري لـ Gixy-Next متاح على GitHub.
يمكن أيضًا تشغيل Gixy-Next في المتصفح من هذه الصفحة. لا حاجة للتنزيل؛ يمكنك فحص إعداداتك على الموقع الإلكتروني (محليًا، باستخدام WebAssembly).
يُوزَّع Gixy-Next (واجهة سطر الأوامر 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.
افحص ملف إعدادات محلي عن طريق تحميله (mount) داخل الحاوية:
# 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:
# Analyze the configuration in /opt/nginx.conf
gixy /opt/nginx.conf
يمكنك تشغيل مجموعة فرعية مركّزة من الفحوصات باستخدام --tests:
# Only run these checks
gixy --tests http_splitting,ssrf,version_disclosure
أو تخطي بعض الفحوصات المزعجة باستخدام --skips: