अपनी साइट को साफ़ करें और बनाए रखें

अपनी साइट को साफ़ रखने और आने वाले समय में होने वाली हैकिंग से बचने के लिए, आपको इनकी ज़रूरत होगी:

  • आपकी साइट के सर्वर के लिए शेल या टर्मिनल एडमिन ऐक्सेस: वेब, डेटाबेस, फ़ाइलें
  • शेल या टर्मिनल कमांड की जानकारी
  • कोड को समझना (जैसे कि PHP या JavaScript)
  • अपनी साइट के बैकअप बनाने के लिए स्टोरेज. इनमें फ़ाइलें, डेटाबेस, और इमेज शामिल हैं

अगली कार्रवाइयां

हम इस चरण में कई कार्रवाइयों को शामिल करेंगे:

  • अगर आपको लगता है कि हैकर, उपयोगकर्ताओं की निजी जानकारी पाना चाहता है (जैसे फ़िशिंग पेज), तो ऐसे में अतिरिक्त संसाधनों का पता कैसे लगाएं.
  • उन सभी नए, अनचाहे, उपयोगकर्ताओं को दिखने वाले यूआरएल को तेज़ी से हटाने के लिए Search Console में यूआरएल हटाएं का इस्तेमाल करने का विकल्प जिन्हें हैकर ने बनाया है और जिन्हें आपको Google Search के नतीजों में नहीं दिखाना है.
  • Search Console में Google से अपने यूआरएल फिर से क्रॉल करने के लिए कहें, ताकि Google उन पेजों को तेज़ी से प्रोसेस कर सके जिन्हें Google Search के नतीजों में दिखाना चाहता है. जैसे, वे पेज जो या तो नए हैं या हाल ही में अपडेट किए गए हैं.
  • सॉफ़्टवेयर का सबसे नया और सबसे सुरक्षित वर्शन इंस्टॉल करना.
  • गैर-ज़रूरी या इस्तेमाल नहीं किए गए ऐप्लिकेशन या प्लग इन हटाना, जो आने वाले समय में आपकी साइट को और ज़्यादा असुरक्षित बना सकते हैं.
  • अच्छे कॉन्टेंट को वापस लाना और हैकर के कॉन्टेंट को हटाना.
  • हैकर के ज़रिए इस्तेमाल किए गए जोखिम की असल वजह को ठीक करना.
  • सभी पासवर्ड बदलना.
  • आपकी साइट को सुरक्षित रखने के लिए योजना बनाना.

1. सहायता संसाधनों को ढूंढें

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

2. हैकर के ज़रिए बनाए गए नए यूआरएल निकालने में तेजी लाने पर विचार करें

अगर हैकर ने पूरी तरह से नए, उपयोगकर्ताओं को दिखने वाले यूआरएल बनाए हैं, तो आप Search Console में यूआरएल हटाएं सुविधा का इस्तेमाल करके इन पेजों को Google Search के नतीजों से ज़्यादा तेज़ी से हटा सकते हैं. यह चरण ज़रूरी नहीं है. अगर पेजों को मिटाकर, अपने सर्वर को 404 स्टेटस कोड दिखाने के लिए कॉन्फ़िगर किया जाता है, तो वे पेज, समय के साथ Google की इंडेक्स से अपने-आप हट जाएंगे.

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

3. Google के ज़रिए अपने साफ़ पेज तैयार किए जाने में तेजी लाने पर विचार करें

अगर आपके पास नए या साफ़ पेज हैं, तो इन पेजों को Google के इंडेक्स में सबमिट करने के लिए, Search Console में Google से अपने यूआरएल फिर से क्रॉल करने के लिए कहें. यह ज़रूरी नहीं है; अगर आपने ऐसा नहीं किया, तो आपके नए या बदले गए पेज समय रहते क्रॉल और प्रोसेस हो जाएंगे.

4. अपने सर्वर को साफ़ करना शुरू करें

