وردپرس یکی از سیستمهای پرکاربرد مدیریت محتواست که برای راهاندازی بیشتر سایتها میتوانیم از آن استفاده کنیم. در این مطلب سعی کردیم نکاتی را برای افزایش امنیت وردپرس که برای محافظت هرچه بیشتر یک سایت وردپرسی لازم است را مطرح نماییم.
بیشتر افراد تصور میکنند که افزایش امنیت وردپرس فقط در گرو حفاظت از خود سایت و فایلهای آن است. در صورتی که هکرها بیشتر به دنبال اطلاعات مشتریانی هستند که در پایگاه داده یک سایت قرار دارد.
انتشار اطلاعات ۷۰ میلیون کارت اعتباری که در سال ۲۰۱۳ صورت گرفت، دلیل بر همین موضوع است. قبل از اینکه به فکر اطلاعات سایت خود باشید، از اطلاعات کاربرانتان محافظت کنید.
راه های زیادی برای محافظت از وردپرس وجود دارد که در ادامه برخی از موارد بیان می شود. موارد گفته شده می تواند به عنوان نکات امنیتی در انواع طراحی سایت در نظر گرفته شود.
گاها اتفاق میافتد که خودمان با نصب بدافزارها باعث آلوده شدن سایت میشویم. در یک بستهی وردپرس تعداد زیادی پلاگین، تم رایگان و برنامههای php وجود دارند.
برخی افراد این پلاگینها را دریافت کرده و کدهای مخربی را در آن قرار میدهند و به اصطلاح اسکریپتهای نال شده (Null Script) را ایجاد میکنند. این اسکریپتها با ایجاد back-door در سایت، راه را برای نفوذ باز میکنند.
اسکریپتهای نالشده، معمولا از وبسایتهای فرعی توزیع می شوند. برای جلوگیری از چنین مشکلاتی بهتر است تمامی پلاگین و تم های مورد نیاز خود را از مخزن اصلی وردپرس دریافت نمایید.
بروزرسانیهای وردپرس معمولا برای رفع باگ های امنیتی و اشکالات سیستم توزیع میشود. به همین علت باید وردپرس خود را به صورت مداوم بروزرسانی کنید. افزونه امنیتی Wordfence را روی وردپرس خود نصب کنید. با استفاده از این افزونه از تمامی بروزرسانیهای موجود مطلع خواهید شد.
وردپرس مجموعه ای از فایلهای php، فایلهای javascript، html و منابع دیگری است که روی یک وبسرور راهاندازی شدهاند. یکی از راههایی که میتوانید از تغییر کدهای PHP توسط افراد نفوذگر جلوگیری کنید این است که فایلهای php را غیرقابل تغییر کنید.
البته با این کار بروزرسانی خودکار سیستم غیر فعال میشود و عملیات بروزرسانی را باید به صورت دستی انجام دهید.
انتخاب رمزعبور قوی بسیار مهم است. هکر ها از چند طریق سعی میکنند که به رمزهای عبور یک سایت دسترسی پیدا کنند. مواردی که در ادامه توضیح داده شدهاست، نمونهای از همین روشهاست.
آسانترین راه برای یک هکر این است که به بخش ورود سایت وردپرس رفته و رمز عبور کاربران را حدس بزند. این روش حمله به سایت بروت فورس نام دارد. در این شیوه هکر ها هیچ اقدامی برای رمزگشایی پسوورد ها انجام نمیدهند و فقط سعی میکنند آن را حدس بزنند.
بیشتر هکرها از اسکریپتهای خودکار جهت حمله بروت فورس به وبسایت استفاده میکنند. در اینصورت میتوانند تعداد حدس بیشتری را در لحظه داشته باشند. در واقع هدف هکرها دسترسی به حسابکاربری مدیرسایت است.
در طی سالهای گذشته بیشتر از عبارت admin برای نام کاربری مدیر سایت استفاده میشد و همین هم کار ورود به سایت را آسانتر میکرد. انتخاب یک پسورد قوی باعث میشود تا دستیابی به آن مشکلتر شده و در مقابل این نوع حمله مصون بمانیم.
بیشتر وبسایتها رمزهای عبور را به صورت یک متن ساده ذخیره میکردند. در وردپرس رمزهای عبور به صورت hash ذخیره میشوند که از دزدیده شدن آنها جلوگیری میکند.
در این شیوه از هک از یک دیکشنری برای حدس hash ای که در پایگاهداده ذخیره شده است، استفاده میکنند. استفاده از رمز عبور های قوی، کرک پایگاه داده را دشوار میکند. بهتر است از یک رمز عبور ثابت برای سایتهای مختلف استفاده نکنید. چون در صورت هک شدن یکی از این سایتها بقیه سرویسها نیز در اختیار هکر قرار میگیرد.
از پروتکل sftp برای واردشدن و انتقال فایلها و دستورهای دیگر استفاده نمایید زیرا این پروتکل از رمزگذاری قویتری نسبت به FTP استفاده میکند. به جای sftp از scp و ftps نیز میتوانید به عنوان جایگزین استفاده کنید. ftps با استفاده از tls رمز گذاری قوی را ممکن می سازد.
SFTP برای انتقال فایل روی SSH استفاده میشود. اما به گونه ای طراحی شده که میتواند توسط دیگر پروتکل ها هم مورد استفاده قرار گیرد.
مرورگرها از پروتکلی به نام HTTP، برای ارتباط با وبسرور استفاده میکنند.HTTP بهعنوان یک پروتکل متن ساده، طراحی شده است. بعدها که پروتکل HTTPS توسط نتاسکپ معرفی شد، HTTP محبوبیت خود را از دست داد.
HTTPS برقراری ارتباط رمزگذاری شده بین مرورگر و وبسرور را امکانپذیر میسازد.
لاگهای یک وبسایت مهم ترین منابع اطلاعاتی هستند که با استفاده از آن میتوانیم از حملات احتمالی جلوگیری کنیم. افزونهی امنیتی wordfence تعداد لاگهای دسترسی (Access Log) و خطا (Error Log) را به مدیر سایت نشان میدهد تا افراد مراجعه کننده به سایت را بشناسد.
لاگ خطا حمله های وارد شده به سایت را نشان میدهد و لاگ دسترسی نیز شامل تمامی درخواستهایی است که به سایت فرستاده شده است. در واقع لاگ خطا زمانی ظاهر میشود که مشکلی رخ داده باشد.
فایل wp-config.php شامل تمام اطلاعات محرمانهی یک سایت است. یکی از آسانترین راه هایی که میتوانید از wp-config.php محافظت کنید این است که فایل زیر را در .htaccess قرار دهید.
files wp-config.php=""
order allow,deny
deny from all
files
برای ارزیابی امنیت یک سایت ۳ مولفه مطرح میشود، در صورتی که این سه مورد تحقق یابد، سایت ما امنیت بالایی خواهد داشت. در غیر اینصورت باید برای افزایش امنیت وردپرس خود تلاش بیشتری داشته باشیم.
۱٫قابلیت دسترسی: کاربران باید در هر زمان امکان دسترسی به سایت را داشته باشند.
۲٫امانت: کاربران باید از ایمن ماندن اطلاعات پایگاهداده اطمینان حاصل کنند.
۳٫قابلیت اعتماد: اطلاعات خصوصی، شماره کاربری و رمز عبور باید محرمانه بمانند و هیچ فرد دیگری اجازه دسترسی به آن را نداشته باشد.
اگر نکتهای به ذهنتان میرسد که در موارد فوق مطرح نشده است، با ما در میان بگذارید تا به لیست بالا اضافه شود.
منبع: Wordfence