وردپرس هک شده است، چه باید کرد؟
WordPress Site Hacked؛ اگر این اتفاق برای شما پیش آمد، ممکن است دست و پای خود را گم کنید. در این مقاله به شما کمک میکنیم تا تشخیص دهید سایتتان هک شده است یا خیر، شما را به سمت پاکسازی سایت و ایمن کردن هرچه بیشتر آن راهنمایی میکنیم و درنهایت به شما چند نکته برای جلوگیری از هک شدن وردپرس در آینده را متذکر میشویم.
هک شدن وردپرس: نشانههای در خطر بودن سایت
سایت وردپرس آن طور که باید عمل نمیکند؟ ولی از کجا میدانید این مشکل به دلیل هک شدن است؟ چند نشانه از هک شدن سایت را ببینید:
نمیتوانید وارد سایت شوید. (Login کنید)
- سایت بدون اینکه خودتان کاری کرده باشید، تغییر کرده است(به عنوان مثال، صفحه نخست با یک صفحه استاتیک جایگزین شده است یا محتویات جدید اضافه شده است.)
- سایت ریدایرکت شده و کاربر را به سایت دیگری هدایت میکند
- وقتی شما یا کاربران سعی به دسترسی سایت دارید، یک پیغام خطا در مرورگر دریافت میکنید.
- وقتی برای سایت جست و جو میکنید، گوگل به شما اخطار میدهد که ممکن است هک شده باشد
- از افزونه یا پلاگین امنیتی پیامی مبنی بر یک هک یا تغییر ناگهانی دریافت کرده اید.
- فراهم کننده سرور میزبان به شما درمورد فعالیت غیر معمول در اکانت اخطار داده است
بیایید به هر کدام با جزئیات بیشتری نگاه کنیم:
نمیتوانید لاگین کنید
اگر نمیتوانید وارد سایتتان شوید، ممکن است نشانه هک شدن سایت باشد. هرچند به احتمال بیشتر رمز عبورتان را فراموش کردهاید پس قبل از فرض اینکه هک شده اید، ریست کردن رمزتان را امتحان کنید. اگر قادر به اینکار نیستید، این یک نشانه خطر است. حتی اگر هم بتوانید وارد سایت شوید، باز هم ممکن است هک شده باشید و باید کمی بیشتر در این مورد تحقیق کنید.
هکرها گاهی اوقات کاربران را حذف میکنند یا رمز عبور آنها را تغییر میدهند تا به آنها اجازه دسترسی ندهند. اگر شما نمیتوانید پسوردتان را ریست کنید، ممکن است حساب کاربری شما حذف شده باشد که نشانه ای از هک شدن است.
سایت تغییر کرده است
یکی دیگر از شکلهای هک کردن، جایگزین کردن صفحه نخست (Homepage) با یک صفحه استاتیک است. اگر ظاهر سایت کاملا متفاوت به نظر میرسد و از قالبهای شما استفاده نمیکند، احتمالا هک شده است.تغییرات ممکن است نامحسوس تر باشند. مانند اضافه کردن محتویات فریبنده، یا لینک به سایتهای نامطلوب؛ اگر فوتر سایت پر از لینک هایی شده است که شما اضافه نکرده اید، مخصوصا لینکهایی که پنهان و یا با فونت سایز کوچک نوشته شده اند، احتمالا هک شده اید.
قبل از اینکه فکر کنید هک شدهاید، ویرایشگر و اکاربران مدیر دیگر سایت را بررسی کنید، تا مطمئن شوید که آنها تغییر را ایجاد نکردهاند.اگر قالب شما از یک منبع معتبر نیست و شما به تازگی آن را به روز رسانی کرده اید، ممکن است، آن موجب این مشکلات باشد
سایت ریدایرکت میشود
بعضی وقت ها هکرها متنی اضافه میکنند تا زمانی که کاربران از سایت شما بازدید میکنند، ریدایرکت شوند، و احتمالا به سایتی که شما دوست ندارید کاربرانتان به آن منتقل شوند.در بسیاری موارد این مورد به دلیل آپدیت نبودن پلاگینها و پوسته رخ میدهد، مانند آسیبپذیری کمپین ریدایرکت وردپرس که چندی پیش رخ داد.
این اتفاق زمانی برای من پیش آمد که یک سایت مدرسه را مدیریت میکردم و به یک سایت زوج یابی ردایرکت میشد. همانطور که میتوانید تصور کنید، مشتری من از این اتفاق راضی نبود و من مجبور بودم همه چیز را رها کنم و این مشکل را فورا حل کنم. مشخص شد که در سرور یک حفره امنیتی وجود داشت نه در سایت من، که این دلیلی است برای اینکه باید از یک هاست خوب استفاده کرد.
اخطار مرورگر
اگر مرورگرتان اخطار دهد، سایت شما در معرض خطر قرار گرفته، ممکن است نشانهای از هک شدن سایت باشد. همچنین ممکن است بخاطر چند کد در قالب و یا پلاگین باشد که بایدحذف شوند، یا مشکلات دامنه با گواهینامه SSL
اخطار موتورهای جست و جو
اگر در حین جستجو به سایتی برخورد کنید که هک شده باشد، ممکن است گوگل این اخطار را نمایان کند. ممکن است بدین معنی باشد که Sitemap هک شده که مسلما بر روی نحوه بررسی سایت توسط گوگل تاثیر میگذارد؛ حتی ممکن است یک مشکل بزرگتر وجود داشته باشد، برای همین باید سریع متوجه شد که چه اتفاقی افتاده است
چرا سایت وردپرس هک میشود؟
چندین دلیل برای هک شدن سایت وردپرس وجود دارد، ولی مروری بر معمول ترین عوامل خواهیم داشت:
- رمزعبور ضعیف و ناامن
شایع ترین دلیل هک شدن سایت است. معمولترین پسورد مورد استفاده در دنیا “Password” است!رمزعبور امن و قوی لزوما فقط برای حساب کاربری مدیر وردپرس نیست، بلکه برای تمام کاربران و جنبههای سایت شما از جمله FTP و Host باید استفاده شود.
- نرم افزارهای از رده خارج شده
پلاگینها و پوستهها، همانند خود وردپرس، نیازمند بروزرسانی امنیتی هستند که باید بر روی سایت اجرا شود، اگر شما قالب، پلاگین، و هسته وردپرس خود را بروزسانی نکنید، سایت را آسیب پذیر کرده اید.
- کدهای ناامن
پلاگینها و قالب هایی که از منابع معتبر نیستند ممکن است باعث آسیب پذیری در سایت شوند؛ اگر شما به پلاگین و قالب رایگان وردپرس نیاز دارید، آنها را از راهنمای پوسته های رسمی نصب کنید.
درهنگام خریدن قالب و پلاگین پریمیوم، اعتبار فروشنده را بررسی کرده و از افراد و منابعی که مورد اعتماد است توصیه بگیرید. هرگز پلاگینهای null شده، که پلاگینهای نامحدود از سایت های رایگان هستند، و برای آسیب رساندن و جمع آوری اطلاعات طراحی شدهاند، را نصب نکنید.
سایت وردپرس چگونه هک میشود؟
اگر میخواهید بیشتر درمورد نحو هک شدن سایتهای وردپرس بدانید، راه های اصلی که هکرها به کار میگیرند تا وارد سایت شوندرا ذکر میکنیم:
- بَکدُر یا در پشتی(Backdoors) – میانبرهایی برای دستیابی به سایت را مهیا میکنند. به عنوان مثال از طریق اسکریپت یا فایل های مخفی شده. مانند آسیب پذیری Tim Thumb در سال 2013
- فارما هک (Pharma Hacks) – یک راه مورد استفاده برای وارد کردن کدهای مخرب به نسخه های از رده خارج شده ی ودپرس
- بروت فورس(Brute-force login attempts) – وقتی که هکر از اتوماسیون برای به کار گرفتن از رمزهای ضعیف و دسترسی به سایت استفاده میکنند
- ریدایرکت های مخرب (Malicious redirects) – وقتی است که از Backdoor برای اضافه کردن ریدایرکتهای مخرب به سایت استفاده شده است.
- Cross-site scripting(XSS) – شایع ترین آسیبپذیری پیدا شده در پلاگینهای وردپرس است، این حملات اسکریپتهایی را وارد سایت میکنند که به هکر اجازه میدهد، کد های مخربی را به مرورگر کاربر ارسال کند.
- Denial of Service (DoS) – زمانی است که خطاها یا باگ موجود در کدهای یک وبسایت، ترافیک سایت را به قدری بالا میبرد که عملکرد آن را نختل نماید.
این حملات بسیار ترسناک به نظر می آید، ولی با برداشتن گامهایی میتوان از وبسایت در برابر آنها محفاظت کرد. ابتدا مراحلی که در زمان هک شدن وردپرس باید انجام داد بررسی میکنیم:
سایت وردپرس هک شد، چه باید کرد؟ ( راهنمای گام به گام)
مراحلی که باید انجام شود به نحوه هک شدن سایت بستگی دارد و ممکن است نیازی نباشد تمامی آنها انجام گردد. مراحلی که طی خواهیم کرد به شرح زیر است:
- خونسرد باشید، دست و پای خود را گم نکنید
- سایت خود را در حالت نگهداری (Maintenance mode) قرار دهید
- پسوردها را ریست کنید
- از میزبان وب بخواهید اسکن بدافزار انجام شود
- قالبها و پلاگینها را بروزرسانی کنید
- کاربران را حذف کنید
- فایلهایی را که نمیخواهید حذف کنید
- Sitemap را پاکسازی کنید
- پلاگینها و قالبها را دوباره نصب کنید
- هسته وردپرس را مجددا نصب کنید.
- دیتابیس خود را پاکسازی کنید
مرحله 1 :خونسرد باشید، دست و پای خود را گم نکنید
بدترین چیزی که میتوان به کسی که دست و پای خود را گم کرده گفت” خونسرد باش” است. ولی اگر قرار باشد مشکل را تشخیص داده و رفع کنید، باید ذهنی آرام داشته باشید.
اگه نمیتوانید درست فکر کنید به سادگی سایت خود را در حالت Maintenance قرار داده و برای چند ساعت آن را رها کنید تا آرام شوید، درست است گفتن این کلام از انجام دادن آن راحتتر است ولی این مساله در این شرایط، کاملا ضروری است.
مرحله 2 :سایت خود را در حالت نگهداری (Maintenance mode) قرار دهید
شما نمیخواهید بازدیدکنندگان سایت را در معرض خطر ببینند، همچنین تمایل ندارید در حال رفع مشکلات تغییرات ظاهری سایت برای عموم نمایش داده شود؛ پس سایت را در حالت نگهداری یا Maintenance قرار دهید.
اگر نمیتوانید وارد سایت وردپرس شوید، فعلا امکان این کار وجود ندارد، ولی به محض اینکه توانستید وارد سایت شوید این کار را انجام دهید.
پلاگینهایی مانند Coming Soon Page و Maintenance Mode به شما اجازه میدهد سایت را در حالت Maintenance قرار دهید که به نظر بیاید قطعی برنامه ریزی شده دارید نه اینکه درحال تعمیر پس از هک شدن هستید.بعد از اینکه این کار را انجام دادید، خیالتان راحت میشود که کسی نمیبیند چه خبر شده است!
مرحله 3 : رمزهای عبور را ریست کنید
از آنجایی که شما نمیدانید، از چه رمزعبوری برای دسترسی به سایت استفاده شده، مهم است که تمام رمزها را تغییر دهید، تا از استفاده مجدد آن توسط هکر جلوگیری شود. این تنها محدود به رمز وردپرس نیست: بلکه شامل رمز SFTP، رمز دیتابیس و رمز هاست نیز میشود.
همچنین باید مطمئن شوید، که کاربران مدیر هم رمزعبور حساب کاربری خود را تغییر میدهند.
مرحله 4:از میزبان وب بخواهید اسکن بدافزار انجام شود
میتوان از شرکت میزبان وب بخواهید که اسکن Malware روی فضای شما انجام داده و فایلهای آلوده را قرنطینه نماید، قبل از انجام این کار بکاپ بگیرید.
مرحله 5 : قالب ها و پلاگین ها را آپدیت کنید
مرحله ی بعدی این است که مطمئن شوید تمام قالبها و پلاگینها بآپدیت هستند. به Dashboard > Updates رفته و هرچیزی را که از رده خارج شده است را به روز رسانی کنید. باید اینکار را قبل از هرنوع تعمیر دیگری انجام دهید چون اگر یک پلاگین یا قالب باعث آسیب پذیری سایت شده باشد، اقدامات بعدی ممکن است بخاطر این آسیب پذیری بی اثر شوند. پس قبل از ادامه دادن مطمئن شوید همه چیز بروز رسانی شده است.
مرحله 6 : کاربران را حذف کنید
اگر حساب کاربری مدیری به سایت وردپرس وارد شده است که آن را نمیشناسید، وقت آن است که آن را حذف کنید. قبل از انجام این کار، با مدیرهای مجاز چک کنید که جزئیات حساب کاربریشان را تغییر نداده باشند.
به بخش کاربران در پیشخوان وردپرس رفته و بر روی لینک Administrator Link بالای لیست کاربران کلیک نمائید، اگر در اینجا کاربرانی هستند که نباید حضور داشته باشند، بر روی چک باکس کنار آنها کلیک کرده و Delete را در Bulk Actions انتخاب نمائید.
مرحله 7 : فایلهایی را که نمیخواهید حذف کنید
برای اینکه متوجه شوید در فایلهای نصبی وردپرس فایلی هست که نباید باشد باید پلاگین امنیتی مانندWordFence را نصب کنید تا سایت را اسکن نموده وو فایلهای مشکوک را به شما اعلام کند. یا از یک سرویس امنیتی مانند Sucuri استفاده کنید.
مرحله 8 : سایت مپ خود را پاک کنید و دوباره سایت خود را به گوگل ارسال نمائید(Resubmit to Google)
یکی از دلایل پرچم قرمز نشانه گذاری شدن توسط موتورهای جست و جو ممکن است این باشد که فایل sitemap.xml شما هک شده باشد. در مواردی مشاهده شده، یک Sitemap به لینک های جعلی و کارکترهای خارجی آلوده شده بود.
شما میتوانید Sitemap را با کمک پلاگین سئو(SEO) بازسازی کنید، اما در عین حال شما باید به گوگل بگویید که سایت پاکسازی شده است. سایت را به کنسول جستجوی گوگل (Google Search Console)اضافه کنید و یک گزارش Sitemap ثبت کنید تا به آنها بگویید که میخواهید سایت را جست و جو کند. البته این به شما تضمین نمیدهد که سایت فورا جست و جو میشود، ممکن است تا دو هفته زمان نیاز داشته باشد نمیتوانید برای تسریع این فرآیند کاری کنید پس فقط صبور باشید.
مرحله 9 : پلاگین ها و قالب ها را دوباره نصب کنید
اگر سایت مشکل دارد، شما باید هر پلاگین و قالبی که هنوز بروز رسانی نکرده اید را دوباره نصب کنید. آنها را از روی صفحه پلاگین و قالب غیرفعال، حذف و دوباره نصب کنید. اگر هنوز سایت را در حالت Maintenance قرار نداده اید ابتدا این کار را انجام دهید.
اگر پلاگین یا قالبی را از یک فروشگاه قالب یا پلاگین خریداری کردهاید و نمیدانید تا چه اندازه ایمن است، اکنون فرصت این است که ملاحظه کنید که آیا به استفاده کردن از آن ادامه میدهید. اگر یک پلاگین یا قالب رایگان را از جایی غیر از راهنمای قالب و تم های وردپرس دانلود کرده اید، دوباره آن را نصب نکنید. به جای آن، از یک راهنمای پلاگین یا قالب آن را نصب و یا نسخه ی قانونی آن را خریداری کنید. اگر از عهده هزینه آن برنمی آیید، با یک قالب/پلاگین رایگان از فهرست راهنمای پلاگین یا قالب ها که همان کارکرد را دارد آن را جایگزین کنید.
اگر این کار مشکل را حل نکرد، سری به صفحات پشتیبانی برای تمام قالب ها و افزونه های خود بزنید.ممکن است کاربران دیگار با مشکلاتی رو به رو باشند، که در این حالت شما باید این پلاگین یا پوسته را پاک کنید تا این آسیب پذیری حل شود.
مرحله 10 : هسته وردپرس را دوباره نصب کنید
اگر تمام کارهای دیگر شکست خوردند، شما باید هسته وردپرس را دوباره نصب کنید. اگر فایلهای داخل core در معرض خطر هستند، شما باید آنها را با نصب مجدد وردپرس سالم جایگزین کنید.
فایلهای وردپرس سالم را از طریق FTP آپلود کنید. بهتر است که از فایلهای wp-config.php و .htaccess خود یک پشتیبان تهیه نمائید
اگر از نصب خودکار استفاده کردید، دوباره از آن استفاده ننمائید، چرا که دیتابیس شما را باز نویسی میکند و شما محتوایتان را از دست خواهید داد. به جای آن از SFTP برای آپلود کردن فایل ها استفاده کنید.
مرحله 11 : دیتابیس خود را پاکسازی کنید
اگر دیتابیس شما هک شده باشد، شما باید آن را نیز پاکسازی نمائید. پاکسازی دیتابیس ایده خوبی است زیرا یک دیتابیس پاکسازی شده دیتای قدیمی کمتری خواهد داشت و فضای کمتری اشغال خواهد کرد، در نتیجه سایت سریعتر خواهد شد.
از کجا بدانیم که دیتابیس وردپرس هک شده است؟ اگر از یک پلاگین یا سرویس امنیتی استفاده میکنید، اسکن کردن سایت با آن به شما میگوید که آیا دیتابیس در معرض خطر بوده است. همچنین شما میتوانید از یک پلاگین مانند، NinjaScanner که دیتابیس را اسکن میکند، استفاده نمائید.پلاگین WP-Optimize به شما اجازه میدهد تا دیتابیس را پاکسازی کنید و آن را برای آینده بهینه سازی کنید.
چگونه از هک شدن وردپرس خود جلوگیری کنیم؟
حالا که شما سایت را پاکسازی و رمزها را ریست کردهاید، کمی شرایط بهتر شده و سایت ایمنتر شده است ولی میتوانید کارهای بیشتری برای جلوگیری از هک شدن مجدد سایت و رخ دادن مشکلی مشابه انجام دهید:
1. مطمئن شوید همه رمز عبورها ایمن هستند
اگر هنوز این کار را نکردهاید، مطمئن شوید که تمام رمزهای مربوط به سایت، نه فقط رمزهای عبور پیشخوان وردپرس، ریست شدهاند و از رمزهای عبور قوی استفاده میشود.
یک پلاگین امنیتی به شما اجازه میدهد که کاربران را مجبور کنید از رمز عبور قوی استفاده کنند،همچنین میتوانی رمز عبور دوم یا two-factor authentication را به سایت اضافه کرد تا برای هکرها درست کردن حساب کاربری سخت تر شود.
2. سایت را آپدیت نگه دارید
بروز نگه داشتن سایت مهم است. هربار که قالبها، افزونهها، یا وردپرس آپدیت میشود، باید این آپدیت را اجرا کنید، چون بیشتر وقتها شامل وصله ها و پچهای امنیتی هستند.
شما میتوانید با ویرایش فایل wp-config.php یا با نصب کردن پلاگین برای انجام دادن این کار، بروز رسانی خودکار را فعال کنید. اگر ترجیح میدهید این کار را انجام ندهید چون میخواهید بروز رسانی را ابتدا امتحان کنید، یک پلاگین امنیتی شما را وقتی که باید به روز رسانی کنید، مطلع میکند.
وقتی که سایت را بروز رسانی میکنید مطمئن شوید که اینکار را به درستی انجام میدهید مثلا یک بک آپ یا پشتیبان تهیه نموده و یا بر روی یک سرور آزمایشی(اگر دارید) آپدیتها را امتحان کنید.
3. پلاگین ها و قالب های ناامن را نصب نکنید
در آینده هم هنگام نصب کردن پلاگین وردپرس، مطمئن شوید که بر روی نسخه وردپرس شما آزمایش شده باشد، همچنین قالب را از یک منبع معتبر دانلود نمائید.
همیشه پلاگین ها و قالب های رایگان را از راهنماهای قالب و پلاگین دانلود کنید: وسوسه نشوید که آنها را از یک وبسایت شخص سوم دانلود کنید. اگر پلاگین ها یا قالبهای پریمیوم میخرید، اعتبار فروشنده را بسنجید و به دنبال توصیه بگردید.
4. نصب وردپرس را پاکسازی کنید
اگر پلاگین یا قالب هایی داری که آنها را نصب کرده ولی هنوز فعال نشدهاند آنها را حذف نمائید. اگر فایل یا نصبهای قدیمی وردپرس را در محیط هاست دارید که از آنها استفاده ای نمیکنید، وقت این است که آنها را هم حذف کنید. هر دیتابیسی که از آن استفاده نمیکنید را نیز حذف نمائید.
اگر نصبهای قدیمی و استفاده نشده وردپرس بر روی سرور دارید،باید بگویم که آنها بسیارآسیب پذیر هستند، چون احتمال اینکه شما آنها را بروز رسانی کنید بسیار کم است.
4.گواهینامه SSL را بر روی سایت نصب کنید
SSL یک لایه امنیتی به سایت اضافه میکند و رایگان است. اگر سرویس میزبان وب شما SSL رایگان ارائه نمیدهد، میتوانید از پلاگین SSL Zen برای اضافه کردن Let’s Encrypt SSL رایگان استفاده کنید.
5. از هاست های ارزان قیمت دوری کنید
هاست های ارزان به این معنا است که شما فضای سرور را با صدها مشتری دیگر شریک هستید.این امر نه تنها سایت شما را کند میکند، بلکه شانس اینکه سایتهای دیگر باعث ناامنی سرور شود را افزایش میدهد.
هاست های ارزان قیمت به احتمال کمتری امنیت سرور را تامین کرده و به احتمال کمتری در صورت هک شدن به شما کمک میکنند.
7. یک دیوار آتش یا Firewall درست کنید
یک پلاگین یا سرویس امنیتی مانند Sucuri به شما اجازه میدهد یک Firewall برای سایت پیکربندی کنید. این کار یک لایه حفاظتی بیشتری برای مقابله با هکرها ارائه داده و شانس حملاتی مانند DOS را بر روی سایت کاهش میدهد.
8. یک پلاگین امنیتی نصب کنید
اگر یک پلاگین امنیتی بر روی سایت نصب کنید، شما را از هر فعالیت مشکوکی مطلع میسازد. این ممکن است شامل ورودهای غیر مجاز، یا اضافه شدن فایلهایی که نباید حضور داشته باشند شود. بازهم به هشدارهایی که پلاگین داده است برای فهمیدن اینکه مشکل چیست ، مراجعه کنید
9. یک سرویس امنیتی را مد نظر قرار دهید
شاید بخواهید یک سرویس امنیتی مانند Sucuri را مد نظر قرار دهید، که سایت شما را تحت نظر گرفته و درصورت هک شدن مجدد آن را رفع کند.
ارزان قیمت نیست، اما اگر وبسایتتان برای درآمد کسب و کارتان ضروری است، مخارج خودش را بازمیگرداند. Sucuri سایت شما را تحت نظر گرفته، و درصورت وجود حفره امنیتی شما را مطلع نموده و آن را رفع میکند. این بدین معنی است که شما خودتان نیازی به طی کردن دوباره مراحل پاکسازی سایت ندارید.
خلاصه
هک شدن وبسایت تجربه ناخوشایندی است؛بدین معنا که سایت در دسترس کاربرها نیست، که میتواند کسب و کارتان را تحت تاثیر قرار دهد.شما باید به سرعت اقدام کنید، این یک جمع بندی از مراحلی است که درصورت هک شدن وردپرس باید انجام دهید:
• ریست کردن پسوردها
• بروز رسانی کردن قالب و پلاگین ها
• حذف کردن کاربرانی که نباید حضور داشته باشند
• حذف کردن فایل هایی که به آنها نیاز ندارید
• پاکسازی سایت مپ (Sitemap)
• نصب کردن مجدد پلاگینها، قالبها و هسته وردپرس (WordPress core)
• پاکسازی دیتابیس درصورت لزوم