मैन-इन-द-मिडिल (एमआईटीएम) हमले वेब सुरक्षा के लिए एक महत्वपूर्ण खतरा पैदा करते हैं। इन हमलों में, एक दुर्भावनापूर्ण अभिनेता क्लाइंट और सर्वर के बीच संचार को बाधित करता है, जिससे उन्हें डेटा को छिपाने, हेरफेर करने या चोरी करने की अनुमति मिलती है। यह ब्लॉग यह पता लगाएगा कि जावास्क्रिप्ट अनुप्रयोगों के संदर्भ में एमआईटीएम हमले कैसे काम करते हैं और इन खतरों के खिलाफ आपके एप्लिकेशन को सुरक्षित करने के लिए व्यावहारिक कदम प्रदान करते हैं।
मैन-इन-द-मिडिल हमला तब होता है जब एक हमलावर गुप्त रूप से दो पक्षों के बीच संदेशों को रोकता है और प्रसारित करता है, जो मानते हैं कि वे एक-दूसरे के साथ सीधे संचार कर रहे हैं। इस अवरोधन से संवेदनशील डेटा, जैसे लॉगिन क्रेडेंशियल, वित्तीय जानकारी और व्यक्तिगत विवरण तक अनधिकृत पहुंच हो सकती है।
MitM हमलों को विभिन्न तरीकों से अंजाम दिया जा सकता है, जिनमें शामिल हैं:
1. डीएनएस स्पूफिंग: डीएनएस स्पूफिंग में उपयोगकर्ताओं को दुर्भावनापूर्ण वेबसाइटों पर पुनर्निर्देशित करने के लिए डीएनएस रिकॉर्ड को बदलना शामिल है।
उदाहरण:
मान लीजिए कि आपने अपना Node.js और React ऐप xyz.com पर तैनात किया है। एक हैकर DNS रिकॉर्ड्स में हेरफेर कर सकता है ताकि जब उपयोगकर्ता xyz.com पर जाने का प्रयास करें, तो उन्हें एक दुर्भावनापूर्ण साइट पर रीडायरेक्ट कर दिया जाए जो आपके जैसी ही दिखती है।
डीएनएस स्पूफिंग को रोकने के लिए कदम:
# Example of enabling DNSSEC on your domain using Cloudflare # Visit your domain's DNS settings on Cloudflare # Enable DNSSEC with a single click
2. आईपी स्पूफ़िंग
आईपी स्पूफ़िंग में नेटवर्क ट्रैफ़िक को रोकने के लिए एक विश्वसनीय आईपी पता होने का दिखावा करना शामिल है।
उदाहरण:
एक हमलावर आपके क्लाइंट और आपके Node.js सर्वर के बीच ट्रैफ़िक को रोकने के लिए आपके सर्वर के आईपी पते को धोखा दे सकता है।
आईपी स्पूफिंग को रोकने के लिए कदम:
// Example of IP whitelisting in Express.js const express = require('express'); const app = express(); const allowedIPs = ['123.45.67.89']; // Replace with your trusted IPs app.use((req, res, next) => { const clientIP = req.ip; if (!allowedIPs.includes(clientIP)) { return res.status(403).send('Forbidden'); } next(); }); // Your routes here app.listen(3000, () => { console.log('Server is running on port 3000'); });
3. HTTPS स्पूफिंग
HTTPS स्पूफिंग में एक सुरक्षित वेबसाइट का प्रतिरूपण करने के लिए नकली SSL प्रमाणपत्र बनाना शामिल है।
उदाहरण:
एक हमलावर xyz.com के लिए एक नकली SSL प्रमाणपत्र बना सकता है और एक दुर्भावनापूर्ण सर्वर स्थापित कर सकता है जो आपके वैध सर्वर के समान दिखता है।
एचटीटीपीएस स्पूफिंग को रोकने के लिए कदम:
// Example of implementing HPKP in Express.js const helmet = require('helmet'); const app = express(); app.use(helmet.hpkp({ maxAge: 60 * 60 * 24 * 90, // 90 days sha256s: ['yourPublicKeyHash1', 'yourPublicKeyHash2'], // Replace with your public key hashes includeSubDomains: true })); // Your routes here app.listen(3000, () => { console.log('Server is running on port 3000'); });
4. वाई-फ़ाई जासूसी
वाई-फाई इव्सड्रॉपिंग में असुरक्षित वाई-फाई नेटवर्क पर प्रसारित डेटा को इंटरसेप्ट करना शामिल है।
उदाहरण:
एक हैकर एक दुर्भावनापूर्ण वाई-फाई हॉटस्पॉट स्थापित कर सकता है और उपयोगकर्ताओं और आपके सर्वर के बीच संचारित डेटा को तब रोक सकता है जब वे इससे कनेक्ट होते हैं।
वाई-फाई छिपकर बातें सुनने से रोकने के लिए कदम:
// Example of enforcing HTTPS in Express.js const express = require('express'); const app = express(); app.use((req, res, next) => { if (req.headers['x-forwarded-proto'] !== 'https') { return res.redirect(['https://', req.get('Host'), req.url].join('')); } next(); }); // Your routes here app.listen(3000, () => { console.log('Server is running on port 3000'); });
1. हर जगह HTTPS का उपयोग करें
सुनिश्चित करें कि क्लाइंट और सर्वर के बीच सभी संचार HTTPS का उपयोग करके एन्क्रिप्ट किए गए हैं। निःशुल्क एसएसएल/टीएलएस प्रमाणपत्र प्राप्त करने के लिए लेट्स एनक्रिप्ट जैसे टूल का उपयोग करें।
// Enforce HTTPS in Express.js const express = require('express'); const app = express(); app.use((req, res, next) => { if (req.headers['x-forwarded-proto'] !== 'https') { return res.redirect(['https://', req.get('Host'), req.url].join('')); } next(); }); // Your routes here app.listen(3000, () => { console.log('Server is running on port 3000'); });
2. एसएसएल/टीएलएस प्रमाणपत्रों को मान्य करें
एसएसएल/टीएलएस प्रमाणपत्रों के लिए मजबूत सत्यापन का उपयोग करें और उत्पादन में स्व-हस्ताक्षरित प्रमाणपत्रों से बचें।
3. सामग्री सुरक्षा नीति (सीएसपी) लागू करें
उन स्रोतों को प्रतिबंधित करने के लिए सीएसपी हेडर का उपयोग करें जिनसे आपका एप्लिकेशन संसाधनों को लोड कर सकता है, जिससे दुर्भावनापूर्ण स्क्रिप्ट इंजेक्शन का जोखिम कम हो जाता है।
// Setting CSP headers in Express.js const helmet = require('helmet'); app.use(helmet.contentSecurityPolicy({ directives: { defaultSrc: ["'self'"], scriptSrc: ["'self'", 'trusted.com'], styleSrc: ["'self'", 'trusted.com'] } }));
4. सुरक्षित कुकीज़ का उपयोग करें
सुनिश्चित करें कि कुकीज़ को क्लाइंट-साइड स्क्रिप्ट के माध्यम से एक्सेस होने से रोकने के लिए सुरक्षित और HttpOnly के रूप में चिह्नित किया गया है।
// Setting secure cookies in Express.js app.use(require('cookie-parser')()); app.use((req, res, next) => { res.cookie('session', 'token', { secure: true, httpOnly: true }); next(); });
5. एचएसटीएस (HTTP सख्त परिवहन सुरक्षा) लागू करें
ब्राउज़रों को केवल HTTPS पर आपके सर्वर के साथ संचार करने के लिए बाध्य करने के लिए HSTS का उपयोग करें।
// Setting HSTS headers in Express.js const helmet = require('helmet'); app.use(helmet.hsts({ maxAge: 31536000, // 1 year includeSubDomains: true, preload: true }));
मैन-इन-द-मिडिल हमलों के वेब अनुप्रयोगों के लिए विनाशकारी परिणाम हो सकते हैं, जिससे डेटा चोरी और इंजेक्शन हमले हो सकते हैं। यह समझकर कि ये हमले कैसे काम करते हैं और मजबूत सुरक्षा उपायों को लागू करके, आप अपने जावास्क्रिप्ट अनुप्रयोगों की सुरक्षा कर सकते हैं और अपने उपयोगकर्ताओं के डेटा की सुरक्षा सुनिश्चित कर सकते हैं। मिटएम हमलों के जोखिमों को कम करने के लिए हमेशा HTTPS का उपयोग करें, SSL/TLS प्रमाणपत्रों को मान्य करें, CSP लागू करें, कुकीज़ सुरक्षित करें और HSTS लागू करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3