API Gateway में संवेदनशील डेटा लीक होने से कैसे रोकें

Wei Liu

March 3, 2023

Technology

संवेदनशील डेटा की सुरक्षा क्यों आवश्यक है

संवेदनशील डेटा, जिसे गोपनीय डेटा के रूप में भी जाना जाता है, मुख्य रूप से उस डेटा को संदर्भित करता है जो लीक होने पर व्यवसायों, सरकारों और व्यक्तियों के लिए बड़ी समस्याएं पैदा कर सकता है, जिसमें व्यावसायिक संचालन डेटा, व्यक्तिगत पहचान जानकारी आदि शामिल हैं।

उद्यमों के लिए, संवेदनशील डेटा सीधे तौर पर उद्यमों की सूचना सुरक्षा से जुड़ा होता है। उदाहरण के लिए, कुंजियों और प्रमाणपत्रों जैसी संवेदनशील जानकारी का लीक होना संगठन की प्रतिष्ठा, वित्तीय हानि और यहां तक कि कानूनी दायित्व का कारण बन सकता है।

व्यक्तियों के लिए, संवेदनशील डेटा लीक होने से सामाजिक सुरक्षा नंबर से लेकर बैंकिंग जानकारी तक सब कुछ प्रकट हो सकता है, आपकी पहचान की चोरी आपको विज्ञापनों से परेशान कर सकती है, आपके क्रेडिट को खराब कर सकती है, आपको कानूनी मुद्दों में फंसा सकती है और आपके नाम पर सभी प्रकार के धोखाधड़ी में शामिल कर सकती है।

API गेटवे में किस प्रकार का संवेदनशील डेटा होता है

व्यावसायिक ट्रैफिक के प्रवेश द्वार के रूप में, API गेटवे में अक्सर बड़ी मात्रा में संवेदनशील डेटा होता है, जैसे कि API कुंजियाँ, प्रमाणीकरण के लिए उपयोग किए जाने वाले टोकन आदि। इसलिए, सुरक्षा में सुधार करना और संवेदनशील डेटा को लीक होने से रोकना भी API गेटवे का एक महत्वपूर्ण पहलू है, जो मूल लोड बैलेंसिंग और ट्रैफिक रूटिंग सुविधाओं के अतिरिक्त होता है।

संवेदनशील डेटा

API गेटवे संवेदनशील डेटा की सुरक्षा कैसे करता है

सामान्य विचार इस प्रकार है:

  1. संवेदनशील डेटा को एक संरक्षित क्षेत्र में रखें और पहुंच अधिकारों को सख्ती से नियंत्रित करें

  2. जोखिम नियंत्रण प्रणाली में सुधार करें ताकि असामान्य व्यवहार और व्यावसायिक अनुपालन के जोखिम का प्रबंधन किया जा सके

  3. संवेदनशील डेटा को डिसेंसिटाइज़ या एन्क्रिप्ट करें

आगे, हम Apache APISIX को एक उदाहरण के रूप में लेंगे और दिखाएंगे कि API गेटवे में संवेदनशील डेटा की सुरक्षा कैसे की जाती है।

Apache APISIX का निजी डेटा की सुरक्षा में अभ्यास

Apache APISIX Apache सॉफ्टवेयर फाउंडेशन का एक ओपन-सोर्स प्रोजेक्ट है और वर्तमान में सबसे सक्रिय ओपन-सोर्स गेटवे प्रोजेक्ट है। एक पूरी तरह से डायनामिक, रियल-टाइम, उच्च प्रदर्शन वाले ओपन-सोर्स API गेटवे के रूप में, Apache APISIX लोड बैलेंसिंग, डायनामिक अपस्ट्रीम, कैनरी रिलीज, सर्किट ब्रेकिंग, प्रमाणीकरण, ऑब्जर्वेबिलिटी आदि जैसी समृद्ध ट्रैफिक प्रबंधन सुविधाएं प्रदान करता है।

इसके अलावा, उपयोगकर्ता अपने स्वयं के प्लगइन्स लिखकर Apache APISIX के कार्यों को अनुकूलित कर सकते हैं। सक्रिय समुदाय और बढ़ते डेवलपर्स के कारण, Apache APISIX प्लगइन्स की संख्या हर दिन बढ़ रही है, जिनमें से कुछ में संवेदनशील जानकारी होती है, जैसे कि jwt-auth प्लगइन कॉन्फ़िगरेशन secret और private_key। हमें इन डेटा को अवैध रूप से प्राप्त होने से रोकने के लिए एन्क्रिप्टेड स्टोरेज का उपयोग करने की आवश्यकता है।

