
Gixy-Next v0.6.0
Gixy-Next: NGINX कॉन्फ़िगरेशन सुरक्षा स्कैनर और प्रदर्शन जाँचकर्ता
Gixy-Next: सुरक्षा ऑडिट के लिए NGINX कॉन्फ़िगरेशन सुरक्षा स्कैनर
अवलोकन
Gixy-Next (Gixy) एक ओपन-सोर्स NGINX कॉन्फ़िगरेशन सुरक्षा स्कैनर और हार्डनिंग टूल है जो उत्पादन तक पहुँचने से पहले सुरक्षा गलत कॉन्फ़िगरेशन, हार्डनिंग कमियों और सामान्य प्रदर्शन संबंधी समस्याओं का पता लगाने के लिए आपकी nginx.conf का स्थिर विश्लेषण करता है। यह Yandex के Gixy का सक्रिय रूप से अनुरक्षित फ़ोर्क है। Gixy-Next का सोर्स कोड GitHub पर उपलब्ध है।
Gixy-Next को इस पृष्ठ पर ब्राउज़र में भी चलाया जा सकता है। किसी डाउनलोड की आवश्यकता नहीं है; आप वेबसाइट पर अपने कॉन्फ़िगरेशन स्कैन कर सकते हैं (स्थानीय रूप से, WebAssembly का उपयोग करके)।
त्वरित शुरुआत
Gixy-Next (gixy या gixy-next CLI) 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 का उपयोग करके) किसी कॉन्फ़िगरेशन को स्कैन कर सकते हैं।
Docker के साथ स्कैन करें
Gixy-Next Docker Hub या GitHub Registry से एक Docker इमेज के रूप में उपलब्ध है।
किसी स्थानीय कॉन्फ़िग फ़ाइल को कंटेनर में माउंट करके स्कैन करें:
# 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.conf और शामिल कॉन्फ़िगरेशन फ़ाइलों में NGINX सुरक्षा और प्रदर्शन संबंधी कई प्रकार की गलत कॉन्फ़िगरेशन का पता लगा सकता है। निम्नलिखित प्लगइन समर्थित हैं:
- [add_header_content_type] add_header के माध्यम से Content-Type सेट करना
- [add_header_multiline] बहु-पंक्ति प्रतिक्रिया हेडर
- [add_header_redefinition] "add_header" निर्देश द्वारा प्रतिक्रिया हेडर का पुनर्परिभाषण
- [alias_traversal] गलत कॉन्फ़िगर किए गए alias के माध्यम से पथ ट्रैवर्सल
- [allow_without_deny] deny के बिना allow निर्दिष्ट
- [default_server_flag] default_server फ़्लैग अनुपस्थित
- [error_log_off]
error_logकोoffपर सेट किया गया - [filesystem_root_exposure] फ़ाइलसिस्टम रूट को डॉक्यूमेंट रूट के रूप में उपयोग
- [hash_without_default] hash ब्लॉक में default अनुपस्थित
- [host_spoofing] अनुरोध के Host हेडर का जालसाज़ी
- [http2_misdirected_request] HTTP/2 misdirected-request सुरक्षा उपाय अनुपस्थित
- [http_splitting] HTTP प्रतिक्रिया विभाजन (Response Splitting)
- [if_is_evil] location संदर्भ में उपयोग किए जाने पर if घातक है
- [invalid_regex] अमान्य regex कैप्चर समूह
- [low_keepalive_requests] कम
keepalive_requests - [missing_worker_processes]
worker_processesअनुपस्थित - [mixed_case_variable] मिश्रित-केस चर संदर्भ
- [origins] referer/origin हेडर सत्यापन में समस्याएँ
- [overlapping_captures] rewrite redirect/args संदर्भ में अतिव्यापी कैप्चर
- [proxy_buffering_off]
proxy_bufferingअक्षम करना - [proxy_pass_normalized]
proxy_passअपस्ट्रीम को अनपेक्षित पथ भेज सकता है - [proxy_set_header_redefinition] "proxy_set_header" निर्देश द्वारा प्रॉक्सी किए गए अनुरोध हेडर का पुनर्परिभाषण
- [quic_bpf_reuseport] पुनः लोड के बाद QUIC कनेक्शन चुपचाप गिरा दिए जाते हैं
- [regex_redos] रेगुलर एक्सप्रेशन डिनायल ऑफ़ सर्विस (ReDoS)
- [resolver_external] बाहरी DNS नेमसर्वर का उपयोग
- [return_bypasses_allow_deny] return निर्देश allow/deny प्रतिबंधों को बायपास करता है
- [ssl_ecdh_curve] पोस्ट-क्वांटम समूह पुराने OpenSSL पर NGINX को शुरू होने से रोकते हैं
- [ssl_stapling_letsencrypt] Let's Encrypt प्रमाणपत्र के लिए OCSP stapling कुछ नहीं करता
- [ssl_stapling_without_resolver] resolver के बिना OCSP stapling चुपचाप विफल हो जाता है
- [ssrf] सर्वर साइड रिक्वेस्ट फ़ोर्जरी
- [stale_dns_cache] proxy_pass में पुराने/बासी कैश्ड DNS रिकॉर्ड का उपयोग
- [status_page_exposed] सुनिश्चित करता है कि status_page दुनिया के सामने उजागर न हो
- [try_files_is_evil_too] open_file_cache के बिना
try_filesनिर्देश घातक है - [unanchored_regex] अन-एंकर्ड रेगुलर एक्सप्रेशन
- [unnamed_groups] rewrite क्वेरी स्ट्रिंग में अनाम कैप्चर समूह
- [valid_referers] valid_referers में none/blocked
- [version_disclosure] server_tokens के लिए असुरक्षित मानों का उपयोग
- [worker_rlimit_nofile_vs_connections]
worker_rlimit_nofileकम से कमworker_connectionsका दोगुना होना चाहिए
