WAF और Lambda@Edge के साथ CloudFront
सामान्य वेब हमलों को रोकने के लिए AWS WAF जोड़िए और Lambda@Edge से एज पर हल्के अनुरोध-प्रतिक्रिया रूपांतरण चलाइए।
WAF और Lambda@Edge के साथ CloudFront, CoddyKit पर AWS Solutions Architect का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह AWS Solutions Architect सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
AWS WAF से CloudFront की सुरक्षा
AWS WAF (Web Application Firewall) आपके CloudFront वितरण तक पहुँचने वाले HTTP/HTTPS अनुरोधों को फ़िल्टर और मॉनिटर करता है। अपने वितरण से WAF Web ACL जोड़कर, आप SQL इंजेक्शन, क्रॉस-साइट स्क्रिप्टिंग (XSS), हानिकारक बॉट और OWASP Top 10 हमलों जैसे सामान्य वेब शोषणों को मूल सर्वर तक पहुँचने से पहले रोक सकते हैं।
WAF CloudFront एज पर काम करता है। इसका अर्थ है कि दुर्भावनापूर्ण अनुरोध आपके ALB या अनुप्रयोग सर्वर तक पहुँचने के बजाय निकटतम एज स्थान पर अस्वीकार कर दिए जाते हैं। इससे आपके बैकएंड का भार घटता है और हमले हमलावर के और निकट रोक दिए जाते हैं।
# Associate a WAF Web ACL with a CloudFront distribution
aws wafv2 associate-web-acl \
--web-acl-arn arn:aws:wafv2:us-east-1:123456789:global/webacl/MyACL/12345 \
--resource-arn arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLEWAF नियम और नियम समूह
WAF Web ACL में क्रमबद्ध नियम और नियम समूह होते हैं। प्रत्येक अनुरोध की विशेषताओं से मिलान करके कोई कार्रवाई (Allow, Block, Count, CAPTCHA) करता है। नियमों का मूल्यांकन प्राथमिकता के क्रम में किया जाता है; मेल खाने वाले पहले नियम की कार्रवाई लागू होती है।
AWS प्रबंधित नियम समूह उपलब्ध कराता है—ये AWS और AWS Marketplace विक्रेताओं द्वारा बनाए और अनुरक्षित पूर्वनिर्मित नियम-समुच्चय हैं। AWS Managed Rules - Core Rule Set बिना किसी कॉन्फ़िगरेशन के OWASP Top 10 को कवर करता है। नए खतरे सामने आने पर AWS प्रबंधित नियम समूहों को अद्यतन करता है, जिससे आपका परिचालन भार कम होता है।
# Create a Web ACL with AWS Managed Core Rule Set
aws wafv2 create-web-acl \
--name MyCloudFrontACL \
--scope CLOUDFRONT \
--default-action Allow={} \
--rules '[{
"Name": "CoreRuleSet",
"Priority": 1,
"Statement": {
"ManagedRuleGroupStatement": {
"VendorName": "AWS",
"Name": "AWSManagedRulesCommonRuleSet"
}
},
"OverrideAction": {"None": {}},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "CoreRuleSet"
}
}]' \
--visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=MyACL \
--region us-east-1WAF दर सीमित करना और बॉट नियंत्रण
WAF में दर-आधारित नियम 5 मिनट की अवधि में प्रत्येक स्रोत IP से आए अनुरोधों की गिनती करते हैं। यदि कोई IP सीमा (जैसे, 5 मिनट में 2,000 अनुरोध) पार कर देता है, तो WAF उस IP से आने वाले अतिरिक्त अनुरोधों को तब तक रोकता है, जब तक दर कम न हो जाए। दर-आधारित नियम बलपूर्वक प्रवेश, क्रेडेंशियल भराई और सरल DDoS स्क्रैपिंग हमलों से रक्षा करते हैं।
AWS WAF Bot Control एक प्रबंधित नियम समूह है, जो ट्रैफ़िक को सत्यापित बॉट (Googlebot, Bingbot), डेटा-संग्राहक, मॉनिटरिंग उपकरण और मानव ट्रैफ़िक जैसी श्रेणियों में बाँटता है। आप प्रत्येक श्रेणी के लिए अलग कार्रवाई कॉन्फ़िगर कर सकते हैं—सर्च इंजन बॉट को अनुमति दें, अज्ञात बॉट को CAPTCHA से चुनौती दें और हानिकारक डेटा-संग्राहकों को अवरुद्ध करें।
WAF का दायरा: CLOUDFRONT बनाम REGIONAL
WAF Web ACL का दायरा या तो CLOUDFRONT (CloudFront के साथ उपयोग के लिए वैश्विक) या REGIONAL (किसी विशिष्ट Region में ALB, API Gateway, AppSync या Cognito User Pools के साथ उपयोग के लिए) होता है। CloudFront-दायरे वाले WAF ACL को us-east-1 Region में बनाना आवश्यक है, चाहे ट्रैफ़िक कहीं से भी आ रहा हो, क्योंकि CloudFront का प्रबंधन इसी Region से होता है।
यह परीक्षा में महत्वपूर्ण भ्रमकारी बिंदु है: यदि आप eu-west-1 में WAF Web ACL बनाकर उसे CloudFront से जोड़ने का प्रयास करते हैं, तो जोड़ना विफल हो जाता है। CloudFront WAF ACL हमेशा us-east-1 में बनाएँ।
Lambda@Edge का परिचय
Lambda@Edge आपको CloudFront घटनाओं की प्रतिक्रिया में CloudFront एज स्थानों पर Node.js या Python Lambda फ़ंक्शन चलाने देता है। फ़ंक्शन उपयोगकर्ता के अनुरोध के कुछ मिलीसेकंड के भीतर चलते हैं और ट्रैफ़िक को प्रसंस्करण के लिए केंद्रीय Region में वापस भेजने की आवश्यकता नहीं होती।
Lambda@Edge फ़ंक्शन us-east-1 Region में परिनियोजित किए जाते हैं, लेकिन विश्वभर के सभी CloudFront एज स्थानों पर अपने-आप दोहराए जाते हैं। इसका अर्थ है कि आपका कोड उपयोगकर्ता के जितना संभव हो उतना निकट चलता है, जिससे न्यूनतम विलंबता के साथ एज पर वैयक्तिकरण, प्रमाणीकरण और A/B परीक्षण संभव होते हैं।
Lambda@Edge के ट्रिगर बिंदु
Lambda@Edge फ़ंक्शन जीवनचक्र के चार बिंदुओं पर CloudFront अनुरोधों और प्रतिक्रियाओं को रोक सकते हैं:
- Viewer Request: CloudFront द्वारा दर्शक से अनुरोध प्राप्त करने के बाद और कैश जाँचने से पहले—प्रमाणीकरण, रीडायरेक्ट और हेडर में बदलाव के लिए उपयोग करें
- Origin Request: कैश मिस के बाद और मूल सर्वर को भेजने से पहले—URL पुनर्लेखन और मूल सर्वर के लिए कस्टम हेडर के लिए उपयोग करें
- Origin Response: मूल सर्वर से प्रतिक्रिया मिलने के बाद और उसे कैश करने से पहले—सुरक्षा हेडर जोड़ने और प्रतिक्रिया में बदलाव के लिए उपयोग करें
- Viewer Response: CloudFront द्वारा दर्शक को प्रतिक्रिया भेजने से पहले—प्रतिक्रिया हेडर जोड़ने या बदलने के लिए उपयोग करें
Lambda@Edge बनाम CloudFront Functions
AWS अलग-अलग समझौतों वाली एज कंप्यूटिंग की दो सुविधाएँ देता है:
- CloudFront Functions: मिलीसेकंड से भी कम निष्पादन, केवल JavaScript, बहुत कम लागत (लगभग 1/6 मूल्य), केवल Viewer Request और Viewer Response घटनाओं पर चलता है, 1 ms कंप्यूट समय सीमा, VPC/नेटवर्क अभिगम नहीं
- Lambda@Edge: 30 सेकंड तक (Viewer) / 30 सेकंड (Origin) निष्पादन समय, Node.js या Python, सभी चार ट्रिगर बिंदु, नेटवर्क अनुरोध करने की क्षमता और अनुरोध/प्रतिक्रिया के मुख्य भागों तक अभिगम
सरल हेडर बदलाव, URL सामान्यीकरण और कैश कुंजी की गणना के लिए CloudFront Functions का उपयोग करें। नेटवर्क कॉल, अधिक समय वाली गणना या मूल सर्वर-पक्ष के प्रसंस्करण वाले जटिल तर्क के लिए Lambda@Edge का उपयोग करें।
Lambda@Edge के उपयोग-प्रकरण
SAA-C03 परीक्षा में Lambda@Edge के सामान्य पैटर्न:
- एज पर JWT सत्यापन: Viewer Request फ़ंक्शन Authorization हेडर का सत्यापन करता है; अनधिकृत अनुरोध मूल सर्वर तक पहुँचे बिना 401 लौटाते हैं
- A/B परीक्षण: Viewer Request उपयोगकर्ताओं को कुकी के माध्यम से A या B समूह में बाँटता है और अनुरोध को
/a/page.htmlया/b/page.htmlप्राप्त करने के लिए बदलता है - URL पुनर्लेखन: Origin Request साफ़ URL को S3 में मौजूद वास्तविक फ़ाइल पथों में बदलता है
- गतिशील छवि आकार-परिवर्तन: Origin Request छवि प्रसंस्करण Lambda को अनुरोध भेजता है; Origin Response बदली हुई छवि को कैश करता है
- HTTP सुरक्षा हेडर: Viewer Response CSP, HSTS और X-Frame-Options हेडर जोड़ता है
Lambda@Edge की सीमाएँ
मानक Lambda की तुलना में Lambda@Edge पर कई प्रतिबंध हैं:
- फ़ंक्शन us-east-1 Region में होने चाहिए
- VPC समर्थन नहीं है (VPC में मौजूद संसाधनों तक पहुँच नहीं सकते)
- पर्यावरण चर नहीं हैं (कॉन्फ़िगरेशन को फ़ंक्शन कोड में शामिल करें या cold start के समय Parameter Store से प्राप्त करें)
- Lambda Layers का उपयोग नहीं कर सकते
- Viewer event की समय-सीमा: 5 seconds; Origin event की समय-सीमा: 30 seconds
- Deployment package के आकार की सीमा: 1 MB (Viewer events) / 50 MB (Origin events)
इन सीमाओं के कारण Lambda@Edge लंबे समय तक चलने वाली गणनाओं, VPC पर निर्भर कार्यों या हर deployment के लिए गतिशील कॉन्फ़िगरेशन की आवश्यकता वाले फ़ंक्शनों के लिए उपयुक्त नहीं है।
WAF + Lambda@Edge: स्तरित सुरक्षा
WAF और Lambda@Edge अलग-अलग सुरक्षा भूमिकाएँ निभाते हैं और एक-दूसरे के पूरक हैं:
- WAF: हस्ताक्षर-आधारित हमलों को रोकना (SQL injection, XSS, ज्ञात दुर्भावनापूर्ण उपयोगकर्ता, अनुरोध दर सीमित करना)—प्रबंधित नियम सामान्य हमलों को अपने-आप संभालते हैं
- Lambda@Edge: व्यवसाय-तर्क पर आधारित कस्टम सुरक्षा (JWT सत्यापन, session जाँच, access-token सत्यापन)—लचीला, लेकिन development प्रयास की आवश्यकता होती है
गहन सुरक्षा वाली वास्तुकला में: WAF पहले ज्ञात हमले के पैटर्न को रोकता है; Lambda@Edge व्यवसाय-स्तर के प्रमाणीकरण का सत्यापन करता है; CloudFront signed URLs/cookies सामग्री तक पहुँच सीमित करते हैं; OAC S3 को निजी रखता है। प्रत्येक स्तर स्वतंत्र रूप से किसी अलग प्रकार के हमले को रोकता है।
WAF और Lambda@Edge की निगरानी
इन टूल का उपयोग करके अपनी edge सुरक्षा परत की निगरानी करें:
- WAF logs: S3, CloudWatch Logs या Kinesis Firehose में पूरे अनुरोधों की logging सक्षम करें, ताकि देखा जा सके कि कौन-से नियम मेल खाते हैं और कौन-सा ट्रैफ़िक अवरुद्ध होता है
- WAF metrics: CloudWatch में प्रत्येक नियम के लिए
BlockedRequests,AllowedRequests,CountedRequests - Lambda@Edge logs: CloudWatch Logs समूह उन सभी Region में बनाए जाते हैं जहाँ फ़ंक्शन चलता है; Region के पार क्वेरी करने के लिए CloudWatch Insights का उपयोग करें
- CloudFront Real-Time Logs: तुरंत विश्लेषण के लिए access logs को Kinesis में stream करें (मानक access logs के विपरीत, जो हर कुछ मिनट में एक साथ भेजे जाते हैं)
त्वरित जाँच
इस पाठ में दिए गए AWS Solutions Architect (SAA-C03) के concepts की अपनी समझ जाँचें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: AWS WAF प्रबंधित और कस्टम नियम समूहों का उपयोग करके CloudFront edge पर सामान्य वेब हमलों को रोकता है, Lambda@Edge विश्वभर में CloudFront के चार trigger points पर कस्टम code चलाता है, और CloudFront Functions सरल viewer-side logic के लिए sub-millisecond execution प्रदान करते हैं। CloudFront के लिए WAF ACLs को us-east-1 में बनाया जाना चाहिए। आगे हम Application, Network और Gateway Load Balancers का अध्ययन करेंगे।
एआई शिक्षक के साथ AWS Solutions Architect सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “WAF और Lambda@Edge के साथ CloudFront” पाठ निःशुल्क है?
हाँ — AWS Solutions Architect अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “WAF और Lambda@Edge के साथ CloudFront” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“WAF और Lambda@Edge के साथ CloudFront” में मैं क्या सीखूँगा?
सामान्य वेब हमलों को रोकने के लिए AWS WAF जोड़िए और Lambda@Edge से एज पर हल्के अनुरोध-प्रतिक्रिया रूपांतरण चलाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AWS Solutions Architect का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AWS Solutions Architect शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AWS Solutions Architect शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“WAF और Lambda@Edge के साथ CloudFront” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AWS Solutions Architect पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AWS Solutions Architect पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- CloudFront वितरण और मूल स्रोत
- कैश व्यवहार और TTL सेटिंग
- हस्ताक्षरित URL, हस्ताक्षरित कुकी और भौगोलिक प्रतिबंध
- WAF और Lambda@Edge के साथ CloudFront