Joomla एक अत्यधिक मजबूत CMS है जिसमें कुछ बेहतरीन सामुदायिक समर्थन है। इसके अलावा, यह अत्यधिक अनुकूलन योग्य है क्योंकि Joomla पर चलने वाली साइट्स व्यक्तिगत पेज से लेकर सरकारी साइट्स तक भिन्न होती हैं। इसकी व्यापक लोकप्रियता इसके द्वारा प्रदान किए जाने वाले 90+ भाषा समर्थन के लिए जिम्मेदार ठहराई जा सकती है। हालांकि, लोकप्रिय होना इसे स्पैमर्स और हैकर्स का लक्ष्य भी बनाता है। अक्सर उपयोगकर्ता सामुदायिक मंचों पर अपने Joomla हैक स्पैम भेजने की शिकायत करते हैं। ये हमले प्रभावित उपयोगकर्ताओं की भारी संख्या के कारण काफी आम हैं। अक्सर स्पैम ईमेल में वियाग्रा बेचने वाले फार्मा विज्ञापन होते हैं। पुस्तक Joomla वेब सुरक्षा के अनुसार,
संकेत कि Joomla हैक स्पैम भेज रहा है
स्पैम ईमेल हमले की खोज में आमतौर पर कुछ घंटों से दिन लगते हैं। विलंबता इस तथ्य के कारण होती है कि ईमेल प्रचारित होने में समय लेते हैं। इसलिए इसका पता तब चलता है जब कोई उपयोगकर्ता आपको स्पैम ईमेल के बारे में सूचित करता है। हालांकि, कुछ मामलों में, वेब एडमिन को सूचित किया जाता है यदि वह स्पैम भेजने से पहले ऑनलाइन सेवाओं का उपयोग करके स्पैम की जांच करता है। ये सेवाएं प्रकट कर सकती हैं कि डोमेन को स्पैम के लिए ब्लैकलिस्ट किया गया है। हालांकि कुछ ऑनलाइन सुरक्षा समाधान उपयोगकर्ताओं को ऐसे खतरों के बारे में पहले से ही सूचित कर सकते हैं।
कुछ मामलों में, यह देखा गया है कि स्पैम हमला बैंडविड्थ को चोक कर सकता है। इसके बाद आपका ISP आपको स्पैम ईमेल के बहिर्वाह के बारे में सूचित कर सकता है। इंटरनेट पर बहुत सारे संसाधन हैं जो ऑनलाइन स्पैम सूची बनाए रखते हैं। यदि आपका Joomla हैक हो गया है और स्पैम भेज रहा है, तो आपके सर्वर IP को ब्लैकलिस्ट किया जाएगा। एक बार एक सेवा आपको ब्लैकलिस्ट कर देती है, तो यह ऐसी सभी ब्लैकलिस्ट के माध्यम से फैल जाती है। इसके बाद Google जैसे खोज इंजन आपकी साइट को स्पैम के लिए ब्लैकलिस्ट कर देते हैं। इसलिए, जब उपयोगकर्ता विज़िट करते हैं, तो उन्हें इस तरह का पृष्ठ दिखाया जा सकता है।
बड़े पैमाने पर साइट से स्पैम ईमेल के वितरण को देखने के बाद, Google ने इसे हमला पृष्ठ के रूप में सूचीबद्ध किया है। यह पृष्ठ उपयोगकर्ताओं को साइट पर आगे बढ़ने के खिलाफ चेतावनी देता है। यदि आपकी साइट ये लक्षण दिखाती है तो यह Joomla हैक स्पैम भेजने के कारण हो सकता है!
Joomla हैक स्पैम भेजने के उदाहरण
Joomla हैक स्पैम भेजने का मुद्दा काफी व्यापक है। कई उपयोगकर्ता सामुदायिक मंचों पर इस मुद्दे के बारे में शिकायत करते हैं। कुछ तो पुनः संक्रमित भी हो जाते हैं! यहां Joomla सामुदायिक मंचों से कुछ ऐसे उदाहरण हैं।
Joomla हैक स्पैम भेजना: कारण
SQL इंजेक्शन
Joomla डेटाबेस को अक्सर लक्षित किया जाता है। इस तथ्य के कारण कि SQL इंजेक्शन वेब पर काफी आम है। जिससे यह OWASP शीर्ष 10 भेद्यताओं में से एक बन गया। एक बार जब हमलावर डेटाबेस पर पकड़ बना लेता है, तो SQL स्टेटमेंट का उपयोग साइनअप ईमेल वाली टेबल निर्धारित करने के लिए किया जा सकता है। सूची प्राप्त होने के बाद, हमलावर बड़ी संख्या में उपयोगकर्ताओं को स्पैम करने के लिए इसका उपयोग कर सकता है। इसलिए, डेटाबेस को सुरक्षित रखना महत्वपूर्ण है।
उदाहरण के लिए, Joomla में Jimtawl नामक एक एक्सटेंशन है। इसका उपयोग वेब पर रेडियो स्टेशन चलाने के लिए किया जा सकता है। हालांकि, यह घटक SQLi के प्रति संवेदनशील पाया गया। कमजोर पैरामीटर id था। पूरा URL इस तरह दिखता है:
https://localhost/[PATH]/index.php?option=com_jimtawl&view=user&task=user.edit&id=[SQL]
घटक ने असैनिटाइज्ड उपयोगकर्ता इनपुट की अनुमति दी जिससे SQLi हुआ। यहां, id के बाद SQL स्टेटमेंट जोड़कर, हमलावर डेटाबेस की सामग्री पढ़ सकते थे। उदाहरण के लिए, डेटाबेस संस्करण और उपयोगकर्ता प्रकट करने के लिए, निम्नलिखित क्वेरी निष्पादित की जा सकती है।
' AND EXTRACTVALUE(66,CONCAT(0x5c,(SELECT (ELT(66=66,1))),CONCAT_WS(0x203a20,USER(),DATABASE(),VERSION())))-- VerAyari
यहां एपोस्ट्रोफ चिह्न पिछले स्टेटमेंट के इनपुट को समाप्त करता है। इसके बाद OR क्लॉज अगले SQL स्टेटमेंट को निष्पादित करता है। यह स्टेटमेंट उपयोगकर्ता और डेटाबेस संस्करण प्राप्त करता है। इस शोषण को पहले ही जारी किया जा चुका है। इसके अलावा, हमलावर हमले को गति देने के लिए स्वचालित उपकरणों का उपयोग कर सकता है। यहां से हमलावर डेटाबेस में संग्रहीत सभी ईमेल खोज सकता है।
कुछ मामलों में जहां साइट स्टैक आधारित SQLi कमजोर है, हमलावर कमांड निष्पादित कर सकता है। ये कमांड स्थानीय सर्वर पर चल रही डेटाबेस सेवा के माध्यम से निष्पादित किए जाते हैं। इन कमांड्स का उपयोग करके, Joomla हैक स्पैम भेजने का मुद्दा हो सकता है। इसलिए स्पैम स्थानीय SMTP सर्वर से ही उत्पन्न हो सकता है। Joomla हैक स्पैम भेजने के अलावा, हमलावर साइट पर अन्य हमलों का संचालन करने के लिए डेटाबेस जानकारी का भी उपयोग कर सकता है!
कमजोर क्रेडेंशियल्स
यह काफी संभव है कि हमलावर ने आपके SMTP सर्वर पर लॉगिन को ब्रूट फोर्स किया हो। डिफ़ॉल्ट या कमजोर पासवर्ड का उपयोग साइट को इस तरह के हमलों के प्रति संवेदनशील बनाता है। जब SMTP सर्वर हमलावर के नियंत्रण में होता है, तो यह Joomla हैक स्पैम भेजने का कारण बन सकता है।
खुले पोर्ट
खुले पोर्ट साइट को हमलावर को दे सकते हैं। SMTP डिफ़ॉल्ट पोर्ट 25 का उपयोग करता है। हालांकि, इस पोर्ट का उपयोग करने से बचें क्योंकि इसे अक्सर स्पैमर्स द्वारा लक्षित किया जाता है। कुछ मामलों में, ISP स्वयं इस पोर्ट को ब्लॉक करते हैं। पोर्ट 587 एक बेहतर विकल्प है। चूंकि यह पोर्ट TLS एन्क्रिप्शन का समर्थन करता है। पोर्ट 25 मैलवेयर और स्पैम के लिए प्राथमिक लक्ष्य है। एक हमलावर खुले पोर्ट के माध्यम से घुस सकता है जिससे Joomla हैक स्पैम भेजने की समस्या होती है। पोर्ट 25 को इंटरनेट पर उजागर करने से बड़ी मात्रा में इनबाउंड स्पैम हो सकता है!
स्क्रिप्ट अपलोड
आम तौर पर, हमलावर ऊपर दी गई ज्ञात तकनीकों का उपयोग करके सर्वर का शोषण करते हैं। इसके बाद Joomla हैक स्पैम भेजने को अनुकूलित करने के लिए, स्वचालन का उपयोग किया जाता है। PHP स्क्रिप्ट इस कार्य को बहुत कुशलता से पूरा कर सकती हैं। इन स्क्रिप्ट्स का उपयोग SMTP सर्वर या कुछ मामलों में MX सर्वर से कनेक्शन बनाने के लिए किया जाता है। एक सामान्य स्क्रिप्ट में ऐसा कोड होगा:
स्पष्ट रूप से, कोड अस्पष्टता तकनीकों का उपयोग किया गया है। हालांकि, जब इस स्क्रिप्ट को डिकोड किया जाता है, तो यह कुछ इस तरह अनुवाद करती है:
कोड से देखा जा सकता है, स्क्रिप्ट eval() कंस्ट्रक्ट का उपयोग करती है। यह कमांड एक इनपुट स्ट्रिंग को PHP कोड में प्रोसेस करता है। सुरक्षित कोडिंग प्रथाएं eval() के उपयोग से बचने का सुझाव देती हैं। क्योंकि यह हमलावरों को सर्वर पर मनमाना कोड निष्पादित करने में मदद करता है। इसके अलावा, eval() का उपयोग डेटाबेस में कोड स्टोर करने के लिए किया जा सकता है। यह कोड बाद में निष्पादित होता है और Joomla हैक स्पैम भेजता है। ये स्क्रिप्ट दो तरीकों से बड़े पैमाने पर स्पैम पंप कर सकती हैं:
- MTA कतार स्पैम: संदेश ट्रांसफर एजेंट (MTA) आपके Joomla साइट से प्राप्तकर्ता तक मेल वितरित करने के लिए जिम्मेदार है। कभी-कभी शोषण स्क्रिप्ट MTA कतारों में बड़ी मात्रा में स्पैम ईमेल इंजेक्ट करती हैं। इससे "MTA कतार बहुत बड़ी है!" जैसे चेतावनी संदेश हो सकते हैं। एक निश्चित सीमा तक पहुंचने के बाद, ईमेल ISPs द्वारा भी ब्लॉक किए जा सकते हैं। इसलिए स्क्रिप्ट कभी-कभी डायरेक्ट-टू-MX कनेक्शन बनाती हैं।
- डायरेक्ट टू MX स्पैम: डायरेक्ट टू MX हमें मध्य एजेंट के रूप में ISPs को बायपास करने की अनुमति देता है। डायरेक्ट टू MX एक वैध सेवा है जो प्राप्तकर्ता मेल एक्सचेंज सर्वर को सीधे मेल वितरित करने की अनुमति देती है। यह ईमेल को ISPs SMTP सर्वर तक पहुंचने से रोकता है। स्क्रिप्ट इस सुविधा का शोषण करके स्पैम को सीधे प्राप्तकर्ता में इंजेक्ट करती हैं। यह MTA कतारों में पहचान से बचने के लिए किया जाता है।
वेबस्पेस साझा करना
अक्सर सस्ती होस्टिंग आपको भारी पड़ सकती है। जब कई साइट्स एक ही स्पेस साझा करती हैं तो संक्रमण तेजी से फैलता है। इसलिए Joomla हैक स्पैम भेजना अन्य साइट्स से संक्रमण के कारण हो सकता है। इससे यह पता लगाना मुश्किल हो जाता है कि कौन सी साइट स्पैम उत्पन्न कर रही है!
स्पैम ईमेल प्राप्त करना
पंजीकरण स्पैम
अक्सर Joomla हैक स्पैम भेजने के परिदृश्य देखे गए हैं। लेकिन कभी-कभी, साइट्स स्वयं स्पैम का लक्ष्य बन सकती हैं। बड़ी संख्या में नकली साइनअप आपकी साइट की ओर लक्षित हो सकते हैं। Joomla एक भेद्यता से पीड़ित था जहां उपयोगकर्ता फॉर्म अक्षम होने पर भी ईमेल सबमिट कर सकते थे। यह com_contact नामक एक कमजोर घटक के कारण हुआ था। इस भेद्यता को CVE-2018-17859 करार दिया गया था। इसका फायदा उठाकर, एक हमलावर बड़ी संख्या में स्पैम ईमेल सबमिट कर सकता था। उस परिदृश्य में, यदि उचित जांच और संतुलन नहीं रखे जाते हैं, तो बॉट कहर बरपा सकते हैं। स्वचालित रूप से साइनअप टेबल भर रहे हैं। अंत में, यह अलग करना मुश्किल हो जाएगा कि कौन से ईमेल मूल साइनअप हैं और कौन से बॉट हैं!
इसके अलावा, कुछ साइट्स प्रत्येक नए साइनअप के बारे में सूचनाएं सक्षम करती हैं। उस स्थिति में, साइनअप स्पैम कई सूचनाएं उत्पन्न कर सकता है। यदि ये सूचनाएं एक निश्चित सीमा तक पहुंच जाती हैं, तो सेवा प्रदाता इसे स्पैम के रूप में फ़्लैग करेगा। जिससे आपका खाता ब्लॉक हो जाएगा और नए साइनअप सूचनाओं को रोका जाएगा। साइनअप के अलावा, सूचनाएं तब भी उत्पन्न हो सकती हैं जब साइट हमले के अधीन हो। इसलिए जब सूचनाओं की सीमा पार हो जाती है, तो वही प्रक्रिया अपनाई जाएगी।
नॉन-डिलीवरी रिपोर्ट्स स्पैम
SMTP प्रोटोकॉल इस तरह से डिज़ाइन किया गया है कि "From" और "To" फ़ील्ड किसी के द्वारा हेरफेर किए जा सकते हैं। यहां तक कि सामान्य उपयोगकर्ताओं द्वारा भी। स्पैमर्स नियमित रूप से आपके डोमेन को "From" फ़ील्ड में डालकर इसका फायदा उठाते हैं। यह निम्नलिखित तरीकों से किया जाता है:
- चरण 1: बॉट नकली ईमेल की सूची उत्पन्न करता है (ऐसे ईमेल जो मौजूद नहीं हैं)।
- चरण 2: आपका ईमेल admin@wsxdn.com "From" विकल्प में प्रेषक के रूप में उपयोग किया जाता है।
- चरण 3: बॉट गैर-मौजूद खातों को ईमेल भेजता है।
- चरण 4: ईमेल की डिलीवरी विफल होती है।
- चरण 5: नॉन-डिलीवरी रिपोर्ट ईमेल आपके खाते (admin@wsxdn.com) पर वापस आते हैं। इसके परिणामस्वरूप स्पैम ईमेल की भारी आमद होती है।
Joomla में स्पैम ईमेल कैसे रोकें: सुधार
इनबाउंड स्पैम ठीक करना
प्रेषक नीति ढांचा
SMTP प्रोटोकॉल की अपनी सीमाएं हैं। किसी को "From" विकल्प में आपके डोमेन का उपयोग करने से रोकना संभव नहीं है। हालांकि, कुछ सुधार हैं। मेल सर्वरों को सूचित किया जा सकता है कि किन IPs को आपके डोमेन की ओर से मेल भेजने की अनुमति है। इस प्रकार, SPF एक प्रकार का DNS TXT रिकॉर्ड है जो इस कार्य को पूरा करता है। SPF लागू करने के लिए निम्नलिखित चरण उठाए जा सकते हैं:
- सबसे पहले DNS प्रबंधन पृष्ठ पर जाएं।
- इसके बाद रिकॉर्ड अनुभाग पर जाएं। जोड़ें पर क्लिक करें और मेनू से TXT चुनें।
- अब निम्नलिखित फ़ील्ड भरें:
- होस्ट: इस तर्क को होस्टनाम की आवश्यकता है। उदाहरण के लिए, अपने डोमेन नाम पर सीधे रिकॉर्ड मैप करने के लिए @ टाइप करें।
- TXT मान - वह मान दर्ज करें जिसे आप असाइन करना चाहते हैं।
- अंत में, सहेजें पर क्लिक करें।
अंत में, यह कुछ इस तरह दिखेगा YourDomain.com. IN TXT "v=spf1 mx ip4:123.123.123.123 -all"।
यह बताता है कि YourDomain.com के केवल दो वैध ईमेल स्रोत हैं। एक मेल एक्सचेंज सर्वर हैं। MX सर्वर उन डोमेन को परिभाषित करते हैं जो आपके ईमेल के लिए प्राप्तकर्ता हैं। और दूसरा 123.123.123.123 पर सर्वर है। बाकी सभी ई-मेल को स्पैम माना जाएगा। हालांकि, यह ध्यान देने योग्य है कि robots.txt की तरह ही यह एक कन्वेंशन है। अधिकांश मेल सर्वर इसका पालन कर सकते हैं जबकि कुछ नहीं कर सकते!
आउटबाउंड स्पैम ठीक करना
स्पैम स्क्रिप्ट की पहचान करें और हटाएं
चरण 1: सबसे पहले स्पैम उत्पन्न करने वाली स्क्रिप्ट की पहचान करना आवश्यक है। इसलिए एडमिन अधिकारों (SUDO) के साथ मेल सर्वर में लॉग इन करें।
चरण 2: स्क्रिप्ट द्वारा आउटबाउंड ईमेल कैप्चर करने के लिए, सुनिश्चित करें कि आपकी PHP.ini फ़ाइल में निम्न कोड है mail.add_x_header = On। एक बार यह पूरा हो जाने पर अपने मेल कतार का निरीक्षण करें।
चरण 3: यह कमांड mailq द्वारा किया जा सकता है। यह कमांड कतार में सभी ईमेल को सूचीबद्ध करेगा। यहां से, उस ईमेल की ID नोट करें जिसका स्रोत आप ट्रैक करना चाहते हैं।
चरण 4: अब "grep" और "postcat" कमांड काम आएंगे। निम्न कमांड चलाएं: postcat -q <mailq से प्राप्त ID> | grep X-PHP-Originating-Script
चरण 5: यह कमांड इस तरह का आउटपुट देगा, X-PHP-Originating-Script: 45:SPAMmailer.php। यहां, 45 SPAMmailer.php स्क्रिप्ट का UID है। इस कमांड ने Joomla हैक स्पैम भेजने वाली स्क्रिप्ट को सफलतापूर्वक ढूंढ लिया। साथ ही सर्वर पर इसकी स्थानीय ID। स्क्रिप्ट को हटाएं और इंस्टॉलेशन को साफ करें।
हालांकि, चरण 4 के मामले में, यदि यह कोई आउटपुट नहीं देता है तो यह संभावना है कि खाते से समझौता किया गया है। Joomla हैक स्पैम भेजने से रोकने के लिए पासवर्ड को सुरक्षित वाले में बदलें!
अन्य सावधानियां
- साइट को साफ करें और समीक्षा के लिए सबमिट करें यदि इसे Google द्वारा ब्लैकलिस्ट किया गया है।
- डायरेक्ट-टू-MX को ब्लॉक करें जब तक कि इसकी सख्त आवश्यकता न हो।
- SMTP के लिए पोर्ट 25 का उपयोग करने से बचें। इसके बजाय, बेहतर विकल्प पोर्ट 587 है।
- समर्पित VPS होस्टिंग का उपयोग करने का प्रयास करें। क्योंकि यह Joomla हैक स्पैम भेजने के संक्रमण के फैलने की संभावना को कम करता है।
- फ़ोल्डर्स के लिए पढ़ें, लिखें, निष्पादित अनुमतियों को बुद्धिमानी से प्रबंधित करें। क्योंकि यह कोड निष्पादन को रोक सकता है तब भी जब स्पैम मेलर स्क्रिप्ट अपलोड की गई हो।
- प्रतिष्ठित एक्सटेंशन इंस्टॉल करें। अज्ञात या नल एक्सटेंशन का उपयोग करने से बचें।
- SMTP सर्वर पर प्रमाणीकरण प्रयासों को सीमित करें। यह ब्रूट फोर्स हमलों को रोक सकता है।
- अपडेट अपडेट अपडेट!
निष्कर्ष
Joomla हैक स्पैम भेजना आपकी साइट की प्रतिष्ठा को गंभीर रूप से प्रभावित कर सकता है। सबसे अच्छा संभव एहतियात एक सुरक्षा समाधान का उपयोग करना है। आज ऑनलाइन फायरवॉल और IDS के साथ बड़ी संख्या में सुरक्षा समाधान उपलब्ध हैं। एस्ट्रा जैसे सुरक्षा समाधान अत्यधिक स्केलेबल हैं। यह व्यक्तिगत ब्लॉग के साथ-साथ बड़े व्यवसायों की जरूरतों को पूरा करता है।