هیچ دوره ای در سبد آموزش شما وجود ندارد
امنیت وردپرس
امنیت وردپرس یک موضوع مهم برای هر صاحب وبسایت است. هر روز گوگل حدود 10000 سایت مخرب را وارد لیست سیاه خود میکند. اگر شما در مورد وبسایت خود جدی هستید، باید به بهترین شیوههای امنیتی وردپرس توجه داشته باشید. در این راهنما، تمام نکات امنیتی وردپرس در برابر هکرها و بدافزارها را به اشتراک گذاشتهایم.
درحالیکه نرمافزار هسته وردپرس بسیار امن است و صدها توسعهدهنده آن را بهصورت مرتب چک میکنند، میتوانید برای حفظ امنیت سایت خود تلاش کنید.
ما اعتقاد داریم امنیت به معنی حذف و از بین بردن خطر نیست. بلکه کاهش خطر نیز امنیت محسوب میشود. بهعنوان یک صاحب وبسایت، برای بهبود امنیت وردپرس خود میتوانید کارهای زیادی انجام دهید.
ما در اینجا تعدادی از اقدامات عملی که شما برای محافظت از وبسایت خود در برابر آسیبپذیریهای امنیتی نیاز دارید را بهطور کامل شرح دادهایم.
چرا امنیت وردپرس مهم است:
سایت وردپرس هک شده آسیبهای جدی به درآمد کسبوکار و شهرت شما وارد میکند. هکرها میتوانند اطلاعات کاربر، رمزهای عبور را سرقت کنند، نرمافزارهای مخرب را درهاست شما نصب کنند و حتی میتوانند آنها را در میان کاربران سایت شما توزیع کنند.
بدتر از همه ممکن است شما را مجبور کنند که مبلغی را به هکرها بپردازید تا بتوانید به سایت خودتان دسترسی داشته باشید. اگر سایتتان یک سایت کسبوکار است پس باید به امنیت آن بیشتر توجه کنید.
راهکارهایی که مبتدیان هم میتوانند برای افزایش امنیت وردپرس انجام دهند:
در این بخش با روشهای ساده ولی مؤثر افزایش امنیت آشنا میشوید. هرچند روشهای بسیار سادهای هستند اما دیدهشده افراد حرفهای و کسانی که زمان زیادی با وردپرس کارکردهاند نیز این موارد را رعایت نمیکنند. پس دقت کنید که چه مبتدی باشید و چه حرفهای، این مسائل را در افزایش امنیت وردپرس خود رعایت کنید.
بهروز نگهداشتن وردپرس
اولین و حتی مهمترین مسئله در افزایش امنیت وردپرس، بروز رسانی وردپرس و تمام افزونهها و پوستههای آن است. وردپرس یک سیستم مدیریت محتوای منبع باز است که بهطور مرتب نگهداری و بهروزرسانی میشود. بهطور پیشفرض، خود وردپرس بهروزرسانیهای جزئی را نصب میکند و برای بهروزرسانیهای بیشتر خودتان باید اقدام کنید.
وردپرس دارای هزاران افزونه و قالب است که شما روی سایت خود نصب میکنید. این قالبها و افزونهها نیز بهطور مرتب توسط سازندگان و توسعهدهندگان بهروزرسانی میشوند.
نکته: دقت کنید که در بروز رسانی وردپرس، قالب و افزونهها را از منابع اصلی دانلود کنید. متأسفانه به دلیل تحریم و بالا بودن نرخ ارز، بسیاری از سایتهای فروش قالب و افزونه معتبر نیستند که این خود باعث هک و نفوذ سایت میشود. بیشترین عامل هک وردپرس نیز همین مسئله میباشد. پس سعی کنید تا جای ممکن حتماً قالب و افزونهای که استفاده میکنید را از منبع اصلی خریداری کنید.
رمز عبور قوی و دسترسیهای کاربران
شایعترین هک سایت مربوط به سرقت از رمز عبور ضعیف است. هرچقدر رمز عبور منحصربهفرد و قویتری داشته باشید این کار را برای هکرها دشوارتر میکنید. رمز عبور قوی و منحصربهفرد نهتنها برای منطقه مدیریت وردپرس، بلکه برای حسابهای FTPT، پایگاه داده، حساب میزبانی وردپرس و آدرس ایمیل حرفهای شما هم باید وجود داشته باشد.
دلیل اصلی که برخی از کاربران از داشتن رمز عبور قوی دور میکنند به دلیل عدم به خاطر سپاری آن رمزهاست؛ اما دیگر لازم نیست کلمه عبور را به خاطر بسپارید. میتوانید از نرمافزارها و پلاگین های مرورگر برای ذخیره رمز عبور خود استفاده کنید.
یکی دیگر از راههای کاهش ریسک این است که کسی به منطقه مدیریت وردپرس شما دسترسی نداشته باشد. اگر تیمی برای مدیریت سایت خود دارید و این افراد دارای وظایف مختلف هستند، نقش کاربری آنها را بر اساس وظایفشان تعیین کنید تا دسترسی بیشازحد به پنل مدیریتی شما نداشته باشند.
امنیت هاستینگ
سرویس میزبانی سایت شما نقش اساسی در امنیت وردپرس ایفا میکند. شرکتهای ارائهدهنده میزبانی وب خوب، باید اصولی را در سرورهای خود رعایت کند تا امنیت سایت شما در حد زیادی تضمین شود. پس در انتخاب هاستینگ حتماً این مورد را مدنظر داشته باشید.
بیشتر سایتها از هاست اشتراکی استفاده میکنند. درهاست اشتراکی منابعهاست با بسیاری از سایتها دیگر به اشتراک گذاشته میشود. این امر خطر آلودگی سایت متقابل را افزایش داده و اگر یکی از مشترکینهاست سایت شما نکات امنیتی را رعایت نکند به دلیل اینکه سایت شما در کنار سایت آن شخص قرار دارد هکر میتواند از آن برای حمله به سایت شما استفاده کند.
اگر امنیت در کسبوکار شما اهمیت زیادی دارد، پیشنهاد ما استفاده از سرورهای مجازی یا اختصاصی است. البته هزینه این نوع از سرورها نسبت به هاست اشتراکی گرانتر است.
حذف افزونهها و پوستههای بدون استفاده
یکی دیگر از راهکارهای افزایش امنیت وردپرس، حذف افزونهها و پوستههای بدون استفاده است. در ابتدا که وردپرس را نصب میکنید معمولاً یکی از نخستین کارهایی که انجام میدهید نصب افزونهها است. بهتدریج سایت شما پیشرفت کرده و متوجه میشوید که برخی از پلاگین ها یا افزونهها برای سایت شما مناسب نیستند؛ بنابراین حتماً این دست از پلاگین ها را غیرفعال کنید.
البته نکتهای که وجود دارد این است که اعلانهای بهروزرسانی افزونهها، فقط مربوط به افزونههای فعال میباشد و هیچگونه اعلانی برای بهروزرسانی افزونههای غیرفعال داده نمیشود؛ بنابراین خیلی مهم است که افزونهها و پوستهها را بهروز نگهدارید. ولی خب تا زمانی که اعلانی برای بروز رسانی افزونههای غیرفعال دریافت نکنید نمیتوانید آنها را بروز کنید و این خود امنیت را به خطر میاندازد؛ بنابراین برای افزایش امنیت وردپرس خود حتماً و حتماً افزونهها و پوستههای بدون استفاده را غیرفعال کنید.
روشهایی که کاربران با آشنایی کافی با وردپرس هم میتوانند انجام دهند:
ما به شما توضیح میدهیم که چگونه میتوانید امنیت وردپرس خود را فقط با چند کلیک (بدون کد نویسی) بهبود بخشید.
یک افزونه پشتیبان گیری وردپرس نصب کنید.
بعد از هک شدن سایت وردپرسی معمولاً کدهای مخرب در سایت تزریق میشوند که در اکثر مواقع شما متوجه این موضوع نمیشوید. پشتیبان گیری اولین دفاع شما در برابر هر حمله هکرهاست. اما این را همیشه به خاطر بسپارید که امنیت صد در صد نیست و هیچ سایتی نفوذناپذیر نیست. اگر سایتهای مهم دولتی هک میشوند پس سایت شما هم میتواند هک شود.
داشتن بک آپ باعث میشود که بهسرعت سایت هک شده را بازگردانی کنید.
بسیاری از افزونههای پشتیبان گیری وردپرس رایگان هستند. حتماً افزونههایی انتخاب کنید که امکان بک آپ گیری کامل سایت شما را در یکهاست دیگر غیر از هاست خودتان (سرویس ابری مانند آمازون،Dropbox یا گوگل درایو) را داشته باشید.
بسته به میزان فعالیت سایت شما، بک آپ گیری میتواند بهصورت روزانه یا حتی ساعتی انجام شود و در یک سرور دیگر ذخیره شود. اگر روزانه سایت خود را چندین بار بهروز میکنید پس باید یک بک آپ ساعتی داشته باشید و تا چند بک آپ قبل را هم نگهدارید. یکی از بهترین افزونههای بک آپ گیری، افزونه Updraftplus است که این کار را به نحو احسنت برای شما انجام میدهد.
بالا بردن امنیت وردپرس با بهترین افزونه امنیت وردپرس
بعد از بک آپ گیری، کار بعدی که باید انجام دهیم این است که یک سیستم بررسی و نظارت داشته باشیم که هر چیزی را که در سایت شما اتفاق میافتد پیگیری و بررسی کند که این شامل نظارت بر تمام فایلها، تلاشهای ناموفق ورود به سیستم، اسکن بدافزار و غیره است.
در وردپرس افزونههای امنیتی رایگان زیادی وجود دارد اما برخی از آن افزونهها از سطح بالاتری برخوردارند.
افزونههایی مانند WordFenceT ITheme Secutity جز بهترینها هستند.
فایروال وب (WAF) را فعال کنید.
داشتن WAF در سرور باعث افزایش چند برابری امنیت سایت شما خواهد شد و جلوی بسیاری از حملات را خواهد گرفت. سرورهای حرفهای این امکان را دارند. البته میتواند از سایر شرکتها نیز این سرویس را برای سایت خود داشته باشید.
بهعنوانمثال CloudFlare یکی از این شرکتها است که از طریق آن میتوانید WAF را برای سایت خود فعال کنید.
راهکارهایی که فقط کاربرانی که آشنایی کامل با وردپرس دارند میتوانند انجام دهند:
اگر مواردی که تابهحال گفتهشده را انجام دهید تا حد مطلوبی امنیت سایت ودپرسی را تأمین کردید؛ اما میتوانید با راهکارهایی بیشتر و تخصصیتر امنیت وردپرس را افزایش دهید. برخی موارد نیاز به دانش کمی در کد نویسی دارد.
نام کاربری پیشفرض “admin” را تغییر دهید.
در این بخش از آموزش افزایش امنیت وردپرس، با یکی از روشهای مهم و حیاتی ضد هک کردن وردپرس آشنا میشوید. قبلاً نام کاربری پیشفرض مدیریت وردپرس، “admin” بود. ازآنجاکه نام کاربری نیمی از اعتبار ورود است، این امر هکرها را ترغیب به حملات brute-force میکند. خوشبختانه وردپرس از آن زمان به بعد تغییر کرده است و در حال حاضر هنگام نصب وردپرس میتوان نام کاربری پیشفرض مدیریت را تغییر دارد . بااینحال، هنوز برخی از کاربران هنگام نصب وردپرس، نام کاربری مدیریت را بهعنوان “admin” تنظیم میکنند.
ازآنجاکه بعد از نصب، وردپرس به شما اجازه تغییر نام کاربری را نمیدهد، سه روش برای تغییر نام کاربری وجود دارد.
- نام کاربری مدیر جدید ایجاد کنید و قبلی را حذف کنید.
- از افزونه تغییر نام کاربری استفاده کنید
- بهروزرسانی نام کاربری از طریق phpMyAdmin
توجه: ما در مورد نام کاربری “admin” صحبت میکنیم، نه نقش مدیر.
آموزش غیرفعال کردن ویرایشگر فایل
یکی دیگر از راههای بالا بردن امنیت وردپرس، غیرفعال کردن ویرایشگر داخلی پوسته و افزونه است. ویرایشگر فایل به شما اجازه میدهد که فایل های افزونهها و پوستهها را از قسمت مدیریت وردپرس ویرایش کنید. ما توصیه میکنیم آن را خاموش کنید به خاطر اینکه این ویژگی میتواند خطر امنیتی باشد. علت این امر این است که اگر به هر روشی نفوذ به قسمت پیشخوان وردپرس انجام شود، ویرایشگر پوسته و افزونه کمک زیادی به نفوذ گران به تکمیل یا ادامه کار مخرب آنها میکند؛ بنابراین حتماً این 2 ویرایشگر را غیرفعال کنید:
شما میتوانید این کار را با اضافه کردن کد زیر در فایل wp-config.php خود انجام دهید .
1
2 |
// Disallow file edit
define(‘DISALLOW_FILE_EDIT’, true); |
اجرای فایل های php را در دایرکتوریهای نامرتبط غیرفعال کنید.
یکی دیگر از راههای افزایش امنیت وردپرس، غیرفعال کردن اجرای فایل های PHP در فولدرهای نامرتبط برای اجرای فایل، مانند wp-content/uploads است.
- فایل Notepad را بازکرده و متن زیر را درون آن قرار میدهیم:
<Files *.php>
deny from all
</Files>
- هنگام ذخیره فایل، دقیقاً عبارت زیر را وارد میکنیم. (” را هم تایپ کنید)
“.htaccess”
- سپس آن را در مسیر/wp-content/uploads/ و /wp-includes/ آپلود کنید.
محدود کردن تعداد دفعات ورود به سایت
بهطور پیشفرض وردپرس این را اجازه میدهد که اگر کاربری نام کاربری یا رمز عبور خود را هنگام ورود اشتباه وارد کند میتواند هرچقدر که بخواهد، برای لاگین تلاش کند. این باعث میشود حملات بروت فورس به سایت شما نیز آسان شود و باعث آسیبپذیری بیشتر سایت شما میشود. هکرها از این امکان میتوانند استفاده کنند و رمزهای مختلف را بهصورت اتوماتیک روی فرم ورود سایت شما تست کنند تا رمز شما را پیدا کنند.
اما نگران نباشد. بهراحتی میتوان محدودیتی برای تعداد تلاش لاگین تعیین کرد تا هکرها از این امکان سو استفاده نکنند.
- در قسمت Brute Force Protection از تنظیمات Wordfence، میتوان با استفاده از گزینه Lock out after how many login failures، تعداد تلاش را محدود کرد و بعد از آن کاربر قفل میشود.
- اگر از افزونه Wordfence استفاده نمیکنید، میتوانید از افزونه Login LockDown استفاده کنید.
- ابتدا این افزونه را نصب و فعال کنید.
- پس از فعالسازی، از قسمت تنظیمات، روی گزینهLogin LockDown کلیک کنید تا وارد صفحه مربوطه شوید. تعداد تلاش را در کادر زیر گزینه Max Login Retries وارد کنید.
پیشوند جدولهای وردپرس را تغییر دهید.
بهطور پیشفرض پیشوند جدولهای وردپرس wp است. اگر پیشوند جدولهای سایت شما نیز همان پیشفرض وردپرس باشد، پس هکرها دقیقاً نام جدولها و فیلدهای دیتابیس سایت شما را میدانند!
برای تغییر پیشوند جدولهای وردپرس میتوانید از افزونه Change Table Prefix استفاده کنید. از این به بعد نیز حتماً هنگام نصب وردپرس، بهطور پیشفرض این عبارت را قرار ندهید و آن را به حروف دیگری تغییر دهید. لازم هم نیست که حتماً 2 حرف باشد. میتواند شامل چندین حرف و عدد باشد.
محافظت از پوشه مدیریت وردپرس و صفحه ورود به سیستم
همه میدانند که آدرس پنل مدیریت wp-admin است. پس هکر نیز از این موضوع آگاه است. ما میتوانیم برای امنیت بیشتر، روی این فولدر و مسیر رمز قرار دهیم. یعنی علاوه بر نام کاربری و رمز اکانت خود، یک نام کاربری و رمز دیگر روی این مسیر قرار دهید. یعنی پنل مدیریت خود را دو قفله میکنید.
برای این کار باید وارد پنل هاست خود شوید. بهعنوانمثال اگر از سی پنل استفاده میکنید، وارد فولدرهای سایت خود شوید و در آنجا با کلیک راست کردن روی فولدر wp-admin، نام کاربری و رمز عبور انتخاب کنید.
غیرفعال کردن Directory Indexing(فایل ها و فولدرها)
ِ DIrectory Indexing قابلیتی است که اگر فعال باشد و یک دایرکتوری از سرور دارای فایل index(مثل index.php و…) نباشد، تمام محتویات آن پوشه به کاربر نمایش داده میشود.
ِ DIrectory Indexing میتواند توسط هکرها مورد سوءاستفاده قرار گیرد تا از طریق آن، هکرها فایلی را که دارای آسیبپذیریهای شناختهشده است؛ شناسایی کنند و بتوانند از این فایل ها برای دسترسی استفاده کنند.
DIrectory Indexing همچنین میتواند توسط افراد دیگر مورداستفاده قرار گیرد تا فایل ها و تصاویر شما را کپی کنند و به ساختار دایرکتوری شما و سایر اطلاعات دسترسی پیدا کنند.
شما باید با استفاده از FTP یا از cPanel، یک فایل htaccess. را در دایرکتوری ریشه سایت خود بسازید و البته اگر از قبل وجود دارد، باید خط زیر را در انتهای فایل اضافه کنید:
Options –Indexes
XML-RPC را در وردپرس غیرفعال کنید.
در این بخش از آموزش افزایش امنیت وردپرس، با یکی دیگر از روشهای افزایش امنیت وردپرس آشنا میشوید. این روش غیرفعال کردن xml-rpc در وردپرس میباشد.
XML-PRC برای ارتباط با سایر وبسایتها و اپلیکیشن ها کاربرد دارد که از وردپرس 3.5 اضافه شد. اما فعال بودن این امکان احتمال حمله بروت فورس را زیاد میکند.
هکر با استفاده از این امکان، میتواند با هویتهای مختلف درخواست به سمت صفحه لاگین ارسال کند و چون از هویتهای مختلف ارسال میشود، هیچ پلاگینی جلوی این درخواستها را نمیگیرید و افزونه Limit Login Attemps نیز کاربردی ندارد! به همین دلیل اگر این امکان برای شما کاربرد ندارد، باید آن را غیرفعال کنید.
سه روش برای غیرفعال سازی XML-RPC در وردپرس وجود دارد، اما روش htaccess. بهترین است زیرا کمترین منابع را استفاده میکند.
- روش اول غیرفعال کردن XML-RPC در وردپرس: استفاده از فیلتر
درحالیکه گزینه مربوطه در مدیریت وردپرس برای خاموش کردن XML-RPC حذفشده است، یک فیلتر وجود دارد که میتوانید برای خاموش کردن آن در صورت لزوم استفاده کنید.
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
- روش دوم غیرفعال کردن XML-RPC در وردپرس: استفاده از افزونه
شما میتوانید بهآسانی از افزونه Disable XML-RPC برای غیرفعال کردن xml-rpc استفاده کنید.
- روش سوم غیرفعال کردن XML-RPC در وردپرس: استفاده از htaccess.
درحالیکه استفاده از افزونه برای بسیاری موارد کافی است، هنوز هم امکان حمله وجود دارد.در این موارد، ممکن است بخواهید همه درخواستهای مربوط به xmlrpc.php را حتی قبل از آنکه درخواست به وردپرس داده شود، غیرفعال کنید. بهسادگی کد زیر را در فایل.htaccess خود اضافه کنید:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
کاربرهای بدون فعالیت را خارج کنید.
یکی دیگر از روشهای بالا بردن امنیت وردپرس، logout کردن کاربران غیرفعال از محیط پیشخوان وردپرس است.
برخی اوقات پیش میآید که کاربر log in میکند و پس از مدتی کامپیوتر یا هر دستگاه دیگری که با آن واردشده، ترک میکند. این یک خطر امنیتی محسوب میشود. به خاطر اینکه ممکن است فرد دیگری در همین حین از دستگاه او استفاده کند، تغییراتی در حساب کاربری ایجاد کند. مثلاً رمز عبور را تغییر دهد یا حتی بدتر از آن، ایمیل را هم تغییر دهد.
به همین دلیل است که بسیاری از سایتهای اینترنت بانکی و سایتهای مالی بهطور خودکار پس از مدت زمانی که کاربر غیرفعال میشود، بهطور خودکار، کاربر را از سایت خارج (log out) میکنند. شما میتوانید امکانی مشابه را در سایت وردپرسی خود نیز اجرا کنید
شما نیاز به نصب و فعال کردن افزونه Inactive Logout دارید. پس از فعال کردن افزونه، از قسمت تنظیمات گزینه Inactive Logout را کلیک کنید تا وارد صفحه پیکربندی شوید. بهسادگی مدت زمان را در قسمت Idle Timeout تنظیم کرده و هیچ یک از گزینهها را انتخاب نکنید و درنهایت روی Save Changes کلیک کنید.
سؤالات امنیتی به فرم لاگین و سایر فرمهای سایت اضافه کنید.
با افزودن سؤالات امنیتی یا همان کپچا به سایت، باعث میشود امنیت سایت شما بسیار افزایش پیدا کند. به این صورت دیگر احتمال حملات توسط رباتها کمتر میشود. شما برای اضافه کردن سؤال امنیتی به وردپرس، میتوانید از افزونه Wp Security Questions استفاده کنید.
برای انجام تنظیمات این افزونه، میتوانید بعد از نصب و فعالسازی این افزونه ، در فهرست گزینههای داخل پیشخوان، از قسمت WP Security Question روی گزینه Plugin settings کلیک کنید.
بعد از هک چهکارهایی را انجام دهیم؟
متأسفانه بسیاری از وبمستران اهمیت امنیت را تا زمانی که سایتشان هک نشود، جدی نمیگیرند. وقتی هم هک شوند و بک آپ نداشته باشند، تمام زحمات خود را نابود میکنند.
اگر سایت شما هک شد و با بک آپ یا هر روش دیگری آن را برمیگرداندید، اول اینکه بدانید سایت شما آسیبپذیر است و سعی کنید روشهای مختلف جلوگیری از هک وردپرس را یاد بگیرید و در سایت خود پیاده کنید.
اما هکرها معمولاً یک راه ورود برای خود باز میگذارند. پس باید سایت را کامل بررسی کنید. یکبار سایت خود را با ابزارهای و افزونههای امنیتی اسکن کنید و اگر فایل مخربی پیدا شد آن را پاک کنید. همچنین در قسمت کاربران خود نیز بررسی کنید تا شخصی با سطح دسترسی ادمین بهجز خودتان وجود نداشته باشد و البته باید تمام پسوردهای مربوط به سایت خود را تغییر دهید و آن را سخت انتخاب کنید.
آموزش های تکمیلی و پرطرفدار در این حوزه :
دوره جامع آموزش امنیت وردپرس
دوره آموزش صفرتاصد افزونه نویسی وردپرس
امیدوارم که این آموزش موردتوجه و پسند شما قرارگرفته باشد و با استفاده از راهکارهای معرفیشده در این مقاله بتوانید امنیت وردپرس را افزایش داده و اقدام به جلوگیری از هک وردپرس و نفوذ در سایت خود کنید.
سوالات و پیشنهادات خود را به صورت دیدگاه مطرح کنید
ارسال دیدگاه