5 आवश्यक: इन्हें पहले करें
- WordPress कोर, थीम और प्लगइन्स को अपडेट रखें। भेद्य प्लगइन्स हमले का वेक्टर नंबर 1 हैं। माइनर संस्करण के स्वचालित अपडेट सक्षम करें (WordPress 5.6+ इसे डिफ़ॉल्ट रूप से करता है)। मेजर संस्करणों के लिए, रिलीज़ के 7 दिनों के भीतर अपडेट करें। प्लगइन्स के लिए, विश्वसनीय वालों का स्वचालित अपडेट सक्षम करें; महत्वपूर्ण प्लगइन्स के रिलीज़ नोट्स की मैन्युअल रूप से समीक्षा करें।
- हर WordPress खाते के लिए मज़बूत, अद्वितीय पासवर्ड का उपयोग करें। विशेष रूप से एडमिन वाले। एक पासवर्ड मैनेजर (1Password, Bitwarden) का उपयोग करें। «admin» उपयोगकर्ता नाम निष्क्रिय करें: एक नया एडमिन बनाएँ और पुराने को हटा दें।
- दो-कारक प्रमाणीकरण सक्षम करें। Wordfence Login Security (मुफ़्त) या किसी भी TOTP ऐप के साथ हमारे 2FA QR जनरेटर का उपयोग करें। 2FA क्रेडेंशियल स्टफ़िंग हमलों के 99% से अधिक को विफल कर देता है।
- एक विश्वसनीय सुरक्षा प्लगइन इंस्टॉल करें। Wordfence (मुफ़्त संस्करण अधिकांश साइटों के लिए पर्याप्त है) या Solid Security। कई न जमाएँ: वे टकराते हैं। प्लगइन लॉगिन प्रयास सीमा, फ़ाइल अखंडता निगरानी और मैलवेयर स्कैनिंग का प्रबंधन करता है।
- दैनिक ऑफ़-साइट बैकअप। UpdraftPlus → Dropbox/Google Drive। बैकअप की ज़रूरत पड़ने से पहले लें। पुनर्स्थापना प्रक्रिया का कम से कम एक बार परीक्षण करें।
अगले 10: अतिरिक्त उच्च-प्रभाव उपाय
- HTTPS लागू करें। Let's Encrypt हर आधुनिक होस्टिंग पर मुफ़्त है। HTTP को सर्वर स्तर पर HTTPS पर रीडायरेक्ट करें।
- डेटाबेस टेबल प्रीफ़िक्स बदलें। WordPress डिफ़ॉल्ट रूप से wp_ का उपयोग करता है; इंस्टॉलेशन के दौरान इसे कुछ कस्टम में बदलें। यह हमलों को नहीं रोकता, पर कुछ हमले पैटर्न को कठिन बनाता है।
- यदि उपयोग न करें तो XML-RPC निष्क्रिय करें। XML-RPC ब्रूट-फ़ोर्स एम्प्लीफ़िकेशन का एक सामान्य वेक्टर है। यदि आप Jetpack मोबाइल ऐप या रिमोट पब्लिशिंग का उपयोग नहीं करते, तो इसे .htaccess या एक प्लगइन के माध्यम से निष्क्रिय करें।
- लॉगिन प्रयास सीमित करें। Wordfence इसे स्वचालित रूप से करता है। यह ब्रूट-फ़ोर्स क्रेडेंशियल स्टफ़िंग को रोकता है।
- WordPress प्रमाणीकरण कुंजियाँ/salts रोटेट करें। हमारे WordPress Salt जनरेटर का उपयोग करें। किसी भी संदिग्ध समझौते के बाद, किसी समझौता किए गए एडमिन को हटाने के बाद और हर 6-12 महीनों में नियमित रूप से इन्हें रोटेट करें।
- फ़ाइल स्थानांतरण के लिए SSH या SFTP का उपयोग करें, कभी सादा FTP नहीं। FTP क्रेडेंशियल को सादे टेक्स्ट में प्रसारित करता है।
- यदि संभव हो तो IP द्वारा wp-admin एक्सेस प्रतिबंधित करें। यदि आपकी टीम स्थिर IP (कार्यालय, VPN) का उपयोग करती है, तो wp-admin को केवल उन IP तक सीमित करें। .htaccess या Nginx कॉन्फ़िगरेशन के माध्यम से।
- wp-config.php में फ़ाइल संपादन निष्क्रिय करें। जोड़ें:
define('DISALLOW_FILE_EDIT', true);यदि वे किसी खाते से समझौता कर लें तो हमलावरों को पैनल से थीम/प्लगइन्स संपादित करने से रोकता है। - WordPress संस्करण संख्या छिपाएँ। meta generator टैग हटाएँ। यह हमलों को नहीं रोकता, पर फ़िंगरप्रिंटिंग कम करता है।
- फ़ाइल अनुमतियाँ लॉक करें। फ़ाइलें 644, डायरेक्टरी 755, wp-config.php 600। अधिकांश प्रबंधित होस्टिंग इसे स्वचालित रूप से करती हैं; VPS पर, इसे स्पष्ट रूप से कॉन्फ़िगर करें।
परिष्करण: अच्छा पर महत्वपूर्ण नहीं
- कस्टम लॉगिन URL (जैसे, WPS Hide Login)। यह मुख्य रूप से बॉट ट्रैफ़िक का शोर कम करता है; वास्तविक सुरक्षा नहीं।
- लॉगिन फ़ॉर्म पर CAPTCHA। स्वचालित हमलों के लिए हल्का घर्षण।
- /uploads/ में PHP निष्पादन निष्क्रिय करें। अपलोड किए गए PHP शेल को चलने से रोकता है।
- Cloudflare WAF (मुफ़्त स्तर) का उपयोग करें। आपके सर्वर तक पहुँचने से पहले दुर्भावनापूर्ण ट्रैफ़िक फ़िल्टर करता है।
- प्लगइन/कोर अपडेट के लिए एडमिन ईमेल अलर्ट कॉन्फ़िगर करें।
- ब्राउज़र स्तर पर HTTPS लागू करने के लिए HSTS प्रीलोड का उपयोग करें।
- REST API के माध्यम से उपयोगकर्ता गणना निष्क्रिय करें (Solid Security या Wordfence इसे संभालते हैं)।
- Content Security Policy (CSP) हेडर का उपयोग करें।
- डायरेक्टरी ब्राउज़िंग निष्क्रिय करें (अधिकांश होस्टिंग इसे डिफ़ॉल्ट रूप से करती हैं)।
- किसी बाहरी सेवा के साथ अपटाइम + अखंडता की निगरानी करें (UptimeRobot मुफ़्त स्तर + साप्ताहिक Sucuri SiteCheck)।
- उपयोगकर्ता भूमिकाओं को न्यूनतम विशेषाधिकार तक सीमित करें। अधिकांश योगदानकर्ताओं को एडिटर-स्तरीय एक्सेस की ज़रूरत नहीं होती।
- डेटाबेस बैकअप एन्क्रिप्शन (UpdraftPlus Premium इसे प्रदान करता है)।
- CDN के माध्यम से डोमेन के बाहर इमेज होस्टिंग (हमले की सतह कम करता है)।
- सुरक्षा ऑडिट लॉग की आवधिक समीक्षा।
- यदि साइट महत्वपूर्ण राजस्व उत्पन्न करती है तो वार्षिक पेनिट्रेशन टेस्ट।
WordPress सुरक्षा मिथक: इन्हें छोड़ें
कई अत्यधिक-अनुशंसित «सुरक्षा» उपाय न्यूनतम वास्तविक सुरक्षा प्रदान करते हैं: (1) «WordPress संस्करण छिपाएँ»: आपका संस्करण जानना लक्षित हमलों में थोड़ी मदद करता है, पर वास्तविक समाधान अपडेट करना है, छिपाना नहीं। (2) «wp-config.php को public_html के ऊपर ले जाएँ»: मूल रूप से शून्य सुरक्षा लाभ देता है; फ़ाइल पहले से ही .htaccess द्वारा संरक्षित है। (3) «REST API निष्क्रिय करें»: कई प्लगइन्स को तोड़ देता है और थोड़ा ही रोकता है। इसके बजाय विशिष्ट एंडपॉइंट सीमित करें। (4) «कई सुरक्षा प्लगइन्स जमाएँ»: वे टकराते हैं और ओवरलैप करते हैं। एक विश्वसनीय प्लगइन (Wordfence या Solid Security) वह कवर करता है जो तीन करते। (5) «wp-login.php का नाम बदलें»: अस्पष्टता के माध्यम से सुरक्षा; हमलावर रीडायरेक्ट के माध्यम से नया URL आसानी से ढूँढ लेते हैं।
यदि आप हैक हो गए हैं: पुनर्प्राप्ति सूची
- घबराएँ नहीं; तुरंत चीज़ें न हटाएँ। फ़ॉरेंसिक विश्लेषण के लिए पहले वर्तमान स्थिति का स्नैपशॉट लें।
- साइट को ऑफ़लाइन करें (मेंटेनेंस मोड प्लगइन या किसी स्टैटिक पेज पर .htaccess रीडायरेक्ट)।
- सभी एडमिन पासवर्ड बदलें और WordPress salts रोटेट करें।
- उपयोगकर्ता खातों का ऑडिट करें: अपरिचित एडमिन खातों को तुरंत हटाएँ।
- Wordfence Premium या Sucuri के साथ मैलवेयर के लिए स्कैन करें।
- वर्तमान फ़ाइलों की तुलना WordPress के एक साफ़ डाउनलोड से करें: diff संशोधित कोर फ़ाइलों को प्रकट करता है।
- अप्रत्याशित प्रविष्टियों के लिए डेटाबेस की wp_options टेबल की समीक्षा करें (अक्सर इंजेक्ट किया गया JS होता है)।
- सबसे हालिया साफ़ बैकअप से पुनर्स्थापित करें (इसीलिए दैनिक बैकअप मायने रखते हैं)।
- पुनर्स्थापना के बाद, हर प्लगइन का ऑडिट करें: अप्रयुक्त हटाएँ, सभी अपडेट करें और सार्वजनिक CVE वाले किसी भी प्लगइन को बदलें।
- WordPress कोर को नवीनतम संस्करण में अपडेट करें।
- साइट को फिर से सक्षम करें और 30 दिनों तक पुनः-संक्रमण पर नज़र रखें।