APISIX की सुरक्षा को बढ़ाने और उपयोगकर्ताओं की गोपनीयता को बेहतर ढंग से सुरक्षित करने के लिए, APISIX ने संस्करण 3.1.0 में Global Data Encryption फ़ंक्शन पेश किया। जब डेवलपर्स इस फ़ंक्शन के साथ नए प्लगइन्स विकसित करते हैं, तो डेवलपर्स को केवल स्कीमा में एन्क्रिप्ट किए जाने वाले डेटा को निर्दिष्ट करने की आवश्यकता होती है, फिर APISIX कंट्रोल प्लेन में लिखते समय इसे स्वचालित रूप से एन्क्रिप्ट और स्टोर करेगा, और डेटा प्लेन द्वारा पढ़ते समय इसे स्वचालित रूप से डिक्रिप्ट करेगा।

ग्लोबल डेटा एन्क्रिप्शन

आइए एक ठोस उदाहरण देखें।

जब डेटा एन्क्रिप्शन सक्षम नहीं है

  1. कॉन्फ़िगरेशन भेजें
curl http://127.0.0.1:9180/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "username": "foo", "plugins": { "basic-auth": { "username": "foo", "password": "bar" } } }'
  1. etcd में संवेदनशील डेटा की स्थिति
etcdctl get /apisix/consumers/foo {"username":"foo","update_time":1675414313,"create_time":1674009211,"plugins":{"basic-auth":{"username":"foo","password":"bar"}} }

हम देख सकते हैं कि password फ़ील्ड सादे पाठ में संग्रहीत है, और इसे आसानी से समझौता किया जा सकता है

जब डेटा एन्क्रिप्शन सक्षम है

  1. config.yaml में data_encryption सक्षम करें:
apisix: data_encryption: enable: true keyring: -edd1c9f0985e76a2
  1. डेटा एन्क्रिप्शन का समर्थन करने वाले प्लगइन्स सक्षम करें, यहां हम basic-auth का उदाहरण लेते हैं
curl http://127.0.0.1:9180/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "username": "foo", "plugins": { "basic-auth": { "username": "foo", "password": "bar" } } }'
  1. प्लगइन का परीक्षण करें
curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "methods": ["GET"], "uri": "/get", "plugins": { "basic-auth": {} }, "upstream": { "type": "roundrobin", "nodes": { "httpbin.org": 1 } } }'

पहुंच सफल

curl -i -ufoo:bar http://127.0.0.1:9080/get HTTP/1.1 200 OK ...

पहुंच विफल, पासवर्ड त्रुटि

curl -i -ufoo:test http://127.0.0.1:9080/get HTTP/1.1 401 Unauthorized ... {"message":"Invalid user authorization"}

प्लगइन सही ढंग से कार्य कर रहा है

  1. etcd में संवेदनशील डेटा की स्थिति
etcdctl get /apisix/consumers/foo {"create_time":1674009211,"update_time":1674009211,"plugins":{"basic-auth":{"password":"+kOEVUuRc5rC5ZwvvAMLwg=","username":"foo"}},"username": "foo"}

हम देख सकते हैं कि password फ़ील्ड सफलतापूर्वक एन्क्रिप्ट हो गया है, यहां तक कि अगर डेटा लीक हो जाता है, तो हैकर्स इसका उपयोग नहीं कर सकते हैं।

सारांश

API गेटवे में बहुत सारा संवेदनशील डेटा होता है, इसलिए डेटा की सुरक्षा के लिए प्रभावी उपाय करना आवश्यक है। यह लेख APISIX को एक उदाहरण के रूप में उपयोग करता है और दिखाता है कि Global Data Encryption फ़ंक्शन के साथ संवेदनशील डेटा की सुरक्षा कैसे की जाती है ताकि यह सुनिश्चित किया जा सके कि सादे पाठ में संग्रहीत किसी भी संवेदनशील डेटा की अनुमति नहीं दी जाएगी, ताकि यदि etcd में संग्रहीत सभी डेटा समझौता हो जाता है, तो भी संवेदनशील डेटा लीक नहीं होगा, जिससे APISIX की सुरक्षा प्रभावी ढंग से बढ़ जाती है।

साथ ही, संवेदनशील डेटा को एन्क्रिप्ट करने के अलावा, APISIX संवेदनशील जानकारी को सीधे तीसरे पक्ष की सेवाओं में रखने का भी समर्थन करता है, जिसे Secret Manager कहा जाता है, जो सुरक्षा को और बेहतर बनाता है।

मुझे आशा है कि यह लेख आपको API गेटवे में संवेदनशील डेटा की सुरक्षा और व्यवसायों में सूचना सुरक्षा सुनिश्चित करने के बारे में अधिक जानने में मदद करेगा।

Tags: