Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
lua-resty-waf — OpenResty स्टैक पर निर्मित उच्च-प्रदर्शन WAF | Kitploit
उपकरण/GitHubGitHub/p0pr0ck5/lua-resty-waf
रक्षात्मक उपकरणवेब सुरक्षाAPI सुरक्षाएंटी-बॉटएंटी-बॉट में शीर्ष #8
GitHubp0pr0ck5/lua-resty-waf

lua-resty-waf

OpenResty स्टैक पर निर्मित उच्च-प्रदर्शन WAF

रिपॉजिटरी देखें
1.3k305532 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

नाम

lua-resty-waf - OpenResty स्टैक पर निर्मित उच्च-प्रदर्शन WAF

विषय सूची

  • नाम
  • स्थिति
  • विवरण
  • आवश्यकताएँ
  • प्रदर्शन
  • स्थापना
  • सार
  • सार्वजनिक फ़ंक्शन
    • lua-resty-waf.load_secrules()
    • lua-resty-waf.init()
  • सार्वजनिक मेथड्स
    • lua-resty-waf:new()
    • lua-resty-waf:set_option()
    • lua-resty-waf:set_var()
    • lua-resty-waf:sieve_rule()
    • lua-resty-waf:exec()
    • lua-resty-waf:write_log_events()
  • विकल्प
    • add_ruleset
    • add_ruleset_string
    • allow_unknown_content_types
    • allowed_content_types
    • debug
    • debug_log_level
    • deny_status
    • disable_pcre_optimization
    • event_log_altered_only
    • event_log_buffer_size
    • event_log_level
    • event_log_ngx_vars
    • event_log_periodic_flush
    • event_log_request_arguments
    • event_log_request_body
    • event_log_request_headers
    • event_log_ssl
    • event_log_ssl_sni_host
    • event_log_ssl_verify
    • event_log_socket_proto
    • event_log_target
    • event_log_target_host
    • event_log_target_path
    • event_log_target_port
    • hook_action
    • ignore_rule
    • ignore_ruleset
    • mode
    • nameservers
    • process_multipart_body
    • req_tid_header
    • res_body_max_size
    • res_body_mime_types
    • res_tid_header
    • score_threshold
    • storage_backend
    • storage_keepalive
    • storage_keepalive_timeout
    • storage_keepalive_pool_size
    • storage_memcached_host
    • storage_memcached_port
    • storage_redis_host
    • storage_redis_port
    • storage_zone
  • फ़ेज़ हैंडलिंग
  • शामिल रूलसेट
  • रूल परिभाषाएँ
  • नोट्स
    • समुदाय
    • पुल रिक्वेस्ट
  • रोडमैप
  • सीमाएँ
  • लाइसेंस
  • बग्स
  • यह भी देखें

स्थिति

Build Status Codewake CII Best Practices

नोट: lua-resty-waf मूल रूप से परित्यक्त है। इस प्रोजेक्ट का उपयोग उस समय था जब Nginx के लिए ModSecurity एक व्यवहार्य विकल्प नहीं था; अब ऐसा नहीं है। 2020 में प्रोजेक्ट को पुनर्जीवित करने का प्रयास किया गया, लेकिन मेरे पास इसे पूरा करने के संसाधन नहीं हैं; यह कार्य redux शाखा में आंशिक रूप से पूर्ण है।

विवरण

lua-resty-waf एक रिवर्स प्रॉक्सी WAF है जो OpenResty स्टैक का उपयोग करके बनाया गया है। यह HTTP अनुरोध जानकारी का विश्लेषण करने और एक लचीली रूल संरचना के विरुद्ध प्रक्रिया करने के लिए Nginx Lua API का उपयोग करता है। lua-resty-waf एक रूलसेट के साथ वितरित किया जाता है जो ModSecurity CRS की नकल करता है, साथ ही प्रारंभिक विकास और परीक्षण के दौरान निर्मित कुछ कस्टम रूल, और उभरते खतरों के लिए एक छोटा वर्चुअल पैचसेट भी शामिल है। इसके अतिरिक्त, lua-resty-waf मौजूदा ModSecurity रूलों को स्वचालित रूप से अनुवादित करने के लिए टूलिंग के साथ वितरित किया जाता है, जिससे उपयोगकर्ता नई रूल सिंटैक्स सीखने की आवश्यकता के बिना lua-resty-waf कार्यान्वयन का विस्तार कर सकते हैं।

lua-resty-waf प्रारंभ में Robert Paprocki द्वारा Western Governor's University में उनकी मास्टर थीसिस के लिए विकसित किया गया था।

आवश्यकताएँ

