چگونه امنیت وردپرس را بهبود ببخشیم؟
اگر از وردپرس به عنوان سایت ساز خود استفاده میکنید افزایش امنیت وردپرس باید یکی از مهمترین دغدغههای شما باشد.
همه روزه تعداد بسیار زیادی از وبسایتها به دلیل آلوده شدن به بدافزارها توسط گوگل بلاک شده و از دسترس بازدیدکنندگان خارج میشوند.
این یعنی نابودی یک وبسایت با داشتن تجربه فعالیت کم و یا خواه زیاد در بستر اینترنت که ضرر بزرگی نیز برای مدیر آن سایت میباشد.
وردپرس یک سایت ساز بسیار محبوب و پرکاربرد است که درصد بسیار زیادی از وبسایتها از آن بر روی سایت خود استفاده میکنند و همین امر لزوم رسیدگی به امنیت وردپرس را بیشتر میکند.
در این مقاله تماماً به مباحث امنیتی خواهیم پرداخت ولی اگر به دنبال یک آموزش حرفهای برای سئو سایت خود هستید به شما توصیه میکنم حتماً آموزش سئو وردپرس را مطالعه کنید.
شایعترین روش هک سایت
یکی از شایعترین روشهایی که برای نفوذ به وب سایتهای وردپرسی از آن استفاده میشود قرار دادن دسترسی مخفی بدون خراب کاری بر روی سایت است که در آن هکر هیچ تمایلی به دیفیس کردن وبسایت شما نداشته و فقط قطعه کدی را درون وبسایت شما تزریق میکند که به واسطه آن دسترسی همیشگی به سایت شما داشته تا بتواند فعالیتهای خود را بر روی وبسایت هدف پیادهسازی کند.
ضعف سایتهای هک شده
اغلب وب سایتهایی که توسط تیم مدیر سرور جهت افزایش تأمین امنیت بررسی شدند دارای نقاط منفی مهمی بودند، به طور مثال دانش پایین مدیر سایت مربوطه، استفاده از هاست های غیر امن، استفاده از پلاگینهای آلوده و یا عدم رعایت ابتداییترین اصول تأمین امنیت وردپرس که به واسطه همین هم ضربههای ناگواری نیز دریافت خواهند کرد.
همینجا به شما مخاطب گرامی قول میدهم که کاملترین آموزش افزایش امنیت وردپرس را در اختیار شما قرار بدهیم پس تا پایان آموزش همراه ما باشید و هر بخش را همان لحظه بر روی وبسایت خود پیادهسازی کنید تا در انتهای همین مقاله شما یک پروژه امنیت وردپرس را بر روی وبسایت خود با موفقیت پیادهسازی کرده باشید.
افزایش امنیت وردپرس در مرحله نصب
خوب حالا میرسیم به بخش عملی کار، جایی که ما فرض را بر این میگیریم که شما تازه قصد نصب وردپرس را دارید و از همین ابتدای کار میخواهید با دید امنیتی سایت خودتان را از پایه به درستی راهاندازی کنید.
اولین کاری که باید انجام دهید انتخاب پسورد رندوم و پیچیده برای یوزر پایگاه داده خودتان هستش، زمانی که شما وارد فاز نصب وردپرس میشوید باید توسط پنل میزبانی سایت خودتان که عمدتا هم سی پنل و یا دایرکت ادمین است یک دیتابیس و یک یوزر جهت اتصال به پایگاه داده خودتان بسازید.
در این مرحله سعی کنید از خود Password Generator پنل برای ساخت پسورد استفاده کنید و از دادن پسورد دستی خودداری کنید.
حالا در مرحله ورود اطلاعات دیتابیس، باید آن پسورد رو با نام دیتابیس و یوزر خود وارد کنید، مهمترین بخش در این صفحه قسمت prefix یا همان پیشوند جداول پایگاههای داده شماست.
حتماً جای اسم پیشفرض که معمولاً _wp هستش یک اسم کوتاه ولی رندوم بزارید مثل _dgve این کار باعث میشود اگر در وبسایت شما حفره امنیتی sql injection رخ داد هکر نتواند با حدس جداول شما اطلاعات یوزرها را استخراج کند.
بعد از گذر از مرحله بالا در ادامه به بخش ورود اطلاعات ادمین میرسید که این بخش نیز بسیار مهم است و شما باید توجه داشته باشید که نام کاربری که انتخاب میکنید به هیچ عنوان admin نبوده و یک اسم غیرقابل حدس مثل hgeydesc باشد تا از حملات Brute Force و هک شدن وب سایتتان در آینده در امان باشید.
پسورد مربوط به یوزر را نیز یک پسورد بلند با رعایت پالیسی پسورد قرار دهید، حتماً از حروف کوچک، بزرگ، اعداد و کاراکترها باهم استفاده کنید تا افزایش امنیت وردپرس در لول نصب به طور کامل رعایت شده باشد.
اگر هم وردپرس را از قبل نصبکردهاید و حالا میخواهید موارد ذکر شده در بالا را رعایت کنید میتوانید به راحتی تمامی آنها را پیادهسازی کنید برای مثال از بخش پیشخوان، پسورد را تغییر داده و یا از دیتابیس خود، نام کاربری خودتان را تغییر دهید و توسط پلاگینهای خود وردپرس نیز که در مخزن موجود هستش و با یک سرچ ساده میتوانید به آنها برسید prefix را تغییر دهید.
امن سازی فایل wp-config.php
فایل wp-config.php حاوی اطلاعات بسیار حساسی است که باید به هر طریقی از آن محافظت کنید، با دسترسی هکر به این فایل راه نفوذ به وبسایت شما تا حد بسیار زیادی هموار خواهد شد زیرا اطلاعات پایگاه داده شما درون این فایل ذخیره شده و امکان دسترسی به دیتابیس وبسایت شما را برای نفوذگر فراهم میکند.
بعد از نصب وردپرس اولین قدم مهم و جدی در راه افزایش امنیت وردپرس تأمین امنیت فایل کانفیگ میباشد، البته راهکارهای قدرتمندی برای محافظت از این فایل وجود دارد که سعی میکنیم به شما آموزش دهیم.
ابتدا توسط کنترل پنل وب سایتتان این فایل را باز کنید و در بخش میانی این فایل اطلاعات salt وردپرس را از پیش فرض تغییر دهید.
در این آموزش مجال توضیح مبحث salt وجود ندارد ولی بدانید که به وسیله همین salt نشستها در وردپرس شناسایی میشوند و اطلاع از آن میتوانید ریسک هک شدن وبسایت شما را افزایش دهد.
برای تغییر salt به منظور افزایش امنیت وردپرس کافی است به آدرس url زیر رفته و با رفرش صفحه به صوت رندوم یک salt جدید دریافت کنید و آن را درون وبسایت خود و در فایل کانفیگ وردپرس جایگزین اطلاعات قبلی کنید.
۱
|
https://api.wordpress.org/secret-key/1.1/salt/
|
مورد بعدی جهت تأمین امنیت وردپرس از طریق فایل کانفیگ پسورد مربوط به یوزر دیتابیس شماست، کافی است به صورت دورهای این پسورد رو از طریق کنترل پنل خودتان تغییر داده و سپس درون فایل کانفیگ نیز آن را جایگزین کنید.
مورد بسیار مهم بعدی سطح دسترسی به فایل یا پرمیژن فایل هستش فایل wp-config.php برای عملکرد صحیح باید حداقل دارای دسترسی خواندن یا Read باشد توصیه ما به شما قرار دادن پرمیژن ۴۴۴ برای این فایل است تا امکان نوشتن در این فایل برای نفوذگر وجود نداشته باشد.
برای اعمال محدودیت دسترسی به این فایل میتوانید با تکنیک بعدی که به شما خواهم گفت امکان خواندن این فایل از طریق آدرس url را ببندید تا در صورتی که در وبسایت شما باگهایی چون Rfi کشف شد امکان مشاهده این فایل وجود نداشته باشد.
برای این کار کافی است در فایل htaccess. وبسایت خودتان که در Root هاست شما موجود است قطعه کد زیر را قرار دهید.
۱
۲
۳
۴
|
<Files wp–config.php>
Order allow,deny
Deny from all
</Files>
|
و مورد آخر در جهت امن سازی فایل کانفیگ وردپرس کد کردن محتویات درون این فایل است، ابتدا از آخرین تغییرات فایل wp-config.php یک بکاپ تهیه کنید و سپس توسط وبسایت زیر محتویات داخل این فایل را به صورت کد شده در آورده و جایگزین محتویات قبلی کنید.
۱
|
http://fopo.com.ar
|
با کد شدن اطلاعات در صورت دسترسی هکر به فایل عملیات دیکریپت کردن فایل بسیار مشکل شده و ممکن است هکر را از نفوذ به وبسایت شما منصرف کند.
امن سازی فایل xmlrpc.php
این فایل که از ورژن ۳٫۵ به بعد وردپرس جز هسته اصلی وردپرس قرار گرفت به منظور نمایش و کارکرد بهتر وردپرس در دستگاههای موبایلی به کار گرفته شد.
این فایل از خاصیت system multicall جهت ارتباطات خود استفاده میکند، ضعف بزرگی که در این فایل وجود دارد عدم بررسی کانکشنهای متصل شده با آن میباشد، هکر با سوء استفاده از این ویژگی سعی در حدس پسورد ادمین وردپرس را خواهد داشت.
طبق آخرین آمار ارائه شده میزان حملات Brute Force به فایل xmlrpc بسیار بیشتر از حمله مستقیم به دایرکتوری ادمین وردپرس میباشد. این فایل به احتمال بسیار زیاد در آینده نه چندان دور از وردپرس حذف خواهد شد و یا راهکار بهتری برای افزایش امنیت وردپرس برای آن در نظر گرفته خواهد شد.
در این جلسه کاری خواهیم کرد که فراخوانی این فایل برای هکر غیرممکن شود، این فایل در صورت عدم دسترسی مستقیم مشکلی را در عملکرد وردپرس ایجاد نمیکند پس به راحتی میتوانید دسترسی مستقیم به آن را مسدود کنید.
برای مسدودسازی دسترسی به فایل xmlrpc.php کافی است کد زیر را در انتهای فایل htaccess. هاست خود قرار دهید، حالا کافی است آدرس سایت خود را به شکل زیر در مرورگر وارد کنید تا ارور forbidden برای شما نمایش داده شود.
۱
۲
۳
۴
|
<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>
|
استفاده از پلاگینهای امنیتی
بهتر است بعد از افزایش امنیت وردپرس توسط روشهای دستی همیشه به عنوان مکمل از پلاگینهای معتبر و قوی برای بهبود هر چه بیشتر امنیت سایت خود استفاده کنید.
طبق تجربه و بررسی تقریباً تمامی پلاگینهای شناخته شده امنیتی برای وردپرس به دو مورد برخورد کردیم که از هر نظر نسبت به بقیه در رتبه بهتری قرار گرفتند. اولین پلاگین wordfence هستش که به جرات یکی از بهترینها در دنیاست و با آپدیتهای منظم و تیم قدرتمند بسیاری از حملات را شناسایی کرده و دسترسی مهاجم را به سایت شما مسدود میکند.
این پلاگین دارای دو ورژن رایگان و پرمیوم بوده که هر دو بسیار عالی عمل میکنند، شما اگر برای شروع قصد هزینه کردن ندارید حتماً ورژن رایگان آن را از مخزن وردپرس نصب کرده و عملکرد آن را آزمایش کنید، قطعاً از بازخورد آن متحیر خواهید شد.
البته ورژن پولی آن با داشتن امکانات بیشتر جایی برای بحث نمیگذارد، از نظر ما هزینه کردن برای چنین پلاگین ارزشمندی قطعاً برای شما از هر نظر مفید و به صرفه بوده و ریسک هک شدن سایت شما را تا حد زیادی کاهش میدهد.
پلاگین بعدی sucuri هستش که در رتبه دوم بهترین پلاگینهای امنیتی قرار میگیرد یکی از امکانات عالی این پلاگین اسکن کل سایت از وجود malware ها و فایلهای آلوده سایت است، در مواردی ممکن است سایت شما هک شده باشد و شما حتی متوجه این قضیه هم نشده باشید در اینجور از موارد برای مانیتور کردن سایت sucuri یک گزینه ایده آل است.
توسط sucuri ورژن رایگان هسته وردپرس و در نسخه پولی آن تمامی فایلهای سایت بررسی شده و اگر هکر دسترسی مخفی در سایت قرار داده باشد و یا فایلی را آلوده کرده باشد شما از آن آگاه خواهید شد، البته قابلیتهایی چون بلاک کردن حملات مرسوم همچون wordfence را نیز دارا میباشد که میتوانید در افزایش امنیت وردپرس به شما کمک زیادی کند.
استفاده از پوستههای اورجینال به جای پوسته پیشفرض
یکی از مشکلاتی که تا حدودی در هک شدن وبسایتهای وردپرسی دخیل هست استفاده از پوستههای پیشفرض خود وردپرس است.
همیشه قرار داشتن سورس قالب میتواند هکر را در پیدا کردن مشکلات امنیتی بسیار کمک کند، از آنجایی که بعد از نصب وردپرس قالب پیشفرض بر روی وردپرس شروع به کار میکند این مورد میتواند برای شما مشکلات امنیتی ایجاد کند.
توصیه میکنم حتماً تمامی پوستههای وردپرس را در دایرکتوری themes از طریق هاست حذف کرده سپس از یک پوسته امن و معتبر استفاده کنید که میتواند از یک سایت معتبر خریداری شده باشد و یا توسط یک شرکت برای شما به صورت اختصاصی کدنویسی شده باشد.