अब नुकसान का आकलन करने और कमज़ोरियों की पहचान करने के दौरान लिए गए नोट के आधार पर, अपनी साइट को साफ़ करने का समय आ गया है. इस चरण में आप जिस पाथ का इस्तेमाल करेंगे, वह आपके पास उपलब्ध बैकअप के प्रकार पर निर्भर करता है:

  • साफ़ और वर्तमान बैकअप
  • साफ़ लेकिन पुराना बैकअप
  • कोई बैकअप उपलब्ध नहीं है

सबसे पहले, यह जांच लें कि आपका बैकअप आपकी साइट हैक होने से पहले बनाया गया था.

साफ़ और वर्तमान बैकअप

  1. अपने बैकअप को बहाल करें.
  2. उपलब्ध कोई भी बेहतर सॉफ़्टवेयर, अपडेट या पैच इंस्टॉल करें. इसमें ओएस के लिए बने सॉफ़्टवेयर शामिल हैं, अगर सर्वर का कंट्रोल आपके पास है. साथ ही, इसमें सभी ऐप्लिकेशन शामिल हैं, जैसे कि कॉन्टेंट मैनेजमेंट सिस्टम, ई-कॉमर्स प्लैटफ़ॉर्म, प्लगिन या टेंप्लेट.
  3. ऐसे सॉफ़्टवेयर हटाने के बारे में सोचें जिन्हें अब साइट आपके सर्वर से इस्तेमाल नहीं करती है (जैसे कि विजेट, प्लगिन या ऐप्लिकेशन) .
  4. सुरक्षा कमज़ोरियों को ठीक करें.
  5. यह पक्का करें कि नुकसान के आकलन के दौरान मिली सभी समस्याओं को हल कर लिया गया हो.
  6. साइट से संबंधित सभी खातों के लिए एक और बार पासवर्ड बदलें (उदाहरण के लिए, फ़ाइल ट्रांसफ़र प्रोटोकॉल (एफ़टीपी) ऐक्सेस, डेटाबेस ऐक्सेस, सिस्टम एडमिन, और सीएमएस खातों के लिए लॉगिन). यूनिक्स-आधारित सिस्टम पर:
passwd admin1

साफ़ लेकिन पुराना बैकअप

  1. अपनी मौजूदा साइट की डिस्क इमेज बना लें, भले ही वह अब भी संक्रमित हो. यह कॉपी सिर्फ़ सुरक्षा के लिए है. कॉपी को दूसरों से अलग करने के लिए उसे संक्रमित के रूप में मार्क करें. यूनिक्स-आधारित सिस्टम पर, एक डिस्क इमेज नीचे दिए गए जैसा हो सकता है:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. अपने सर्वर की बैकअप फ़ाइल सिस्टम कॉपी बनाएं. इसमें इमेज और मीडिया फ़ाइलें भी शामिल हैं. अगर आपके पास एक डेटाबेस है, तो डेटाबेस का भी बैकअप लें.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. अपने सर्वर पर साफ़ लेकिन पुराना बैकअप बहाल करें.
  2. सोचें कि क्या आप अपने सर्वर पर ऐसे सॉफ़्टवेयर (जैसे कि विजेट, प्लगिन या ऐप्लिकेशन) को खत्म कर सकते हैं, जिनका अब साइट इस्तेमाल नहीं करती है.
  3. अगर सर्वर आपके कंट्रोल में है, तो ओएस समेत सभी सॉफ़्टवेयर अपग्रेड करें. साथ ही, कॉन्टेंट मैनेजमेंट सिस्टम, ई-कॉमर्स प्लैटफ़ॉर्म, प्लगिन, और टेंप्लेट जैसे सभी सॉफ़्टवेयर ऐप्लिकेशन भी अपग्रेड करें. उपलब्ध सुरक्षा अपडेट और पैच को देखना और इंस्टॉल करना न भूलें.
  4. सुरक्षा कमज़ोरियों को ठीक करें.
  5. मैन्युअल तरीके से या अपने-आप काम करने वाली किसी साइट का diff इस्तेमाल करें. यह काम, सिर्फ़ उन फ़ाइलों के लिए किया जा सकता है जो साफ़ बैकअप और इस समय संक्रमित कॉपी के बीच आती हैं.
diff -qr www/ backups/full-backup-20120124/
  1. कोई भी ऐसी नई, साफ़ सामग्री अपलोड करें जिसे आप अपग्रेड किए गए सर्वर पर संक्रमित कॉपी से सुरक्षित रखना चाहते हैं.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. जांच लें कि नुकसान का आकलन करें सेक्शन में दी गई सूची में शामिल हर यूआरएल को ठीक कर दिया गया है.
  2. साइट से संबंधित सभी खातों के लिए एक बार और पासवर्ड बदलें (उदाहरण के लिए, फ़ाइल ट्रांसफ़र प्रोटोकॉल (एफ़टीपी) ऐक्सेस, डेटाबेस ऐक्सेस, सिस्टम एडमिन, और सीएमएस खातों के लिए लॉगिन). यूनिक्स-आधारित सिस्टम पर:
$passwd admin1

कोई बैकअप उपलब्ध नहीं है

अपनी साइट के दो बैकअप बना लें, भले ही वह अभी भी संक्रमित हो. एक अतिरिक्त बैकअप लेने से गलती से मिटाए गए कॉन्टेंट को वापस पाने में मदद मिलेगी. इसके अलावा, गड़बड़ी होने पर उसे वापस लाने और फिर से कोशिश करने में मदद मिलेगी. भविष्य में संदर्भ के लिए प्रत्येक बैकअप को "संक्रमित" लेबल करें.

आपके बैकअप में से एक आपकी साइट का डिस्क इमेज या "क्लोन वर्शन" होगा. इस फ़ॉर्मैट से, कॉन्टेंट को वापस पाना और भी आसान हो जाता है. आप किसी आपातकालीन स्थिति के लिए डिस्क इमेज को एक तरफ़ रख सकते हैं. यूनिक्स-आधारित सिस्टम पर, डिस्क इमेज बनाने के लिए इस कोड का इस्तेमाल करें:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

अन्य बैकअप इमेज और मीडिया फ़ाइलों सहित आपके सर्वर से फ़ाइल सिस्टम की एक कॉपी होगी. अगर आपके पास डेटाबेस है, तो उसका बैक अप भी लें.

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

अगर आपके पास डिस्क इमेज नहीं है, तो डेटाबेस के दो बैकअप और फ़ाइल सिस्टम के दो बैकअप बनाएं.

साइट के कॉन्टेंट को नए बैकअप फ़ाइल सिस्टम कॉपी (सर्वर नहीं) पर साफ़ करने के लिए, ये काम करें:

  1. अगर आपकी पिछली जांच में बहुत विनम्र फ़ाइल अनुमतियां मिली हैं, तो आगे बढ़ें और उन्हें ठीक करें. पक्का करें कि आप इसे बैकअप कॉपी पर करें, न कि सर्वर पर.
  2. बैकअप कॉपी पर, उन यूआरएल से जुड़ी सभी फ़ाइलों को भी साफ़ करें जिन्हें नुकसान का आकलन करने की मदद से, मैलवेयर के हमले का पता चलने पर पाया गया था. ये सर्वर कॉन्फ़िगरेशन फ़ाइलें, JavaScript, एचटीएमएल या PHP हो सकती हैं.
  3. हैकर की बनाई गई नई फ़ाइलों के लिए भी (404 कोड वाली गड़बड़ी) हटाना न भूलें. ऐसा हो सकता है कि आपने Search Console में यूआरएल हटाने वाले टूल का इस्तेमाल करके, इन फ़ाइलों को सबमिट किया हो या नहीं किया हो.
  4. अगर कमज़ोरी आपके कोड या क्रैक किए गए पासवर्ड में है तो उसे ठीक करें. इनपुट वैलिडेशन लाइब्रेरी या सुरक्षा ऑडिट से मदद मिल सकती है.
  5. अगर आपकी साइट का डेटाबेस है, तो अपने बैकअप में हैकर-बदले गए रिकॉर्ड को साफ़ करना शुरू करें. यह पक्का करने के लिए कि आपका डेटाबेस साफ़ है, रिकॉर्ड की ज़्यादा से ज़्यादा जांच करें.
  6. साइट से संबंधित सभी खातों के लिए एक और बार पासवर्ड बदलें (उदाहरण के लिए, फ़ाइल ट्रांसफ़र प्रोटोकॉल (एफ़टीपी) ऐक्सेस, डेटाबेस ऐक्सेस, सिस्टम एडमिन और सीएमएस खाते के लिए लॉगिन). यूनिक्स-आधारित सिस्टम पर, इस कोड का इस्तेमाल करें:
$passwd admin1

इस समय, आपकी साइट की एक बार संक्रमित बैकअप कॉपी में सिर्फ़ साफ़ डेटा होना चाहिए. इस साफ़ कॉपी को एक ओर रखें और कार्रवाई #5 पर जाएं.

5. गै़र-ज़रूरी सॉफ़्टवेयर हटाना

इस बारे में सोचें कि क्या आप अपने सर्वर पर मौजूद ऐसे विजेट, प्लगिन या ऐप्लिकेशन जैसे सॉफ़्टवेयर हटा सकते हैं जिनका अब साइट इस्तेमाल नहीं करती. इससे सुरक्षा बढ़ सकती है और आने वाले समय में रखरखाव आसान हो सकता है.

6. सभी सर्वर साफ़ करें

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

7. एक दीर्घकालिक रखरखाव योजना बनाएं

हमारा सुझाव है कि आप ये काम करें:

  • अपनी साइट के नियमित, अपने आप किए गए बैकअप बनाएं.
  • सॉफ़्टवेयर को अपडेट रखने के बारे में सतर्क रहें.
  • अपने सर्वर पर सभी ऐप्लिकेशन, प्लगिन और अन्य तीसरे पक्ष के सॉफ़्टवेयर इंस्टॉल करने से पहले, उनकी सुरक्षा के तरीकों को समझ लें. किसी एक सॉफ़्टवेयर ऐप्लिकेशन में सुरक्षा से जुड़े जोखिम की वजह से, आपकी पूरी साइट की सुरक्षा पर असर पड़ सकता है.
  • मजबूत पासवर्ड बनाना लागू करें.
  • मशीन में साइन इन करने के लिए इस्तेमाल किए जाने वाले सभी डिवाइसों को सुरक्षित रखें (अपडेट किया गया ऑपरेटिंग सिस्टम और ब्राउज़र).

8. अच्छी तरह जांचें कि क्लीनअप पूरा हो गया है

पक्का करें कि आप नीचे दिए गए प्रश्नों का "हां" में उत्तर दे सकते हैं:

  • अगर हैकर को उपयोगकर्ताओं की निजी जानकारी मिल गई है, तो क्या मैंने उचित कदम उठाए हैं?
  • क्या मेरी साइट सॉफ़्टवेयर का नवीनतम, सबसे सुरक्षित वर्शन चला रही है?
  • क्या मैंने ऐसे सभी गैर-ज़रूरी या इस्तेमाल नहीं किए गए ऐप्लिकेशन या प्लग इन हटा दिए हैं, जिनकी वजह से भविष्य में मेरी साइट की सुरक्षा और मज़बूत हो सकती है?
  • क्या मैंने अपने कॉन्टेंट को वापस लाया है और हैकर के कॉन्टेंट को हटा दिया है?
  • क्या मैंने उस मूल कारण वाली सुरक्षा कमज़ोरी को ठीक किया है जिसकी वजह से मेरी साइट हैक हो गई थी?
  • क्या अपनी साइट को सुरक्षित रखने की मेरी कोई योजना है?

अब अपनी साइट को फिर से ऑनलाइन लाया जा सकता है.