lua-resty-waf को कई थर्ड-पार्टी resty lua मॉड्यूल की आवश्यकता होती है, हालाँकि ये सभी lua-resty-waf के साथ पैकेज किए जाते हैं, और इस प्रकार उन्हें अलग से स्थापित करने की आवश्यकता नहीं होती है। lua-resty-waf को OpenResty सॉफ़्टवेयर बंडल चलाने वाले सिस्टम पर स्थापित करने की अनुशंसा की जाती है; lua-resty-waf का परीक्षण अलग Nginx स्रोत और Nginx Lua मॉड्यूल पैकेजों का उपयोग करके बनाए गए प्लेटफार्मों पर नहीं किया गया है।

इष्टतम regex संकलन प्रदर्शन के लिए, Nginx/OpenResty को PCRE के उस संस्करण के साथ बनाने की अनुशंसा की जाती है जो JIT संकलन का समर्थन करता है। यदि आपका OS यह प्रदान नहीं करता है, तो आप JIT-सक्षम PCRE को सीधे अपने Nginx/OpenResty बिल्ड में बना सकते हैं। ऐसा करने के लिए, --with-pcre कॉन्फ़िगर फ़्लैग में PCRE स्रोत का पथ संदर्भित करें। उदाहरण के लिए:```sh

./configure --with-pcre=/path/to/pcre/source --with-pcre-jit

आप PCRE स्रोत को [PCRE वेबसाइट](http://www.pcre.org/) से डाउनलोड कर सकते हैं। JIT-सक्षम PCRE लाइब्रेरी के साथ OpenResty बनाने की चरण-दर-चरण मार्गदर्शिका के लिए यह [ब्लॉग पोस्ट](https://www.cryptobells.com/building-openresty-with-pcre-jit/) भी देखें।

## प्रदर्शन

lua-resty-waf को दक्षता और स्केलेबिलिटी को ध्यान में रखकर डिज़ाइन किया गया था। यह Nginx के अतुल्यकालिक प्रोसेसिंग मॉडल और एक कुशल डिज़ाइन का लाभ उठाता है ताकि प्रत्येक लेन-देन को यथासंभव शीघ्रता से संसाधित किया जा सके। लोड परीक्षण से पता चला है कि सभी प्रदान किए गए नियमसेट को लागू करने वाले डिप्लॉयमेंट, जो ModSecurity CRS के पीछे के तर्क की नकल करने के लिए डिज़ाइन किए गए हैं, प्रति अनुरोध लगभग 300-500 माइक्रोसेकंड में लेन-देन संसाधित करते हैं; यह [Cloudflare के WAF](https://www.cloudflare.com/waf) द्वारा विज्ञापित प्रदर्शन के बराबर है। परीक्षण एक उचित हार्डवेयर स्टैक (E3-1230 CPU, 32 GB RAM, RAID 0 में 2 x 840 EVO) पर चलाए गए थे, जो लगभग 15,000 अनुरोध प्रति सेकंड तक पहुँचते हैं। अधिक जानकारी के लिए [यह ब्लॉग पोस्ट](http://www.cryptobells.com/freewaf-a-high-performance-scalable-open-web-firewall) देखें।

lua-resty-waf का कार्यभार लगभग पूर्णतः CPU-बाउंड है। Lua VM में मेमोरी फुटप्रिंट (`lua-shared-dict` द्वारा समर्थित स्थायी भंडारण को छोड़कर) लगभग 2MB है।

## स्थापना

एक सरल Makefile प्रदान किया गया है:```
# make && sudo make install

वैकल्पिक रूप से, Luarocks के माध्यम से इंस्टॉल करें:```

luarocks install lua-resty-waf

lua-resty-waf [OPM](https://github.com/openresty/opm) पैकेज मैनेजर का उपयोग करता है, जो आधुनिक OpenResty वितरणों में उपलब्ध है। क्लाइंट OPM टूल्स के लिए यह आवश्यक है कि आपके सिस्टम के `PATH` पर्यावरण चर में `resty` कमांड लाइन टूल उपलब्ध हो।

ध्यान दें कि डिफ़ॉल्ट रूप से lua-resty-waf SIMULATE मोड में चलता है, ताकि किसी एप्लिकेशन को तुरंत प्रभावित होने से रोका जा सके; जो उपयोगकर्ता नियम क्रियाओं को सक्षम करना चाहते हैं, उन्हें ऑपरेशनल मोड को स्पष्ट रूप से ACTIVE पर सेट करना होगा।

## Synopsis```lua
http {
    init_by_lua_block {
        -- use resty.core for performance improvement, see the status note above
        require "resty.core"

        -- require the base module
        local lua_resty_waf = require "resty.waf"

        -- perform some preloading and optimization
        lua_resty_waf.init()
    }

    server {
        location / {
            access_by_lua_block {
                local lua_resty_waf = require "resty.waf"

                local waf = lua_resty_waf:new()
टूल डाउनलोड करें