जंगली दुनिया में अपने APIs की सुरक्षा: WAF और API Gateway एकीकरण की गहन जांच
January 30, 2024
आज के डिजिटल युग में, API हमारे दैनिक जीवन का एक अभिन्न अंग बन गए हैं। वे हमें विभिन्न एप्लिकेशन और सेवाओं के बीच डेटा तक पहुंचने और उसे आदान-प्रदान करने की अनुमति देते हैं। हालांकि, सार्वजनिक रूप से उजागर होने वाले API एंडपॉइंट्स की बढ़ती संख्या के साथ, साइबर हमलों और डेटा उल्लंघनों का जोखिम भी बढ़ रहा है। यही कारण है कि अपने API को दुर्भावनापूर्ण हमलों से बचाने के लिए मजबूत सुरक्षा उपायों को लागू करना महत्वपूर्ण है।
WAF और API गेटवे को एकीकृत करने के लाभ
वेब एप्लिकेशन फ़ायरवॉल (WAF) और API गेटवे प्रौद्योगिकियां API को हमलों से सुरक्षित करने के सबसे प्रभावी तरीकों में से दो हैं। WAF एक सुरक्षा समाधान है जो इंटरनेट और आपके API सर्वर के बीच में बैठता है, आने वाले अनुरोधों का विश्लेषण करता है और किसी भी दुर्भावनापूर्ण ट्रैफ़िक को ब्लॉक करता है। दूसरी ओर, एक API गेटवे एक मिडलवेयर परत है जो आपके API सर्वर और क्लाइंट के बीच में बैठता है, जो एक्सेस कंट्रोल, ट्रैफ़िक रूटिंग और रेट लिमिटिंग का प्रबंधन करता है।
Apache APISIX, एक लोकप्रिय ओपन-सोर्स API गेटवे, बिल्ट-इन सुरक्षा प्लगइन्स का एक मजबूत सेट प्रदान करता है। हालांकि, CVEs (सामान्य भेद्यताएं और एक्सपोजर) और ज़ीरो-डे एक्सप्लॉइट्स जैसे बढ़ते हुए परिष्कृत हमलों के सामने, केवल इन प्लगइन्स पर भरोसा करने से आपके API कमजोर हो सकते हैं। APISIX के साथ एक पेशेवर वेब एप्लिकेशन फ़ायरवॉल (WAF) को एकीकृत करने से एक बहु-परत सुरक्षा रणनीति प्रदान की जाती है, जो आधुनिक खतरों के खिलाफ व्यापक सुरक्षा सुनिश्चित करती है।
APISIX की सुरक्षा क्षमताओं को समझना
-
प्रमाणीकरण और प्राधिकरण: APISIX
JWT,basic auth,key auth, और OpenID Connect प्रदाताओं के साथ एकीकरण के लिए प्लगइन्स का समर्थन करता है, जो एक्सेस कंट्रोल को लागू करता है। -
रेट लिमिटिंग:
limit-conn,limit-req, औरlimit-countजैसे प्लगइन्स के माध्यम से दुर्भावनापूर्ण ट्रैफ़िक स्पाइक्स और DoS हमलों को रोकता है। -
IP प्रतिबंध और यूजर-एजेंट फ़िल्टरिंग: आने वाले अनुरोधों पर IP पते और यूजर एजेंट के आधार पर सूक्ष्म नियंत्रण की अनुमति देता है।
-
CSRF सुरक्षा: क्रॉस-साइट रिक्वेस्ट फोर्जरी हमलों को रोकता है।
API गेटवे की सीमाएं
-
सिग्नेचर-आधारित पहचान: APISIX प्लगइन्स मुख्य रूप से ज्ञात हमले के सिग्नेचर पर निर्भर करते हैं, जो उन्हें ज़ीरो-डे एक्सप्लॉइट्स के खिलाफ अप्रभावी बनाता है जिनमें परिभाषित पैटर्न की कमी होती है।
-
नियम अपडेट की कमी: सुरक्षा नियम लगातार बदल रहे हैं, जिसके लिए पेशेवर सुरक्षा विशेषज्ञों और कंपनियों को बनाए रखने की आवश्यकता होती है।
-
सीमित दायरा: जबकि APISIX गेटवे परत की सुरक्षा करता है, WAF एप्लिकेशन परतों में व्यापक सुरक्षा प्रदान करते हैं।
WAF और API गेटवे एकीकरण के लाभ
-
सक्रिय खतरा पहचान: उन्नत WAF मशीन लर्निंग और व्यवहार विश्लेषण का उपयोग करके असामान्य ट्रैफ़िक का पता लगाते हैं, भले ही भेद्यताओं के बारे में पूर्व ज्ञान न हो।
-
रियल-टाइम नियम अपडेट: क्लाउड-आधारित WAF उभरते खतरों को संबोधित करने के लिए नियमों को जल्दी से अपडेट कर सकते हैं, जिससे एक्सपोजर विंडो को कम किया जा सकता है।
-
गहरी एप्लिकेशन सुरक्षा: WAF एप्लिकेशन परत पर दुर्भावनापूर्ण ट्रैफ़िक को फ़िल्टर और ब्लॉक कर सकते हैं, जो API गेटवे को बायपास करने वाले हमलों से बचाते हैं।
-
अनुपालन और नियामक अनुपालन: कुछ उद्योग डेटा सुरक्षा नियमों के अनुपालन के लिए WAF के उपयोग को अनिवार्य करते हैं।
एकीकरण प्रक्रिया में गहराई से जानकारी
WAF और API गेटवे को एकीकृत करने के लिए, आपको सही उपकरण चुनने की आवश्यकता है। Apache APISIX एक लोकप्रिय API गेटवे समाधान है जो आपके API को प्रबंधित करने के लिए एक स्केलेबल और लचीला प्लेटफ़ॉर्म प्रदान करता है। Chaitin SafeLine और Coraza WAF समाधान हैं जो उन्नत सुरक्षा सुविधाएं और अनुकूलन योग्य नियम सेट प्रदान करते हैं।
APISIX और Chaitin SafeLine
Chaitin SafeLine WAF APISIX 3.5 से एक बिल्ट-इन प्लगइन है। chaitin-waf प्लगइन सक्षम होने के बाद, ट्रैफ़िक Chaitin WAF सेवा को आगे भेजा जाएगा ताकि विभिन्न वेब एप्लिकेशन हमलों का पता लगाया जा सके और उन्हें रोका जा सके, जिससे एप्लिकेशन और उपयोगकर्ता डेटा की सुरक्षा सुनिश्चित होती है।

