وردپرس به دلیل محبوبیتی که در بین سیستمهای مدیریت محتوا دارد همواره در معرض هک و نفوذ قرار دارد استفاده از وردپرس در بسیاری از سایتها باعث گسترده شدن موضوع هک سایت وردپرسی شده است.یکی از دغدغههای مهم مدیران وردپرسی تامین امنیت وردپرس هست .مهمترین عامل افزایش امنیت وبسایت بروزرسانی همیشگی و رعایت اصول امنیتی است. چنانچه اصول امنیتی رعایت نشود، یک وبسایت با اشتباهات بسیار ساده در کمترین زمان ممکن توسط هکرهای مبتدی نیز هک خواهد شد.
هک سایت و نفوذ در سایت بدترین اتفاقی است که میتواند برای یک مدیر وبسایت اتفاق بیفتد ، حتی اگر شما بهترین کارها برای بستن راه نفوذ هکرها را انجام داده باشید باز هم احتمال دارد راهی برای نفوذ به سایت شما پیدا کنند. بهتر است موارد امنیتی لازم برای تامین امنیت وب سایت خود را انجام دهید تا دچار هک نشوید در صورتی که سایت شما هک شده باشد اقدامات زیر را برای بازسازی سایت خود انجام دهید .
1. از سایت فعلی خود پشتیبان بگیرید
از سایت هک شده خود قبل از هر تغییری ابتدا فول بک آپ بگیرید یا پشتیبان گیری کامل کنید تا در صورت نیاز از آن استفاده کنید همچنین از دیتابیس ، تصاویر ، قالب ها ، فایل wp-config.php ، افزونه ها به طور جداگانه پشتیبان تهیه کنید ، سپس تمام اطلاعات در public_html را به پوشه دیگری منتقل کنید تا داخل public_html خالی شود. لیستی از قالبها و افزونه های نصب شده فعلی خود تهیه نمایید.
2. آخرین نسخه وردپرس را دانلود کنید
آخرین نسخه وردپرس را از سایت وردپرس فارسی دانلود کنید و آن را در پوشه public_html خود آپلود کنید و سپس فایل های داخل پوشه wordpress را به داخل public_html منتقل کنید اکنون شما یک سایت تازه با فایل های سالم وردپرس دارید .
3. تغییر اطلاعات دیتابیس در فایل تنظیمات وردپرس
رمز دیتابیس سایت خود را عوض کنید بهتر است یوزر جدید با رمز پیچیده ایجاد کنید و مجدد به دیتابیس متصل کنید در این مرحله لازم است که اطلاعات دیتابیس را که در آن تغییر ایجاد کرده اید را در فایل wp-config.php وردپرس وارد نمایید بنابراین وارد این فایل شوید و اطلاعاتی که در مراحل قبل تغییر داده بودید (نام کاربری و رمز عبور) جدید را در بخش های DB_USER و
DB_PASSWORD وارد کنید. بدیهی است که اگر فایل wp-config.php را نیز با فایل های اورجینال وردپرس جایگزین کرده باشید، کلیه ی اطلاعات در این بخش باید از نو وارد شوند. (اعم از نام دیتابیس، پیشوند جداول و …)
⇐ آموزش ساخت دیتابیس در cpanel
4. اقدامات لازم پس از نصب مجدد وردپرس
اکنون وب سایت شما به پایگاه داده قدیم وصل شده است و احتمالا به دلیل نبود قالب ها و افزونه ها سایت شما با مشکلات زیادی مواجه شده است. ابتدا قالب سالم مشابه قالب فعلی خود را در مسیر wp-content/themes آپلود و آنزیپ نمایید . این مورد هم دقیقا مشابه اتفاقی هست که برای هسته وردپرس رخ خواهد داد. باید برای قالب وردپرس که استفاده میکنید و کلیه افزونههایی که نصب کرده اید مجددا همین کار رو تکرار کنید. البته از این نکته هم غافل نباشید که صرفا فعال بودن قالب و افزونه شرط نیست. بلکه باید افزونهها و قالبهایی که غیرفعال هستند و از آنها استفاده نمیکنید هم با نسخه مطمئن و بروز شده جایگزین شوند.
اگر افزونه یا قالب وردپرس از مخزن وردپرس نصب شده است میتوانید در مخزن وردپرس افزونه یا قالب مورد نظر را جستجو و دانلود کنید . سپس فایل zip دانلودی را در مسیر wp-content داخل پوشههای plugins برای افزونهها و پوشه themes برای قالب وردپرس آپلود کرده و از حالت زیپ خارج کنید تا جایگزین پوشههای فعلی در هاست شود .
⇐ آموزش نصب یا تعویض قالب در وردپرس
5. عکس های وردپرس خود را مجدد در پوشه آپلود اضافه کنید
تصاویر وردپرس خود را مجدد در پوشه upload به ترتیب پوشه اضافه کنید توجه کنید در صورت اشتباه در این مورد عکس های پست شما بارگزاری نمی شود.فایل های php موجود در پوشه upload را پیدا و حذف کنید و سپس کل این پوشه را مجدد آپلود کنید ، حتما این پوشه را با آنتی ویروس خود اسکن کنید و سعی کنید با جستجو در پوشه ها ی آن فایل های مشکوک را پیدا و حذف کنید.
⇐ آموزش آپلود فایل در هاست سی پنل
6. محتویات داخل htaccess. را چک کنید
بسیاری از هکر ها با توجه به مخفی بودن این فایل برخی از کد های مخرب را داخل این فایل اضافه می کنند. برای نمایش فایل .htaccess در سی پنل طبق آموزش عمل کنید . پس از بازسازی کامل وردپرس و نمایش صحیح سایت خود اقدامات زیر را انجام دهید .پس از تکمیل موارد بازسازی اقدامات زیر را نیز در سایت و هاست خود اعمال نمایید
⇐ نمایش فایل های مخفی و htaccess در CPanel
7. تغییر رمز وردپرس و هاست
در ادامه کار رمز مدیریت وردپرس و رمز ورود به هاست را تغییر دهید و رمز پیچیده قرار دهید اگر سایت شما کاربران زیادی دارد بهتر است اعلام کنید تا کاربران سایت نیز برای بالا بردن امنیت سایت و جلوگیری از لو رفتن اطلاعات خودشان رمز شان رو تغییر دهند.
⇐ آموزش تغییر پسورد هاست سی پنل Cpanel
8. بررسی دیتابیس وردپرس
دیتابیس سایت خود را بررسی نمایید . وارد دیتابیس متصل به سایت شوید و جداول دیتابیس را بررسی کنید تا جدول مشکوکی وجود نداشته باشد بهتر است یک دیتابیس جدید در هاست ایجاد کنید و دیتابیس فعلی را مجدد در آن ایمپورت کنید و نام دیتابیس را در فایل wp-config.php آپدیت نمایید تا مطمئن شوید هکر به دیتابیس فعلی دسترسی نداشته باشد .
9. فعال سازی کد امنیتی
با استفاده ازآموزش فعالسازی کد امنیتی Captcha در وردپرس کد امنیتی را در سایت خود نصب و فعال کنید و در تمام فرم های سایت خود نظیر ثبت نام و تماس با ما و نظرات و فرم لاگین به مدیریت وردپرس حتما کد کپچا را فعال نمایید تا امنیتی بالاتری داشته باشید و از ارسال اسپم جلوگیری نمایید .
⇐ آموزش فعالسازی کد امنیتی Captcha در وردپرس
10. اسکن امنیتی هاست
اگر در هاست خود اسکنر فعال دارید تمامی اطلاعات موجود در هاست را اسکن نمایید ، اگر افزونه اسکنر فعال در هاست ندارید به هاستینگ خود اعلام نمایید تا هاست شما را اسکن نماید.
11. تغییر آدرس صفحه ورود به وردپرس
صفحه ورود در وردپرس یکی از صفحات مهمی هست که نگهداری از اون برای جلوگیری از هک سایت و برای جلوگیری از حملات DDOS بسیار مهم و کلیدی هست. وردپرس به صورت پیشفرض از آدرس wp-login.php برای صفحه ورود استفاده میکنه که با مراجعه کردن به آدرس wp-admin هم به صورت خودکار به این صفحه هدایت خواهید شد. بنابراین اگر شخصی نام کاربری و رمز شما را در اختیار داشته باشد به راحتی میتواند وارد پیشخوان وردپرس شود و اقدامات مخرب خود را انجام دهد برای همین میتونید این آدرس و آدرس wp-admin را تغییر داده و از آدرس دلخواه استفاده کنید افزونه ای مانند افزونه HC Custom WP-Admin URL که در مخزن وردپرس موجود است برای تغییر آدرس ورود به مدیریت وردپرس مناسب است میتوانید این افزونه را نصب کنید پس از نصب و فعال سازی این افزونه باید به تنظیمات وردپرس مراجعه کرده و وارد منوی پیوندهای یکتا در وردپرس شوید و آدرس مورد نظر خود در بخش WP-Admin slug برای صفحه ورود به وردپرس را وارد نمایید و در نهایت روی دکمه ذخیره تغییرات کلیک کنید تا آدرس صفحه ورود به وردپرس در سایت شما به آدرس دلخواهی که وارد کردید تغییر داده شود بعد از اینکه تغییرات اعمال شد حالا از پیشخوان وردپرس خارج شوید ، اگر به آدرسهای wp-admin و wp-login.php مراجعه کنید خواهید دید که به صفحه اصلی سایت ریدایرکت خواهید شد. با افزودن نام ایجاد شده بعد از نام دامین به صفحه لاگین وردپرس دسترسی خواهید داشت .
⇐ آموزش تغییر آدرس ورود به مدیریت وردپرس
12. محدودیت در تعداد دفعات ورود به وردپرس
افزونهای با نام Login LockDown در مخزن وردپرس برای افزایش امنیت صفحه ورود وردپرس و کاهش تعداد دفعات ورود رمز در وردپرس موجود است با نصب و فعالسازی افزونه و ست کردن تنظیمات میتوانید تعداد دفعات ورود رمز را مشخص کنید در صورتی که تعداد بیش از حد مجاز تعریف شده توسط شما باشد صفحه لاگین قفل خواهد شد .
13. محدودیت در ورود با ایمیل در وردپرس
در وردپرس شما قادر خواهید بود با استفاده از ایمیل ثبت شده هنگام ثبت نام و یا نصب وردپرس در مدیریت لاگین نمایید برای غیرفعال کردن این قابلیت وارد هاست خودت شده و سپس به مسیر /public_html/wp-content/themes/ مراجعه کنید. حال وارد پوشه قالبی که از آن استفاده میکنید شده و قطعه کد زیر را در فایل فانکشن (functions.php) قالب قرار داده و ذخیره کنید.
remove_filter( ‘authenticate’,’wp_authenticate_email_password’, 20 );
بعد از قرار دادن کد دیگر امکان ورود با ایمیل در وردپرس را نخواهید داشت و فقط با استفاده از نام کاربری میتونید وارد وردپرس شوید.
14. تغییر پیشوند جداول وردپرس
در حالت پیشفرض، وردپرس از _wp بهعنوان پیشوند جداول در پایگاه داده وردپرس استفاده میکند . اگر هنگام نصب وردپرس اقدام به تغییر دادن آن نکرده باشید امنیت سایت شما از بخش دیتابیس کاهش پیدا خواهد کرد بهتر است جهت بالا بردن امنیت پیشوند جداول خود را تغییر دهید برای تغییر پیشوند در هاست وارد بخش phpmyadmin شوید و پس از انتخاب دیتابیس سایت خود در تب های بالا روی ستون Export کلیک کنید تا یک نسخه بک آپ از دیتابیس تهیه کنید. فایل دیتابیس را در سیستم خود با استفاده از نرم افزار notepad++ باز کنید با استفاده از گزینه ctrl+f پنجره find باز می شود در تب دوم یعنی Replace در بخش Find what پیشوند فعلی وردپرس را وارد نمایید و در بخش replace with پیشوند جدید را وارد کنید و گزینه Replace All را بزنید تا تمامی پیشوندها جایگزین شود سپس تغییرات را ذخیره نمایید . جدوال دیتابیس را در phpmyadmin در جدول مربوطه انتخاب و از دیتابیس دراپ کنید سپس فایل جدید دیتابیس را مجدد ایمپورت نمایید به این ترتیب تمامی پیشوندها تغییر می یابد .
⇐ آموزش تغییر پیشوند جداول وردپرس
15. استفاده از SSL در وردپرس
استفاده از پروتکل امن HTTPS این امکان را به سایت شما میدهد که کلیه دادهها در محیطی امن رد و بدل شوند. بنابراین با استفاده از SSL در وردپرس میتونید امنیت سایت را در حالتهای مختلفی افزایش دهید. حتما از SSL استفاده کرده و امنیت وردپرس را بیشتر کنید.
⇐ آموزش فعال کردن افزونه Really Simple SSL
16. استفاده از افزونه امنیت وردپرس
افزونههای امنیتی مختلفی برای وردپرس ساخته شدهاند که امکان فراهم کردن قابلیتهای امنیتی را در وردپرس به شما خواهند داد. افزونه wordfence وردپرس یکی از پرطرفدارترین افزونههای امنیتی در وردپرس هست که به شما امکان افزایش امنیت وردپرس و جلوگیری از هک سایت را خواهد داد.میتوانید این افزونه را نصب و تنظیمات لازم را انجام دهید .
17. بازگردانی بک آپ در وردپرس
اگر در نهایت روش های گفته شده مشکل هک را برطرف نکرد و سایت شما دچار آسیب جدی شد آخرین راهکار این هست که آخرین بک آپ سایت که سالم و حاوی اطلاعات صحیح است ریستور شود با ریستور کردن این فایل برخی دادههای سایت رو از دست خواهید داد که با مدتی فعالیت کردن جای جبران دارد و میتوانید باز به همین وضعیت و رتبه فعلی برسید .
18. از امن بودن کامپیوتر خود اطمینان حاصل کنید
همیشه این مسئله را در نظر بگیرید که همه چیز میتواند از کامپیوتر خود شما شروع شود. بنابراین اگر از قبل از هک شدن سایت از آنتی ویروس و فایروال قوی بر روی کامپیوتر خود استفاده نمیکردید، الان وقت آن رسیده که کامپیوترتان را به دنبال Keylogger ها و malware ها اسکن کنید. برای این کار میتوانید از نرم افزاری مثل Malwarebytes استفاده کنید. این نکته را هم فراموش نکنید که استفاده از انتی ویروس معتبر و قدرتمند، بر روی کامپیوترتان یک امر ضرروری است.
19. به روز نگهداشتن وردپرس
وردپرس یک نرم افزار متن باز است که به طور مرتب نگهداری و بروزرسانی می شود.به طور پیشفرض وردپرس به طور خودکار بروزرسانی های سبک را انجام می دهد. اما برای آپدیتهای عمده لازم است به طور دستی از طریق پنل مدیریت وردپرس بروزرسانی را اجرا کنید.همچنین وردپرس دارای هزاران افزونه و قالب است که توسط توسعه دهندگان ثالث تولید میشود و شما از آنها در وبسایت وردپرس خود استفاده می کنید. این پلاگین ها و قالب ها نیز به طور مداوم نگهداری و بروزرسانی می شوند که بروزکردن آنها نیز ضروری است.این بروز رسانی ها برای امنیت و ثبات وب سایت وردپرسی شما حیاتی است. شما باید همواره اطمینان حاصل کنید که هسته وردپرس شما و نیز افزونه ها و قالبهای نصب شده به روز می باشند.
⇐ آموزش بروز رسانی وردپرس به دو روش دستی و خودکار
20. از نصب نسخههای غیرقانونی و یا نال شده قالب ها و افزونههای تجاری وردپرس خودداری نمایید
درصورت استفاده از نسخه های غیرقانونی و با نال شده قالب ها و افزونه های تجاری وردپرس , راه را برای هکرها جهت نفوذ به سایت خود فراهم کرده اید. بنابراین به شما پیشنهاد میشود جدا از نصب اینگونه نسخه ها خودداری کنید.
21. تنظیم سطح دسترسی فایلها و فولدرها برای وردپرس
به طور کلی سطح دسترسی فایلها و فولدرها برای وردپرس باید به شکل زیر باشد:
Folders : 755 و Files : 644
اینها سطح دسترسی صحیح هستند و وردپرس باید در یک هاست در سروری با کانفیگ صحیح به خوبی با این سطح دسترسی برای فایلها و فولدرها کار کند. دادن سطح دسترسی بالاتر منجر به افزایش شدید ریسک امنیتی برای سایت وردپرس شما خواهد شد. از دادن سطح دسترسی 777 به فایلها و فولدرها به شدت پرهیز کنید.برای دستیابی به سطحی بالاتر از امنیت بهتر است سطح دسترسی فایل wp-config.php را که محتوی اطلاعات مهم اتصال به دیتابیس می باشد را بر روی 400 و یا 440 تنظیم نمایید.
در صورت بروز هک سایت شما جهت جلوگیری از آسیب مسدود می شود در سامانه پشتیبانی درخواست بررسی دهید هاست جهت بررسی به مدت 24 ساعت فعال می شود .در صورت تکرار مشکل باید جریمه 30 هزار تومانی برای فعال شدن هاست پرداخت نمایید و تعهدنامه کتبی به همراه امضا صاحب سایت ارسال شود تا هاست فعال شود . در صورت تکرار بار سوم هاست انسداد دائم خواهد شد و تنها بک اپ سایت در اختیار شما قرار داده می شود تا انتقال سایت را انجام دهید . جهت حفظ کیفیت سرویس ها و عدم نارضایتی سایر کاربران این موارد اعمال خواهد شد .
امیدواریم این آموزش برای شما مفید واقع شده باشد و به وسیله آن توانسته باشید سایت هک شده خود را بازگردانی کنید. درصورت بروز هرگونه سوال یا مشکل میتوانید آن را در بخش دیدگاه بیان کنید.
آموزش های مرتبط:
آموزش ساخت دیتابیس درDirect Admin
آموزش کار با افزونه تایید هویت دومرحله ای در وردپرس
اموزش جلوگیری از حملات امنیتی به وردپرس