एपीआई सुरक्षा और अनुरोध फ़िल्टरिंग
1) आपको इसकी आवश्यकता क्यों है
एपीआई - बाहरी और आंतरिक मंच सीमा। अनुरोधों के प्रमाणीकरण, प्राधिकरण, सत्यापन या सामान्यीकरण में कोई त्रुटि कमजोरियों (बोला/आईडीओआर, इंजेक्शन, एसएसआरएफ, बड़े पैमाने पर गणना, संसाधन थकावट) के शोषण में बदल जाती है। उद्देश्य: औसत दर्जे के एसएलओ और जोखिम नियंत्रण के साथ परिधि से व्यावसायिक नियमों तक रक्षा-गहराई बनाएं।
2) एपीआई इन्वेंटरी और वर्गीकरण
एपीआई निर्देशिका: सभी सेवाओं/समापन बिंदुओं, मालिकों, संस्करणों, ग्राहक प्रकारों (वेब, मोबाइल, भागीदार), मोड (सार्वजनिक/पार्टनर/आंतरिक), पीआईआई/वित्तीय डेटा का पंजीकरण।
आलोचना: उच्च (वित्तीय लेनदेन/प्राधिकरण), मध्यम (प्रोफ़ाइल रीडिंग), कम (सार्वजनिक निर्देशिका)।
हमला सतह: REST, GraphQL, gRPC, WebSocket, webhooks।
स्थिति: prod/staging/प्रायोगिक, पदावनत नीति, टोकन/कुंजी जीवनकाल।
छाया/परित्यक्त एपीआई: निर्देशिका के साथ तुलना में इनग्रेस्ट लॉग, ईबीपीएफ/सर्विस मेश टेलीमेट्री के माध्यम से पता लगाना।
3) धमकी मॉडल (संक्षिप्त)
पहचान: टोकन अपहरण, सत्र प्रतिबद्ध, MitM, रीप्ले।
प्राधिकरण: BOLA/IDOR, क्षैतिज/ऊर्ध्वाधर वृद्धि।
इनपुट: इंजेक्शन (SQL/NoSQL/LDAP), टेम्पलेट/क्रमांकन, पथ ट्रैवर्सल, हेडर।
ट्रैफ़िक: DDoS/L7 बाढ़, धीमे अनुरोध, प्रेत रिट्रेज़।
एकीकरण: यूआरएल पैरामीटर, फ़ाइल/स्कैन डाउनलोड के माध्यम से असुरक्षित वेबहूक, एसएसआरएफ।
तर्क: बोनस का दुरुपयोग, रेसिंग, असंगति की असंगति।
4) बुनियादी सुरक्षा मानक (न्यूनतम)
1. टीएलएस 1। 2 + हर जगह; एचएसटीएस; कमजोर सिफर अक्षम हैं।
2. प्रमाणीकरण: OAuth2/OIDC क्लाइंट, mTLS/या HMAC - सेवा-से-सेवा के लिए।
3. प्राधिकरण: केंद्रीकृत पीडीपी (आरबीएसी/एबीएसी), वस्तु स्तर निरीक्षण (बोला)।
4. सत्यापन: सख्त योजना (OpenAPI/JSON Schema/Protobuf), अतिरिक्त क्षेत्रों के साथ विफलता।
5. सीमाएँ: दर/कोटा + फट, प्रति-ग्राहक/प्रति-आईपी/प्रति-टोकन।
6. लेखन संचालन पर पहचान, पुनरावृत्ति/दौड़के खिलाफ सुरक्षा।
7. WAF/गेटवे फ़िल्टरिंग: पथ/हेडर सामान्यीकरण, इनकार सूची, पेलोड-एंटी-पैटर्न ब्लॉक।
8. राज: केएमएस/वॉल्ट, कुंजी/प्रमाणपत्र घुमाव, रिसाव नियंत्रण।
9. अवलोकन: ट्रेसिंग, सुरक्षा ऑडिट लॉग (कौन/क्या/कब/परिणाम), अलर्ट।
10. प्रक्रियाएं: प्लेबुक की घटनाएं, परीक्षण के मामले और नियमित पेंटेस्ट/डीएएसटी।
5) प्रमाणीकरण और टोकन प्रबंधन
OAuth2/OIDC: अल्पकालिक पहुंच टोकन, OIDC के अनुसार सख्ती से ताज़ा करें; दर्शक/जारीकर्ता/exp गेटवे पर जाँच की जाती है।
JWT: RS256/ES256; क्लैम का न्यूनतम सेट; 'nbf/exp/aud' की आवश्यकता होती है; PII भंडारण का निषेध। JWKS के माध्यम से प्रमुख रोटेशन।
DPoP/PoP: रीप्ले/अपहरण के जोखिम को कम करने के लिए क्लाइंट कुंजी को बाइंड टोकन।
आंतरिक प्रणालियों और विश्वसनीय भागीदारों (CN/SAN योग्यता, CRL/OCSP) के लिए mTLS।
HMAC (हस्ताक्षर): नियतात्मक विहिताकरण (विधि + पथ + टाइमस्टैम्प + नॉन + बॉडी-हैश); वैध समय खिड़की (। 30)।
ब्राउज़र सत्र: SemSite = सख्त/शिथिल, Httponly, सुरक्षित; CSRF सुरक्षा (डबल सबमिट/स्टेट टोकन)।
क्लाइंट भंडारण: मोबाइल - सुरक्षित भंडारण (कीचेन/कीस्टोर), डिबग सुरक्षा, पिनिंग प्रमाणपत्र पर।
6) प्राधिकरण (BOLA-first)
ऑब्जेक्ट-स्तर: प्रत्येक ऑपरेशन एक विशिष्ट संसाधन (संसाधन स्वामी/स्कोप/विशेषताओं) के अधिकार की जांच करता है।
RBAC/ABAC: भूमिकाएँ + विशेषताएं (देश, खंड, जोखिम सीमा, KYC स्तर)
नीतियां: इनकार-दर-डिफ़ॉल्ट; स्पष्ट अनुमति; नकारात्मक मामलों के लिए नीति संस्करण परीक्षण।
निर्णय कैश: बदलती भूमिकाओं/खंडों में अनुकूली टीटीएल + विकलांगता।
7) फ़िल्टरिंग और सामान्यीकरण अनुरोध (गेटवे/WAF पर)
सामान्यीकरण: बार-बार स्लैश का संपीड़न, निषेध '../', एक बार डिकोडिंग, ट्रिमिंग रिक्त स्थान/शून्य बाइट्स।
शीर्षिका: अनुमति-सूची ('होस्ट', 'कंटेंट-टाइप', 'स्वीकार करें', 'प्राधिकरण', 'दिनांक', 'आइडेम्पोटेंसी-कुंजी', आवश्यक ट्रेस हेडर).
विधियाँ: एक शरीर के बिना 'GET/HEAD'; 'POST/PUT/PATCH' - 'एप्लिकेशन/जेसन' प्रकार के साथ या कड़ाई से अनुमति है।
आयाम: अधिकतम-शरीर, अधिकतम-हेडर, अधिकतम-पथ; प्रारंभिक-अस्वीकार 413/431।
फ़ाइलें: माइम वेलिडेटर, एंटीवायरस/सैंडबॉक्स, सक्रिय सामग्री निषेध, छवि रीसाइक्लिंग/स्वच्छता।
URL redirects/fetchi: SSRF ब्लॉक (निजी रेंज/मेटाडेटा आईपी से इनकार करें, स्कीमा केवल 'https', अनुमति-सूची डोमेन)।
SQL/NoSQL पैटर्न: WAF नियम-सेट + सर्वर पैरामेटराइजेशन के माध्यम से इंजेक्शन हस्ताक्षर।
उदाहरण शीर्षक नीति (छद्म प्रारूप)
deny_headers: ["X-Forwarded-Proto","X-Original-URL","Proxy-Connection","Destination"]
require_headers: ["Authorization" (для protected), "Content-Type" (для write)]
strip_duplicates: true max_header_count: 32 max_header_size: 16KB
8) सीमा, कोटा और एंटीबॉट सुरक्षा
दर सीमित: टोकन-बाल्टी/लीकी-बाल्टी; स्तर - प्रति आईपी, प्रति एपीआई कुंजी, प्रति उपयोगकर्ता, प्रति org।
कोटा: दैनिक/मासिक, लिखने/व्यापक तरीकों के लिए अलग।
अनुकूलता: विसंगतियों के तहत गतिशील कसना (अचानक फटना/साख भराई)।
धीमी गति से लोरिस/धीमी गति से पोस्ट: पढ़ें/जीवित रखें, समवर्ती कनेक्शन प्रतिबंध।
एंटीबॉट: डिवाइस-फिंगरप्रिंट, व्यवहार संकेत, बढ़े हुए जोखिम के लिए प्रूफ-ऑफ-वर्क/कैप्चा, टोरस/प्रॉक्सी नेटवर्क की सूची।
आईपी नियंत्रण: भू/एएसएन फिल्टर, "गंदे" सबनेट्स की सूची से इनकार करना, भागीदारों/व्यवस्थापक पैनलों के लिए सूचियों की अनुमति देना।
9) इनपुट डेटा और सर्किट का सत्यापन
असफल-बंद: योजना को विफल करने वाली सब कुछ 400 है। अतिरिक्त क्षेत्र - अस्वीकार क
प्रकार/रेंज: संख्या, तिथि (UTC/ISO-8601), एनम मान, लाइन लंबाई, regexps।
JSON-गुणवत्ता: अधिकतम-घोंसले का शिकार, बड़े सरणियों/कुंजियों का निषेध, विहित क्रम (वैकल्पिक)।
व्यावसायिक सत्यापन: 'आइडेम्पोटेंसी-की' के अनुसार पहचान; धोखाधड़ी विरोधी नियम (ऑपरेशन आवृत्ति सीमा, राशि कैप)।
ग्राफक्यूएल: गहराई/जटिलता सीमा, अनुमति-सूचीबद्ध प्रश्न, प्रति क्षेत्र प्राधिकरण।
gRPC: सख्त प्रोटोबुफ योजनाएं, अनिवार्य क्षेत्र, संदेश आकार की सीमा।
10) वेबहूक और बाहरी कॉल
हस्ताक्षर: टाइमस्टैम्प/नॉन के साथ एचएमएसी; प्रसंस्करण से पहले सत्यापन; विंडो +/- 5 मिनट।
वितरण: घातीय ठहराव और झटके के साथ रिट्राई; अधिकतम प्रयास; ईवेंट आईडी डीडुप्लिकेशन
विक्रेता आईपी अनुमति-सूची अलग सबडोमेन/पथ; न्यूनतम होस्टिंग स्टैक।
उत्तर: 2xx केवल एक सफल आंतरिक रिकॉर्डिंग के बाद; अन्यथा 4xx/5xx स्पष्ट कोड के साथ।
निवर्तमान SSRF नियंत्रण: जब कॉलबैक URL - अनुमति-सूची, निजी पते से इनकार करें।
11) एन्क्रिप्शन और गुप्त प्रबंधन
चैनल में: टीएलएस 1। 2+/1. 3, पिनिंग, सख्त सिफर नीति।
अकेले: DB/ऑब्जेक्ट स्टोरेज एन्क्रिप्शन, PII/वित्तीय डेटा के लिए अलग कुंजी।
केएमएस/वॉल्ट: रहस्यों का केंद्रीकृत भंडारण, लघु टीटीएल, स्वचालित रोटेशन।
कुंजी और प्रमाणपत्र: वातावरण के लिए अलग; मुद्दों का ऑडिट; लॉग के लिए आउटपुट का निषेध।
टोकन-आत्मनिरीक्षण: ऑफ़ लाइन निरसन सूची, लघु 'एक्सपी'।
12) अवलोकन, लेखा परीक्षा और प्रतिक्रिया
सुरक्षा लॉग: प्रमाणीकरण प्रयास/सफलताएं, प्राधिकरण विफलताएं, दर-सीमा घटनाएं, भूमिका/सीमा परिवर्तन।
ट्रेसिंग: सहसंबंध-आईडी एंड-टू-एंड; बाहरी कॉल ट्रेसिंग।
मेट्रिक्स: आरपीएस, P95/P99 विलंबता, कोड द्वारा त्रुटि-दर, 401/403/429 का हिस्सा, हिट-दर सीमा, विसंगतियाँ।
अलर्ट: 401/403/429 स्पाइक्स, 5xx वृद्धि, लगातार पहचान संघर्ष, QL-जटिलता ग्राफ के तेज विचलन।
प्लेबुक: कुंजी/टोकन अवरुद्ध करना, जल्दी से वापस नियमों को रोल करना, इनकार सूची को गर्म करना, सेवा मालिकों को सूचित करना।
फोरेंसिक: विवादास्पद पेलोड का संरक्षण (सुरक्षित पीआईआई संपादन के साथ), एक अलग स्टैंड पर फिर से खेलना।
13) ग्राहक को त्रुटियां और जवाब
वर्दी त्रुटि प्रारूप (कोड, संदेश, ट्रेस-आईडी, श्रेणी).
कोई लीक नहीं: SQL, तालिका नाम, आंतरिक idies का खुलासा न करें; "क्यों नहीं" के बजाय 403।
कोड: 400 (सत्यापन), 401 (कोई प्रमाणीकरण नहीं), 403 (कोई अधिकार नहीं), 404 (मुखौटा अस्तित्व), 405/406, 413/429, 500/503।
रीट्री-संकेत: для 429 - 'रीट्री-आफ्टर'; पहचान के लिए - एक ही कुंजी के साथ पुनरावृत्ति पर सलाह।
14) वास्तुशिल्प पैटर्न
जीरो-ट्रस्ट: एमटीएलएस, सभी सेवाओं के बीच स्पष्ट प्राधिकरण, न्यूनतम विशेषाधिकार।
एपीआई गेटवे + डब्ल्यूएएफ + सेवा जाल: कर्तव्यों का पृथक्करण - परिधि, एल 7 नीतियां, आंतरिक प्रमाणीकरण।
कैनरी/ब्लू-ग्रीन: पर्यवेक्षण के साथ चरणों में नए निस्पंदन नियमों को रोल आउट करें।
असफल-बंद: महत्वपूर्ण लेखन के लिए, गलत ऑपरेशन की अनुमति देने की तुलना में सुरक्षित रूप से मना करना बेहतर है।
बैकप्रेशर: कतारें/बफर्स, सर्किट ब्रेकर, टाइमआउट/बजट।
15) व्यावहारिक नियमों के उदाहरण (छद्म कॉन्फ़िग)
15. 1 रास्तों और तरीकों को सीमित करना
/api/v1/payments:
allow_methods: [POST, GET]
auth: oauth2_required body:
content_type: application/json max_size: 256KB
15. 2 पहचान
require_header: Idempotency-Key (UUIDv4)
store: redis:ttl=24h on_duplicate: return_previous_result
15. 3 अनुरोध हस्ताक्षर (HMAC)
signature:
scheme: "HMAC-SHA256"
required_headers: ["X-Signature","X-Timestamp","X-Nonce"]
allowed_drift: 300s string_to_sign: METHOD + "\n" + PATH + "\n" + SHA256(body) + "\n" + X-Timestamp + "\n" + X-Nonce
15. 4 SSRF सुरक्षा
outbound_http:
allowlist_domains: ["kyc. partner. com","psp. example. net"]
block_private_ip: true require_https: true
15. 5 ग्राफ़क्यूएल सीमा
graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true
16) iGaming/वित्त की विशिष्टताएँ
खंड सीमाएं: CCM/देश/जोखिम प्रोफ़ाइल के आधार पर।
समय खिड़कियां: जमा/निकासी आवृत्ति नियम, लेनदेन के बीच "ठंडा"।
बोनस विरोधी दुरुपयोग: खाते/उपकरण/आईपी/भुगतान उपकरण पर लगातार ताले।
नियामक आवश्यकताओं का लेखा परीक्षा: कार्यों और निर्णयों के लॉग का भंडारण (केवाईसी/एएमएल), प्रतिधारण अवधि, अपरिवर्तित लॉग।
17) प्रोड रेडी चेकलिस्ट
- पूर्ण एपीआई निर्देशिका और डेटा प्रवाह मानचित्र (पीआईआई/वित्तीय टैग)।
- OpenAPI/Protobuf स्कीमा, CI में सत्यापन परीक्षण और अनुबंध।
- mTLS/HMAC/OAuth2 कॉन्फ़िगर किया गया; छोटा टीटीएल टोकन; कुंजी घुमाव।
- बोला परीक्षण और नकारात्मक प्राधिकरण मामले; केंद्रीकृत पीडीपी।
- सीमाएं/कोटा/एंटी-बॉट, धीमी-लॉरिस से सुरक्षा; आईपी फ़िल्टर।
- WAF/गेटवे सामान्यीकरण नियम, एंटी-इंजेक्शन हस्ताक्षर।
- लेखन कार्यों की पहचान; रिप्ले के खिलाफ सुरक्षा।
- वेबहुक हस्ताक्षर और अनुमति-सूची; पृथक समापन बिंदु।
- केएमएस/तिजोरी में रहस्य; एन्क्रिप्टेड स्टोरेज; विसंगतियों के लिए अलर्ट।
- डैशबोर्ड, अलर्ट, ऑडिट लॉग; प्लेबुक घटनाओं पर काम किया।
- नियमित पेन्टेस्ट/DAST/SAST, भेद्यता ट्रैक और पैच डाउनलोड।
18) एंटीपैटर्न (जो संभव नहीं है)
इसकी परिधि पर कठोर TLS के बिना 'X-Forward-' पर भरोसा करें।
मनमाना 'कंटेंट-टाइप' और "सॉफ्ट" JSON योजनाओं को स्वीकार करें।
रिकॉल/रोटेशन के बिना लंबे समय तक रहने वाले JWT।
केंद्रीकृत नीतियों के बिना कोड में भूमिकाएं और व्यावसायिक नि
रहस्य/पीआईआई के साथ लॉग; विस्तृत 500-संदेश बाहर की ओर।
"अस्थायी" सीमा और प्राधिकरण के बिना समापन बिंदु खोलते हैं।
19) वर्शनिंग और डिप्रेकेट
पथ/शीर्षक में संस्करण; समर्थन नीति (जैसे) N-2)।
घोषणाएं: मूल्यह्रास के लिए समय सीमा, पुराने संस्करणों के उपयोग की निगरानी, नियंत्रित शटडाउन।
संगतता: ग्राहक/साझेदार अनुबंध और परीक्षण मैट्रिसेस।
20) सुरक्षा परीक्षण
योजनाओं/नीतियों के अनुबंध परीक्षण, फजिंग इनपुट, नकारात्मक उत्साह।
सीमा/कोटा, सुरक्षा परीक्षण (अराजकता यातायात) के साथ प्रदर्शन प्रोफाइल
रेड-टीम/बग-बाउंटी: बोला स्क्रिप्ट, एसएसआरएफ, हस्ताक्षर/रिप्ले, ग्राफ़क्यूएल-जटिलता।
टीएल; डीआर
1. एपीआई निर्देशिका + सख्त योजनाएँ।
2. OAuth2/OIDC ग्राहकों के लिए, mTLS/HMAC अंदर।
3. बोला परिधि प्रति संसाधन (ABAC/RBAC)।
4. फ़िल्टरिंग: पथ/शीर्षकों का सामान्यीकरण, सीमा, WAF नियम।
5. पहचान, हस्ताक्षर, रीप्ले/एसएसआरएफ सुरक्षा।
6. केएमएस/वॉल्ट और गुप्त रोटेशन।
7. अवलोकन, अलर्ट, प्लेबुक।