मान लें कि आपने Apache APISIX और SafeLine स्थापित कर लिया है, निम्नलिखित कमांड लाइन दोनों को एकीकृत कर सकती है:
curl http://127.0.0.1:9180/apisix/admin/plugin_metadata/chaitin-waf -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "nodes":[ { "host": "192.168.99.11", "port": 8000 } ] }'
192.168.99.11 SafeLine सेवा का IP है। फिर हम APISIX में एक रूट बना सकते हैं:
curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/*", "plugins": { "chaitin-waf": {} }, "upstream": { "type": "roundrobin", "nodes": { "192.168.99.12:80": 1 } } }'
192.168.99.12 अपस्ट्रीम सेवा का IP है। एकीकरण पूरा हो गया है।
अब आइए SQL इंजेक्शन का अनुकरण करके प्रभाव देखें:
curl http://127.0.0.1:9080 -d 'a=1 and 1=1'
एक HTTP 403 त्रुटि वापस आई, और त्रुटि संदेश से देखा जा सकता है कि Chaitin SafeLine ने हमले को सफलतापूर्वक रोक दिया।
{"code":403,"success":false,"message":"blocked by Chaitin SafeLine Web Application Firewall","event_id":"18e0f220f7a94127acb21ad3c1b4ac47"}
APISIX और Coraza-proxy-wasm
APISIX WebAssembly (Wasm) के साथ प्लगइन्स विकसित करने का समर्थन करता है, और Coraza भी Wasm प्लगइन्स को एक विकल्प के रूप में प्रदान करता है। इसलिए, Coraza को APISIX के साथ एकीकृत करने में अपेक्षाकृत कम लागत आती है।
Wasm का उपयोग क्रॉस-प्लेटफ़ॉर्म किया जा सकता है, जिससे APISIX और Coraza को अतिरिक्त व्यापक संशोधन या अनुकूलन के बिना काम करने की अनुमति मिलती है। यह व्यापक कोड संशोधन और अनुकूलन को समाप्त करता है।
Coraza भी Apache APISIX का एक बिल्ट-इन प्लगइन है, जिसे कॉन्फ़िगरेशन फ़ाइल conf/config-default.yaml को संशोधित करके सक्षम किया जा सकता है:
wasm: plugins: - name: coraza-filter priority: 7999 file: /home/ubuntu/coraza-proxy-wasm/build/main.wasm
फिर APISIX में Coraza के नियमों के साथ एक रूट बनाएं:
curl -i http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{ "uri": "/anything", "plugins": { "coraza-filter": { "conf": { "directives_map": { "default": [ "SecDebugLogLevel 9", "SecRuleEngine On", "SecRule REQUEST_URI \"@beginsWith /anything\" \"id:101,phase:1,t:lowercase,deny\"" ] }, "default_directives": "default" } } }, "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }'
अब आइए एक अनुरोध भेजकर प्रभाव देखें:
curl http://localhost:9080/anything -v
logs/error.log में लॉग्स की जांच करें:
2023/08/31 09:20:39 [info] 126240#126240: *23933 Transaction interrupted tx_id="JVhHVfDuGjVbfgvDjik" context_id=2 action="deny" phase="http_request_headers", client: 127.0.0.1, server: _, request: "GET /anything HTTP/1.1", host: "localhost:9080" 2023/08/31 09:20:39 [debug] 126240#126240: *23933 Interruption already handled, sending downstream the local response tx_id="JVhHVfDuGjVbfgvDjik" context_id=2 interruption_handled_phase="http_request_headers"
WAF और API गेटवे एकीकरण का उपयोग करके API को सुरक्षित करने के लिए सर्वोत्तम प्रथाएं
अपने API की सुरक्षा सुनिश्चित करने के लिए, आपको इन सर्वोत्तम प्रथाओं का पालन करना चाहिए:
-
एक बहु-परत सुरक्षा रणनीति लागू करें जिसमें कई सुरक्षा नियंत्रण शामिल हों;
-
डेटा को ट्रांजिट में सुरक्षित करने के लिए SSL/TLS एन्क्रिप्शन का उपयोग करें;
-
अपने WAF नियम सेट को नियमित रूप से अपडेट करें ताकि वे नवीनतम खतरों के साथ अद्यतन रहें;
-
अपने API ट्रैफ़िक और लॉग्स की निगरानी करें ताकि सुरक्षा घटनाओं का जल्दी पता लगाया जा सके और उनका जवाब दिया जा सके।
API सुरक्षा और सुरक्षा में भविष्य के रुझान और प्रगति
जैसे-जैसे उपयोग में आने वाले API की संख्या बढ़ती है, उन्हें सुरक्षित करने के लिए उन्नत सुरक्षा उपायों की आवश्यकता भी बढ़ेगी। API सुरक्षा और सुरक्षा में भविष्य के कुछ रुझान और प्रगति में शामिल हैं:
-
AI-संचालित सुरक्षा समाधान जो खतरों का स्वचालित रूप से पता लगा सकते हैं और उनका जवाब दे सकते हैं;
-
ब्लॉकचेन-आधारित प्रमाणीकरण और एक्सेस कंट्रोल तंत्र;
-
माइक्रोसर्विसेस-आधारित API आर्किटेक्चर जो अधिक लचीलापन और स्केलेबिलिटी प्रदान करते हैं।
सारांश
अंत में, WAF और API गेटवे एकीकरण API सुरक्षा का एक महत्वपूर्ण घटक है। सर्वोत्तम प्रथाओं का पालन करके और सही उपकरणों को तैनात करके, आप एक मजबूत सुरक्षा परत बना सकते हैं जो आपके API को विभिन्न प्रकार के हमलों से बचाती है। सही दृष्टिकोण के साथ, आप अपने API और उनके द्वारा आदान-प्रदान किए जाने वाले डेटा की उपलब्धता, अखंडता और गोपनीयता सुनिश्चित कर सकते हैं।