"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट अनुप्रयोगों में मैन-इन-द-मिडिल (एमआईटीएम) हमलों को रोकने के लिए कदम

जावास्क्रिप्ट अनुप्रयोगों में मैन-इन-द-मिडिल (एमआईटीएम) हमलों को रोकने के लिए कदम

2024-08-01 को प्रकाशित
ब्राउज़ करें:457

Steps to Preventing Man-in-the-Middle (MitM) Attacks in JavaScript Applications

मैन-इन-द-मिडिल (एमआईटीएम) हमले वेब सुरक्षा के लिए एक महत्वपूर्ण खतरा पैदा करते हैं। इन हमलों में, एक दुर्भावनापूर्ण अभिनेता क्लाइंट और सर्वर के बीच संचार को बाधित करता है, जिससे उन्हें डेटा को छिपाने, हेरफेर करने या चोरी करने की अनुमति मिलती है। यह ब्लॉग यह पता लगाएगा कि जावास्क्रिप्ट अनुप्रयोगों के संदर्भ में एमआईटीएम हमले कैसे काम करते हैं और इन खतरों के खिलाफ आपके एप्लिकेशन को सुरक्षित करने के लिए व्यावहारिक कदम प्रदान करते हैं।

मैन-इन-द-मिडिल अटैक क्या है?

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

मिटएम हमले कैसे काम करते हैं

MitM हमलों को विभिन्न तरीकों से अंजाम दिया जा सकता है, जिनमें शामिल हैं:

1. डीएनएस स्पूफिंग: डीएनएस स्पूफिंग में उपयोगकर्ताओं को दुर्भावनापूर्ण वेबसाइटों पर पुनर्निर्देशित करने के लिए डीएनएस रिकॉर्ड को बदलना शामिल है।

उदाहरण:
मान लीजिए कि आपने अपना Node.js और React ऐप xyz.com पर तैनात किया है। एक हैकर DNS रिकॉर्ड्स में हेरफेर कर सकता है ताकि जब उपयोगकर्ता xyz.com पर जाने का प्रयास करें, तो उन्हें एक दुर्भावनापूर्ण साइट पर रीडायरेक्ट कर दिया जाए जो आपके जैसी ही दिखती है।

डीएनएस स्पूफिंग को रोकने के लिए कदम:

  • सुरक्षा की एक अतिरिक्त परत जोड़ने के लिए DNSSEC (डोमेन नाम सिस्टम सुरक्षा एक्सटेंशन) का उपयोग करें।
  • अपने DNS रिकॉर्ड की नियमित रूप से निगरानी करें और अपडेट करें।
  • प्रतिष्ठित डीएनएस प्रदाताओं का उपयोग करें जो डीएनएस स्पूफिंग के खिलाफ सुरक्षा सुविधाएं प्रदान करते हैं।
# 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 प्रमाणपत्र बना सकता है और एक दुर्भावनापूर्ण सर्वर स्थापित कर सकता है जो आपके वैध सर्वर के समान दिखता है।

एचटीटीपीएस स्पूफिंग को रोकने के लिए कदम:

  • अपने डोमेन के लिए जारी किए गए सभी प्रमाणपत्रों की निगरानी और लॉग इन करने के लिए प्रमाणपत्र पारदर्शिता का उपयोग करें।
  • अपने वेब सर्वर की क्रिप्टोग्राफ़िक सार्वजनिक कुंजी को HTTPS वेबसाइटों के एक निश्चित सेट के साथ जोड़ने के लिए HTTP सार्वजनिक कुंजी पिनिंग (HPKP) लागू करें।
// 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. वाई-फ़ाई जासूसी
वाई-फाई इव्सड्रॉपिंग में असुरक्षित वाई-फाई नेटवर्क पर प्रसारित डेटा को इंटरसेप्ट करना शामिल है।

उदाहरण:
एक हैकर एक दुर्भावनापूर्ण वाई-फाई हॉटस्पॉट स्थापित कर सकता है और उपयोगकर्ताओं और आपके सर्वर के बीच संचारित डेटा को तब रोक सकता है जब वे इससे कनेक्ट होते हैं।

वाई-फाई छिपकर बातें सुनने से रोकने के लिए कदम:

  • उपयोगकर्ताओं को केवल सुरक्षित वाई-फ़ाई नेटवर्क से कनेक्ट होने के लिए प्रोत्साहित करें।
  • क्लाइंट और सर्वर के बीच प्रसारित डेटा की सुरक्षा के लिए एंड-टू-एंड एन्क्रिप्शन (E2EE) लागू करें।
  • क्लाइंट और अपने सर्वर के बीच ट्रैफ़िक को एन्क्रिप्ट करने के लिए वीपीएन का उपयोग करें।
// 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 लागू करें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rigalpatel001/steps-to-preventing-man-in-the-middle-mitm-attacks-in-javascript-applications-3ah4?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3