वर्डप्रेस XML-RPC वर्डप्रेस CMS में बेक्ड एक बहुत पुरानी कार्यक्षमता है। यह एक वर्डप्रेस साइट और अन्य वेब या मोबाइल टेक्नोलॉजी के बीच कम्युनिकेशन को मानकीकृत करने का एक साधन है। यदि आप एक वर्डप्रेस यूज़र हैं, तो यह ट्यूटोरियल आपको बताएगा कि XML-RPC क्या है और अपनी सुरक्षा के लिए इसे डिसेबल करना एक अच्छा विचार क्यों है।
XML-RPC कैसे काम करता है
आपकी वर्डप्रेस वेबसाइट वेब पर काम करने के लिए डिज़ाइन की गई है। यह HTML, CSS, और PHP जैसी कोर वेब टेक्नोलॉजी का उपयोग करती है। ये सभी फाइलें आपके होस्टिंग सर्वर के अंदर फोल्डर्स में अच्छी तरह से रखी जाती हैं।
जब कोई विज़िटर आपके डोमेन नाम या इसके किसी डेरिवेटिव पर क्लिक करता है, तो वे आपके वेबपेज पर पहुंचते हैं। जिस विशिष्ट फोल्डर में वह जानकारी होती है जो वे चाहते हैं, वह उनके ब्राउज़र पर डाउनलोड हो जाती है। अब ब्राउज़र इस जानकारी की व्याख्या करता है और उन्हें दिखाता है।
लेकिन क्या होगा यदि आप ब्राउज़र का उपयोग करके अपनी वेबसाइट तक नहीं पहुंचना चाहते? क्या होगा यदि आप कस्टम एडमिन सॉफ़्टवेयर या मोबाइल एप्लिकेशन से इसे एक्सेस करना चाहते हैं?
वर्डप्रेस XML-RPC इस समस्या को कवर करता है।
XML-RPC एक API है जो आवश्यक जानकारी को एक साधारण XML फाइल में लपेटता है और इसे मोबाइल ऐप या रिमोट सॉफ़्टवेयर को भेजता है। मोबाइल एप्लिकेशन तब इस जानकारी को अपने स्वयं के पूर्व-कॉन्फ़िगर डिज़ाइन के साथ फुलाता है। इस मामले में मोबाइल ऐप को अब पर्याप्त वेबपेज फाइलें डाउनलोड करने की आवश्यकता नहीं है, और आप अभी भी एक निफ्टी ऐप में अपने डेटा तक पहुंच सकते हैं।
जितना अच्छा यह लगता है, एकमात्र समस्या यह है कि आपको XML-RPC के माध्यम से प्रमाणित करने के लिए हर बार अपना यूज़रनेम और पासवर्ड भेजना होगा। यह इसे हैकर के हमले के प्रति बहुत कमजोर बनाता है।
XML-RPC आपको कैसे कमजोर बनाता है
XML-RPC कम से कम दो तरीकों से आपकी साइट को हमले की चपेट में छोड़ देता है: ब्रूट फोर्स अटैक और लॉगिन क्रेडेंशियल्स की चोरी।
1. ब्रूट फोर्स अटैक
हमलावर ब्रूट फोर्स अटैक का उपयोग करके आपकी वेबसाइट को संक्रमित करने का प्रयास करते हैं।
ब्रूट फोर्स अटैक केवल एक अनुमान लगाने का खेल है। हमलावर बार-बार आपके पासवर्ड का अनुमान लगाने का प्रयास करता है जब तक कि वे सफल न हो जाएं।
यह प्रति सेकंड कई हजार बार होता है ताकि वे थोड़े समय में लाखों संयोजन आज़मा सकें।
वर्डप्रेस साइट पर आप अपनी वेबसाइट के लिए लॉगिन प्रयासों को कैप करके ब्रूट फोर्स अटैक को आसानी से सीमित कर सकते हैं। हालांकि, XML-RPC के साथ समस्या यह है कि यह आपकी साइट पर लॉगिन प्रयासों को कैप नहीं करता है।
एक हमलावर आपके सर्वर को यह सोचकर धोखा देकर अनुमान लगाता रह सकता है कि वे कुछ जानकारी प्राप्त करने की मांग करने वाले एडमिन हैं। और क्योंकि उनके पास सही क्रेडेंशियल्स नहीं हैं, वे अभी तक आपकी साइट तक नहीं पहुंच पा रहे हैं, इसलिए वे बिना किसी अंत के कई बार प्रयास करते रहते हैं।
चूंकि प्रयासों की संख्या की कोई सीमा नहीं है, इसलिए यह केवल समय की बात है इससे पहले कि वे पहुंच प्राप्त कर लें। इस तरह एक हैकर XML-RPC DDOS अटैक करके (XML-RPC पर "पिंगबैक" अनुरोधों की लहरें भेजकर सर्वर को ओवरलोड और क्रैश करके) साइट को आसानी से डाउन भी कर सकता है।
2. लॉगिन जानकारी को इंटरसेप्ट/चुराना
XML-RPC की एक और कमजोरी अक्षम प्रमाणीकरण प्रणाली है। हर बार जब आप अपनी वेबसाइट तक पहुंचने के लिए अनुरोध भेजते हैं, तो आपको अपने लॉगिन क्रेडेंशियल्स भी जमा करने होंगे। इसका मतलब है कि आपका यूज़रनेम और पासवर्ड एक्सपोज़ होता है।
हैकर्स इस सूचना के पैकेट को इंटरसेप्ट करने के लिए कोने में दुबके हो सकते हैं। एक बार जब वे सफल हो जाते हैं, तो उन्हें ब्रूट फोर्स अटैक की कठोरता से गुजरने की आवश्यकता नहीं होती। वे बस आपके वैध क्रेडेंशियल्स का उपयोग करके आपकी वेबसाइट में घुस जाते हैं।
क्या मुझे वर्डप्रेस में XML-RPC डिसेबल करना चाहिए?
चूंकि वर्डप्रेस वर्जन 3.5 के बाद से, XML-RPC कोड में इतना सुधार हुआ है कि वर्डप्रेस टीम ने इसे डिफ़ॉल्ट रूप से सक्षम करने के लिए पर्याप्त सुरक्षित माना। यदि आप अपने वर्डप्रेस साइट को मैनेज करने के लिए मोबाइल ऐप्स या रिमोट सॉफ़्टवेयर पर भरोसा कर रहे हैं, तो आपको शायद XML-RPC डिसेबल नहीं करना चाहिए।
यदि आप अपने सर्वर की सुरक्षा के प्रति बहुत सचेत हैं, तो इसे डिसेबल करना बेहतर हो सकता है क्योंकि यह एक संभावित तरीके को कवर करता है जिसका उपयोग हैकर्स आपकी साइट पर हमला करने के लिए कर सकते हैं।
वर्डप्रेस में XML-RPC को कैसे डिसेबल करें
XML-RPC वर्डप्रेस में डिफ़ॉल्ट रूप से सक्षम है, लेकिन इसे डिसेबल करने के कई तरीके हैं।
नोट: यदि आप पॉपुलर JetPack प्लगइन का उपयोग कर रहे हैं, तो आप XML-RPC डिसेबल नहीं कर सकते, क्योंकि यह Jetpack के सर्वर के साथ कम्युनिकेट करने के लिए आवश्यक है। साथ ही, XML-RPC डिसेबल करने से पहले, सुनिश्चित करें कि आपके कोई प्लगइन्स या थीम इसका उपयोग नहीं कर रहे हैं।
XML-RPC डिसेबल करना
1. अपना थीम फोल्डर ढूंढें (आमतौर पर "wp-content/themes/" में), और "functions.php" फाइल खोलें।
2. फाइल के अंत में निम्नलिखित कमांड पेस्ट करें:
// Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' );
"functions.php" फाइल सेव करें। यह वर्डप्रेस में XML-RPC कार्यक्षमता को बंद कर देगा। ध्यान दें कि यह विधि केवल XML-RPC को डिसेबल करती है, लेकिन यह हैकर्स को आपकी साइट पर हमला करने से नहीं रोकती क्योंकि xml-rpc.php फाइल मौजूद रहती है।
XML-RPC फाइल तक पहुंच ब्लॉक करना
हैकर्स को हमला करने से रोकने का सबसे अच्छा तरीका xml-rpc फाइल तक पहुंच को ब्लॉक करना है।
अपाचे सर्वर (Apache server)
यदि आपकी वर्डप्रेस साइट अपाचे सर्वर पर चल रही है (यदि आप अपने वर्डप्रेस इंस्टॉलेशन फोल्डर में ".htaccess" फाइल देखते हैं, तो आप काफी निश्चित हो सकते हैं कि आपकी साइट अपाचे सर्वर पर होस्टेड है), तो इन चरणों का पालन करें।
1. अपने CPanel में लॉग इन करें। फाइल मैनेजर खोजें।
2. फाइल मैनेजर खोलें। "public_html" फोल्डर पर नेविगेट करें और फिर ".htaccess" डॉक्यूमेंट पर।
3. फाइल एडिट करने के लिए राइट-क्लिक करें।
4. फाइल के नीचे निम्नलिखित कोड पेस्ट करें:
# Disallow all WordPress xmlrpc.php requests to this domain <Files xmlrpc.php> order deny,allow deny from all </Files>
5. सेव करें और बाहर निकलें।
Nginx सर्वर
Nginx सर्वर के लिए, अपने सर्वर कॉन्फिग फाइल में निम्नलिखित कोड पेस्ट करें:
# nginx block xmlrpc.php requests
location /xmlrpc.php {
deny all;
}
अब आपकी साइट हमलों से सुरक्षित है।
निष्कर्ष
ब्रूट फोर्स अटैक और डेटा चोरी साइट मालिकों के लिए समस्या बने रहेंगे। यह आपका कर्तव्य है कि आप सुनिश्चित करें कि आपकी साइट सुरक्षित है। XML-RPC को डिसेबल करना इसे करने का एक प्रभावी तरीका है। उपरोक्त गाइड का पालन करें, और अभी अपनी वेबसाइट और विज़िटर्स को हैकर्स से बचाएं।