وردپرس محبوب ترین سیستم مدیریت محتوا در دنیا، با دلایل مناسب است. استفاده از آن ساده است، هزاران قالب وردپرس و افزونه وردپرس موجود است و می توانید هر نوع وب سایتی را با آن ایجاد کنید. پس جای تعجبی ندارد که وردپرس بخش عمده ای از کل وب سایت های اینترنتی را تحت اختیار قرار دهد.
اما محبوبیت آن با هزینه ای همراه است. وردپرس اغلب مورد هدف هکرها قرار می گیرد. طبق گفته Sucuri، در سال 2018، 90% از کل درخواست های پاکسازی وب سایت متعلق به وردپرس بوده است که 7% نسبت به سال 2017 افزایش یافته است.
پس خواه یک نمونه کار شخصی، یک وب سایت تجاری یا یک فروشگاه آنلاین یا … داشته باشید. تأمین امنیت وب سایت وردپرس شما باید در صدر لیست شما باشد.
وقتی صحبت از امنیت وردپرس می شود، کاربران معمولاً در دو اردوگاه قرار می گیرند: افرادی که امنیت را جدی می گیرند و اقدامات احتیاطی را انجام می دهند و کسانی که اعتقاد دارند یا امیدوار هستند این اتفاق هرگز برای آنها رخ نخواهد داد زیرا سایت آنها به اندازه کافی مهم نیست.
برای درک بهتر شدت مشکلات امنیتی مرتبط با وب سایت ها، حتماً از صفحه آمار زنده هک سایت بازدید کنید. در آنجا می توانید تعداد دقیق وب سایت هایی که هر روز هک شده اند را مشاهده کنید و حتی تعداد آنها را در زمان واقعی ببینید.
آیا وردپرس ایمن است؟
قبل از اینکه ادامه این مقاله را بخوانید، اجازه دهید به یک سوال مهم پاسخ دهیم: آیا وردپرس ایمن است؟ پاسخ آن سوال مثبت است.
هسته اصلی نرم افزار وردپرس امن است و شرکت پشت وردپرس امنیت را جدی می گیرد.
تیم امنیتی وردپرس بیش از 50 متخصص در هیئت مدیره دارند که شامل توسعه دهندگان اصلی و محققان امنیتی هستند که در پشت صحنه کار می کنند تا از امنیت وردپرس اطمینان حاصل کنند.
در حقیقت، بیشتر حوادث و خطرات امنیتی نتیجه خطای انسانی است که با وجود یک آسیب پذیری امنیتی جفت می شود.
در ادامه ما 20 گام برای ایجاد امنیت وردپرس به صورت کامل و همچنین 6 گام برای بازیابی سایت وردپرس از هک را بیان می کنیم.
20 مرحله برای ایمن سازی وب سایت وردپرس شما
برای جلوگیری از هک سایت و ایمن سازی کامل سایت خود مراحل زیر را دنبال کنید و امنیت کامل را در وب سایت وردپرس خود حاکم کنید.
1. یک شرکت میزبانی با ویژگی های امنیتی انتخاب کنید
اولین قدم برای امنیت وب سایت وردپرس شما سرمایه گذاری در یک شرکت میزبانی است که ویژگی های امنیتی مناسبی را پیاده سازی می کند. این شامل پشتیبانی از آخرین نسخه PHP ، MySQL و Apache و همچنین فایروال و نظارت امنیتی 24/7 است.
در صورت امکان، یک شرکت میزبان را انتخاب کنید که پشتیبان گیری روزانه و اسکن نرم افزارهای مخرب معمولی را انجام دهد. شما حتی می توانید شرکت های میزبانی پیدا کنید که از اقدامات مختلف پیشگیری DDOS استفاده می کنند.
شرکت میزبان شما معمولاً اولین دیواری است که هکر ها باید برای دستیابی به سایت شما از آن عبور کنند. پس اختصاص بودجه ای مناسب به هاست، تصمیم بسیار منطقی است.
2. از رمزهای عبور قوی استفاده کنید
اطمینان حاصل کنید که رمز عبور برای وب سایت وردپرس و همچنین ناحیه حساب میزبانی شما کاملا قدرتمند و ایمن است. از ترکیبی از حروف بزرگ، حروف کوچک، اعداد و نمادها استفاده کنید تا یک رمز عبور قوی داشته باشید. همچنین می توانید از ژنراتور های رمز عبور برای تولید رمزهای ایمن استفاده کنید.
3. تغییر نام کاربری Admin
بسیاری از کاربران از نام کاربری Admin استفاده می کنند و مشکلی با آن ندارند. اما باید بدانید admin معمولاً اولین نام کاربری است که هکرها هنگام حمله از آن استفاده می کنند.
پس نباید از نام کاربری admin برای وب سایت وردپرس خود استفاده کنید.
در صورت نیاز برای اطلاعات بیشتر می توانید آموزش تغییر نام کاربری در وردپرس را ببینید.
4. برای ارسال مطالب در سایت خود از یک حساب کاربری نویسنده استفاده کنید
تشخیص نام کاربری شما حتی اگر آن را تغییر دهید برای هکرها بسیار ساده است، یکی از کارهای حرفه ای که می توانید انجام دهید ساخت یک حساب کاربری جدید با دسترسی نویسنده یا ویرایشگر می باشد و شما باید از طریق آن حساب مطالب خود را منتشر کنید.
انجام این کار باعث می شود هکرها نتوانند به سایت شما آسیب برسانند زیرا کاربران با دسترسی نویسنده و ویرایشگر، دسترسی محدودی دارند و نمیتوانند خراب کاری چندان خاصی را در سایت انجام دهند.
برای ساخت حساب کاربری جدید می توانید در پیشخوان مدیریت وردپرس به قسمت کاربران » افزودن مراجعه کنید.
5. از افزونه پشتیبان استفاده کنید
اگر هنوز از وب سایت خود نسخه پشتیبان تهیه نکرده اید، باید بلافاصله شروع کنید. سیستم پشتیبان به شما کمک می کند تا اگر بدترین اتفاق رخ دهد و سایت شما هک شود، سایت خود را بازیابی کنید.
برای اطلاعات بیشتر می توانید مقاله ما را در مورد افزونه پشتیبان گیری وردپرس ببینید.
6. تغییر آدرس ورود وردپرس
به صورت پیش فرض آدرس ورود به وردپرس yourdomain.com/wp-admin می باشد. که هکرها این را می دانند و سعی می کنند به طور مستقیم به این آدرس بروند تا بتوانند به سایت شما دسترسی پیدا کنند.
برای مخفی کردن ناحیه ورود به بخش مدیریت وردپرس می توانید از افزونه WPS Hide Login استفاده کنید.
همچنین برای محدود کردن تعداد تلاشهای ناموفق برای ورود به سیستم، می توانید از افزونه Login Lockdown plugin استفاده کنید.
7. دانلود قالب و افزونه وردپرس از منابع معتبر
بسیاری از افراد، قالب ها یا افزونه های پولی را در سایت هایی به صورت رایگان دانلود و در سایت خود نصب می کنند، غافل از اینکه اکثر آنها نال شده و حاوی فایل های مخرب می باشند. یا حتی بسیاری از سایت ها همان نسخه های نال شده را به صورت پولی برای فروش گذاشته اند!
پس فراموش نکنید که قالب وردپرس و افزونه وردپرس مهم ترین اجزای سایت شما است و باید آنها را فقط از منابع معتبر دانلود کنید.
8. فایل ها را به روز نگه دارید
فایل های منسوخ شده خطرات امنیتی را ایجاد می کنند، و به راحتی از طریق فایل های قدیمی وردپرس، افزونه یا قالب وردپرس می توان سایت شما را هک کرد.
فایل های قدیمی سایت شما را نسبت به سایر سوء استفاده ها آسیب پذیر می کند. پس همیشه به محض انتشار نسخه های جدید وردپرس، قالب یا افزونه، آن را در سایت خود آپدیت کنید و همچنین افزونه هایی را که دیگر استفاده نمی کنید، غیرفعال و حذف کنید.
9. از رایانه خود محافظت کنید
ممکن است این سوال برای شما پیش بیاید که رایانه شما با وب سایت شما چه ارتباطی دارد. اگر رایانه شما به ویروس آلوده شده باشد و به سایت خود دسترسی پیدا کنید یا پرونده های آن را بارگذاری کنید، آن فایل های آلوده می توانند وب سایت شما را نیز آلوده کنند. به طور خلاصه:
- برای دسترسی به سایت خود از استفاده از شبکه های عمومی Wi-Fi خودداری کنید
- نرم افزار آنتی ویروس را نصب کنید و از بروزرسانی آن اطمینان حاصل کنید
10. پیشوند پایگاه داده خود را تغییر دهید
واقعیت دیگری که توسط هکرهای وردپرس به خوبی شناخته شده است این است که پیشوند پایگاه داده شما روی wp تنظیم شده است. این واقعیت باعث می شود که آنها بتوانند پیشوند جدول را حدس بزنند و از تزریق خودکار SQL برای دستیابی به سایت شما استفاده کنند.
تغییر پیشوند بانک اطلاعاتی شما یک فرایند دستی است که شامل ویرایش پرونده wp-config.php شما و تغییر نام جدول با استفاده از phpMyAdmin است.
اگر نحوه انجام این کار را نمی دانید راهنمای تغییر پیشوند پایگاه داده وردپرس برای بهبود امنیت را ببینید.
11. بهبود امنیت فایل .htaccess و wp-config.php
.htaccess و wp-config.php مهمترین فایل های نصب وردپرس شما هستند. به این ترتیب، باید اطمینان حاصل کنید که آنها از امنیت کامل برخوردار هستند.
به سادگی کدهای زیر را به پرونده .htaccess خود، خارج از برچسب های # BEGIN WordPress و # END WordPress اضافه کنید، تا اطمینان حاصل شود که تغییرات با هر بروزرسانی جدید رونویسی نمی شوند.
<files wp-config.php> order allow,deny deny from all </files> <Files .htaccess> order allow,deny deny from all </Files> <Files wp-login.php> order deny,allow Deny from all # allow access from my IP address allow from 192.168.1.1 </Files>
قطعه های بالا از wp-config و .htaccess و همچنین دسترسی محدود به صفحه wp-login.php محافظت می کند.
در آخر، برای جلوگیری از اجرای فایل PHP ، قسمت زیر را اضافه کنید:
<Files *.php> deny from all </Files>
همچنین برای اطلاعات بیشتر و امنیت بیشتر می توانید مقاله افزایش امنیت با htaccess را ببینید.
12. مجوزهای فایل را بررسی و تغییر دهید
در هاست خود بمانید و مجوزهای مربوط به فایل ها و پوشه ها را در وب سایت وردپرس خود بررسی کنید.
با توجه به WordPress codex ، مجوزها باید به شرح زیر باشد:
- کلیه دایرکتوری ها باید 755 یا 750 باشد
- کلیه فایل ها باید 644 یا 640 باشند
- wp-config.php باید 600 باشد
اگر تنظیمات شما متفاوت باشد، هکرها می توانند به راحتی مطالب را بخوانند و همچنین محتوای فایل ها و پوشه ها را تغییر دهند که منجر به هک شدن سایت شما و همچنین سایر سایت های موجود در همان سرور می شود.
13. از تأیید هویت دو عاملی استفاده کنید
برای تنظیم احراز هویت دو عاملی برای سایت خود، از افزونه هایی مانند Google Authenticator استفاده کنید. این بدان معناست که علاوه بر وارد کردن رمز عبور خود، برای ورود به سایت خود باید یک کد تولید شده توسط یک برنامه موبایل را نیز وارد کنید. این می تواند حملات بی رحمانه را متوقف کند، بنابراین ایده خوبی است که هم اکنون تنظیم شود.
14. XML-RPC را غیرفعال کنید
XML-RPC به سایت شما اجازه می دهد تا با برنامه های تلفن همراه وردپرس و افزونه هایی مانند Jetpack ارتباط برقرار کند. متأسفانه، این مورد علاقه هکرهای وردپرس نیز قرار گرفته است زیرا می توانند از این پروتکل سوء استفاده کنند تا چندین دستور را همزمان انجام دهند و به سایت شما دسترسی پیدا کنند.
برای غیرفعال کردن این ویژگی از افزونه ای مانند Disable XML-RPC استفاده کنید.
15. از HTTPS و SSL استفاده کنید
استفاده از SSL و HTTPS نه تنها امنیت سایت شما را بالا می برد، بلکه باعث افزایش رتبه سایت شما می شود . علاوه بر این سایت هایی که از SSL استفاده نمی کنند توسط بعضی از مرورگرها ها به عنوان مخرب نمایش داده می شود و کاربر قبل از ورود پیغام مخرب بودن را دریافت می کند!
پس هر کاربری بلافاصله بعد از راه اندازی سایت باید SSL را در سایت خود فعال کند. برای اطلاعات بیشتر می توانید مقاله گواهینامه SSL را ببینید.
16. ویرایش قالب و ویرایش افزونه از طریق پیشخوان وردپرس را غیرفعال کنید
داشتن گزینه ای برای ویرایش فایل های قالب و افزونه در داخل داشبورد وردپرس شما در صورت نیاز برای افزودن سریع خط کد مفید است. اما همچنین بدان معنی است که هر کسی که به سایت شما وارد شود می تواند به آن فایلها دسترسی پیدا کند.
این ویژگی را می توانید با اضافه کردن کد زیر به فایل wp-config.php خود غیرفعال کنید:
// Disallow file edit define( 'DISALLOW_FILE_EDIT', true );
17. فایل wp-config.php را به یک دایرکتوری غیر WWW منتقل کنید
همانطور که قبلاً نیز اشاره شد، فایل wp-config.php یکی از مهمترین فایل های نصب وردپرس شماست و نقش بسیار مهمی در امنیت وردپرس دارد. دسترسی به آن را با انتقال آن از دایرکتوری اصلی به دایرکتوری غیر قابل دسترسی، سخت تر کنید.
1. برای مبتدیان، محتویات فایل wp-config.php خود را در یک فایل جدید کپی کنید و آن را با نام wp-config.php ذخیره کنید.
2. به فایل قدیمی wp-config.php خود برگردید و خط کد زیر را اضافه کنید:
<?php include('/home/yourname/wp-config.php');
فایل wp-config.php جدید را در یک پوشه دیگر بارگذاری و ذخیره کنید.
18. کلیدهای امنیتی وردپرس خود را تغییر دهید
کلیدهای امنیتی وردپرس وظیفه رمزگذاری اطلاعات ذخیره شده در کوکی های کاربر را دارند. آنها در پرونده wp-config.php قرار دارند و مانند این هستند:
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
برای تغییر و ایجاد امنیت سایت وردپرسی خود از کلیدهای WordPress Salts Key Generator استفاده کنید.
19. گزارش خطا را غیرفعال کنید
گزارش خطا برای عیب یابی و تعیین اینکه کدام افزونه یا قالب وردپرس خاص باعث ایجاد خطا در وب سایت وردپرس شما می شود، مفید است. اما، هنگامی که سیستم خطایی را گزارش کرد، مسیر سرور شما را نیز نمایش می دهد. نیازی به گفتن نیست، این یک فرصت عالی برای هکرها است که بدانند چگونه و از کجا می توانند از آسیب پذیری های سایت شما استفاده کنند.
می توانید با افزودن کد زیر به فایل wp-config.php آن را غیرفعال کنید:
error_reporting(0); @ini_set(‘display_errors’, 0);
20. شماره نسخه وردپرس را حذف کنید
هرکسی که به کد منبع وب سایت شما نگاهی بیندازد، قادر خواهد بود بگوید از کدام نسخه از وردپرس استفاده می کنید. از آنجا که هر نسخه وردپرس دارای تغییرات عمومی است که لیست اشکالات و تکه های امنیتی را شرح می دهد، آنها به راحتی می توانند تعیین کنند که کدام حفره های امنیتی را می توانند استفاده کنند.
خوشبختانه، یک راه حل آسان وجود دارد. می توانید شماره نسخه وردپرس را با ویرایش پرونده function.php قالب وردپرس خود و اضافه کردن موارد زیر حذف کنید:
remove_action('wp_head', 'wp_generator');
نحوه بازیابی از هک
اقدامات امنیتی بالا روشی عالی برای امنیت سایت وردپرس شما است. اما اگر سایت شما به هر حال هک شود، چه می شود؟ در صورت هک شدن وب سایت شما چند مرحله ای را باید دنبال کنید.
1. هک را تأیید کرده و رمز عبور خود را تغییر دهید
اگر سایت شما هک شد، اول از همه، وحشت نکنید. این به شما کمک نمی کند و عمل به هر حال انجام شده، بنابراین مهم است که سریع عمل کنید. با بررسی سایت خود شروع کنید و ببینید که آیا می توانید در داشبورد خود وارد شوید یا نه. بررسی کنید که آیا سایت شما به سایت دیگری هدایت می شود یا پیوندها یا تبلیغات مشکوک یا عجیب را مشاهده می کنید.
فوراً رمزعبور خود را تغییر داده و سپس به مرحله بعدی بروید.
2. با شرکت میزبان خود در تماس باشید
با هاست خود تماس بگیرید و به آنها اطلاع دهید که سایت شما هک شده است. آنها می توانند به شما در شناسایی منبع هک کمک کنند. برخی میزبان ها همچنین سایت شما را تمیز کرده و کد و پرونده های مخرب را حذف می کنند.
برای بازیابی سایت خود از یک نسخه پشتیبان استفاده کنید
اگر قبلا از سایت خود نسخه پشتیبان تهیه کرده اید، می توانید فورا سایت خود را به نسخه قبلی برگردانید، اما اگر اینگونه نیست! باید بدانید که بسیاری از شرکت های میزبانی به صورت روزانه یا هفتگی ممکن است از سایت شما نسخه پشتیبان تهیه کنند که می توانید از آنها بخواهید تا سایت شما را بازیابی کنند.
3. سایت خود را برای بدافزار اسکن کنید
از اسکنر رایگان Sucuri برای اسکن سایت خود برای بدافزارها استفاده کنید.
4. کاربران سایت خود را بررسی کنید
به وب سایت وردپرس خود وارد شوید و به قسمت کاربران » همه کاربران بروید. اطمینان حاصل کنید که کاربرانی که نباید در آنجا باشند وجود نداشته باشند و در صورت لزوم آنها را حذف کنید.
5. کلیدهای مخفی خود را تغییر دهید
برای تولید کلیدهای امنیتی جدید از آنها استفاده کرده و از آنها در پرونده wp-config.php استفاده کنید. از آنجا که این کلیدها رمز ورود شما را رمزگذاری می کنند، هکرها تا زمانی که کوکی هایشان بی اعتبار نشوند وارد سیستم می شوند. کلیدهای امنیتی جدید فقط این کار را انجام می دهند و هکر را از سایت شما بیرون می کشد.
6. استخدام یک حرفه ای
در آخر ، برای تمیز کردن هک و حذف نرم افزارهای مخرب از سایت وردپرس خود، یک حرفه ای استخدام کنید. به خاطر داشته باشید که هکرها می توانند کد مخرب را در چندین فایل پنهان کنند. و اگر آنها را شناسایی و پاک نکنید، این باعث می شود تا هکرها بتوانند دوباره سایت شما را هک کنند.
شما می توانید به قسمت خدمات پشتیبانی سایت بروید و یک بسته پشتیبانی تهیه کنید تا ما خیلی سریع امنیت کامل را در سایت وردپرس شما برقرار کنیم.
جمع بندی
وردپرس یک CMS قدرتمند و پرطرفدار است که ایجاد وب سایت را برای همه آسان می کند. اما از آنجا که بسیار محبوب است، یک هدف مورد علاقه برای هکرها است. خوشبختانه، اقدامات بسیاری برای محافظت از سایت وردپرس وجود دارد، که اگر نکاتی که در این مقاله ذکر شد را دنبال کنید، می توانید تمام راه های نفوذ را ببندید و امنیت وردپرس را به صورت کامل برقرار کنید.