مرحله به مرحله با افزایش امنیت وردپرس
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 16 دقیقه

مرحله به مرحله با افزایش امنیت وردپرس

سیستم مدیریت محتوا وردپرس در کل یک سیستم امن به حساب می آید و همواره تیم پشتیبانی این سیستم مشغول برطرف کردن مشکلات امنیتی، باگ‌ها و… وردپرس هستند اما گاهی اوقات باید در نظر گرفت که همیشه نمی توان مشکلات امنیتی را به نرم افزار خاص ارجاع دهیم بلکه بعضی اوقات استفاده اشتباه ما از نرم افزار، امنیت آن را به خطر می‌اندازد. از این جهت سعی ما در این مقاله این است که به صورت جامع تمام نکات امنیتی که نیاز است بدانید را به شما بگوییم. همچنین جدای از این موارد ما در آخر مقاله مجموعه‌ای از پلاگین‌های امنیتی وردپرس را به شما معرفی خواهیم کرد. 

۱- از نام کاربری admin استفاده نکنید

نمی دانم  این چه مشکلی است که در کاربران وردپرس وجود دارد، کاربران وردپرس تمایل شدیدی به قرار دادن admin به عنوان نام کاربریشان دارند. البته مشکل از آنجای شروع شده که وردپرس در نسخه های پیشین خود نام کاربری admin را در فیلد مربوط به نام کاربری قرار می داد، البته در هنگام نصب می توانستید آن را ویرایش نمایید. اما مشکل اصلی استفاده از این نام کاربری چیست؟ نام کاربری یکی از مهمترین شاخصه ها برای وارد شدن به سیستم می باشد، استفاده از کلمه admin به غایت کاری اشتباه است زیرا که بسیار به آسانی حدس زدنی است. پس یادتان باشد که هرگز از این کلمه استفاده نکنید.

۲- از پسورد های معروف استفاده نکنید

پسورد های معروف عبارت است از پسوردهایی که بیشتر کاربران از آن برای انتخاب رمز عبور خود استفاده می کنند برای مثال رمز عبور ۱۲۳۴۵۶۷۸ جزو رمزهای عبوری است که به سادگی هک می شود و برای هرکسی قابل تشخیص است. برای ساختن یک رمز خوب کافیست که از ترکیب اعداد، حروف بزرگ و کوچک، علامت ها و… استفاده بکنید. به همین سادگی یکی از شاخصه های ورود به صفحه اصلی وبسایت را محافظت کرده اید.

۳- بیشتر از دو شاخصه برای ورود قرار دهید

برای وارد شدن به صفحه اصلی وردپرس در حالت پیشفرض شما احتیاج به یک رمز و نام کاربری دارید اما برای محافظت بیشتر از وبسایت به خصوص در برابر ربات ها و حملات بورتفورس از شاخصه های دیگری نیز استفاده بکنید. یکی از مهمترین شاخصه ها برای اینکار استفاده از کد های کپچا است که مطمئنا با آنها کار کرده اید و می دانید که وظیفه شان چیست. یکی دیگر از شاخصه های ورود قرار دادن پرسش های تصادفی است که این نیز به حفاظت شما کمک می کند.

۴- با نقش های کاربری بیشتر آشنا شوید

اگر می خواهید در وبسایت چندین کاربر تازه را ثبت نام بکنید ابتدا بیاید نقش های کاربری را به خوبی بشناسید، نقش های کاربری کمک می کند که دسترسی کاربران به پنل وردپرسی تغییر بکند، برای مثال شما کاربری دارید که وظیفه اش تنها منتشر کردن مطلب تازه است پس احتیاجی نیست که این کاربر به تنظیمات اصلی وبسایت نیز دسترسی داشته باشد پس این یک راه است که کمک می کند دسترسی کاربران به بخش های مختلف وبسایت محدود تر شود.

۵- ویرایشگر وردپرس را غیرفعال کنید

اگر جزو کاربرانی نیستید که خیلی با ویرایشگر وردپرس کار ندارد و از آن استفاده نمی کند حتما آن را غیر فعال بکنید، ویرایشگر وردپرس به این منظور ایجاد شده که بشود از طریق پنل وردپرسی به فایلهای وردپرسی خودتان دسترسی (ویرایش کد) داشته باشید. برای غیر فعال کردن ویرایشگر وردپرس کافیست فایل wp-config.php را از طریق پنل هاستتان باز نمایید و کد زیر را در جایی از این فایل قرار دهید «قبل از اینکار حتما از فایل بکاپ بگیرید».

define('DISALLOW_FILE_EDIT', true);

۶. وردپرس را همیشه بروزرسانی کنید

از نکات قابل توجه برای برقراری امنیت وردپرس اینست که وبسایت وردپرسی شما همیشه باید بروز باشد، تیم وبسایت وردپرس آپدیت های مختلفی را برای وبسایت وردپرسی شما ارسال می کنند هر کدام از این آپدیت ها حاوی ده ها راهکار برای رفع مشکلات امنیتی وبسایت شماست. برای بروزرسانی کردن وبسایت وردپرسی کافیست که از طریق منوی پیشخوان به قسمت بروزرسانی مراجعه نمایید.

۷. از پوسته های مطمئن استفاده کنید

یکی از دلایلی که باعث رخ دادن باگ های امنیتی در وبسایت های وردپرسی می شود، استفاده از قالب هاییست که نال شده اند یعنی چی؟ یعنی اینکه بعضی از قالب ها به صورت تجاری در مارکت های معتبری به فروش می رسند اما بعضی از وبسایت های دیگر همان محصول را به قیمت رایگان در اختیار مردم قرار داده اند. اولین نکته ای که باید مد نظرتان باشد اینست که این قالب ها هیچگونه پشتیبانی ندارند. یعنی اگر وبسایت شما مشکلی پیدا کرد هیچکسی نیست که پاسخگو باشد. از طرفی بیشتر این قالب ها با اسکریپت هایی مجهز هستند که همینطوری الکی ترافیک وبسایت شما را تصاحب می کنند. اما راهکار چیست؟ از منابع مطمئن پوسته های خودتان را دریافت کنید. منابعی مثل Wordpress.org یا Themeforest.net می توانند بهترین قالب ها را به شما عرضه کنند.

۸. نسخه وردپرس خود را پنهان کنید

یکی از نکاتی که همیشه باید مد نظرتان باشد نسخه وردپرسی است که از آن استفاده می کنید، اما اگر از کاربرانی هستید که وبسایت وردپرسی خود را آپدیت نمی کنند باید همواره نسخه وردپرس خود را پنهان نگه دارید. (نکته: بعضی از کاربران به دلیل آنکه نسخه های جدید وردپرس با پوسته یا افزونه مد نظرشان به درستی کار نمی کند از بروزرسانی وردپرس خودداری می کنند.) برای پنهان کردن وردپرس سه راه مختلف وجود دارد:

1. پاک کردن فایل readme.html: این فایل حاوی اطلاعاتی درباره وبسایت وردپرسیتان است که در فایلهای خود وردپرس موجود می باشد. برای پاک کردن این فایل کافی است که به قسمت فایل منیجر هاست مراجعه کرده و این فایل را پاک کنید.

2. حذف تابع دریافت نسخه از قالب: یکی دیگر از راههای پنهان کردن نسخه وردپرس اینست که تابع دریافت نسخه وردپرس را از پوسته خود حذف کنید. برای این کار وارد فایلهای پوسته خود شوید و فایل function.php را ویرایش نمایید. «قبل از این کار حتما از این فایل یک نسخه تهیه کنید تا در صورت بهم خوردن پوسته بتوانید به حالت قبل بازگردید.» بعد از آن دستور زیر را به فایل اضافه نموده و ذخیره کنید.

remove_action('wp_head', 'wp_generator');

3. پاک کردن نسخه وردپرس از خوراک وبسایت: شما می توانید یک قدم جلوتر از همیشه باشید، خوراک وبسایت شما می تواند مکان خوبی برای جمع آوری اطلاعات وبسایت برای هکر ها باشد با انجام اینکار نسخه وردپرسی شما در خوراک وبسایت شما نیز نمایش داده نمی شود. فایل function.php را نموده و دستورات زیر را داخلش قرار دهید.

function wpt_remove_version() {
   return '';
}
add_filter('the_generator', 'wpt_remove_version');

۹. تعداد دفعات ورود به وبسایت را محدود نمایید

شاید برای شما نیز پیش آمده باشد که وقتی وارد پنل وردپرس می شوید می توانید به صورت نامحدود نام کاربری و رمز عبور خود را اشتباه وارد کنید (حلقه نامحدود)، اما خیلی اوقات اینکار به ضرر شما تمام می شود. برای مثال در حملات brute force وبسایت شما با هزاران رمز عبور مختلف امتحان می شود اما اگر وبسایت خودتان را به تعداد دفعات ورود معینی محدود کنید از این نوع حملات جلوگیری نموده اید. برای این کار می توانید از افزونه Login LockDown استفاده کنید.

۱۰. از افزونه امنیت وردپرس استفاده کنید

آیا شما هیچ دانشی از نحوه کارکرد آنتی ویروس سیستم عامل خود دارید؟ خیر. اما آیا این مهم است؟ هم بله هم خیر. چرا؟ آنتی ویروس ها و کلا برنامه هایی که لایه حفاظتی برای کاربران قرار می دهند به صورت پیشفرض یک لایه امنیتی برای کاربران خود قرار می دهند که تا حد زیادی از نفوذ ها جلوگیری می کند، البته این برنامه ها حالت های تخصصی دارند که برای افراد ماهر تعبیه شده است. در وردپرس نیز به همین شکل است، اگر از کاربرانی هستید که می خواهید به صورت خودکار یک لایه حفاظتی برای خود ایجاد کنید حتما از افزونه های امنیتی وردپرس استفاده کنید. در پایان این مقاله چند مورد از این افزونه‌ها را بررسی خواهیم کرد.

۱۱. پیغام های وردپرس  در قسمت ورود را پاک کنید

در زمانی که می خواهید وارد پنل مدیریتی وبسایت شوید، از شما درخواست ورود نام کاربری و رمز عبور را دارد. با اشتباه وارد کردن هر یک از این آیتم ها به شما یک پیغام را نمایش می دهد. به عنوان مثال زمانی که نام کاربری را درست وارد کرده اید اما رمز اشتباه است پیغام می فرستد که :

رمز وارد شده برای نام کاربری x نادرست است. 

این پیغام یک نکته مهم را در خود دارد و آن اینست که نام کاربری x درست است فقط رمز را اشتباه وارد کرده اید، پس شما بعنوان یک هکر از یک فیلد مطمئن می شوید. پس سعی کنید که این پیغام ها را پاک کنید. برای اینکار می توانید کدهای زیر را در قسمت function.php قالب خود وارد کنید. «کد را حتما قبل از بسته شدن کد php اصلی کپی کنید، یعنی قبل از علامت <? در انتهای فایل»

function failed_login () {
 return 'login information was wrong!’
}
add_filter ( 'login_errors', 'failed_login' );

۱۲. آدرس ورود به پنل وردپرسی را تغییر دهید

به صورت پیش فرض برای وارد شدن به قسمت ورود وردپرس شما باید به آدرس wp-admin یا wp-login.php مراجعه کنید. دانستن قسمت مورد نظر برای وارد شدن به قسمت ورود وردپرس خود یکی از مسائل مهم امنیتی است. برای اینکه این آدرس تغییر بکند پیشنهاد می کنم از افزونه ای به اسم Protect WP-Admin استفاده کنید. کار با این افزونه بسیار ساده است و همچنین با این افزونه می توانید محیط ورود وردپرس را شخصی سازی کنید «لوگوی وردپرس را عوض کنید یا رنگ پیش زمینه را تغییر دهید.»

‍۱۳. فایل wp-config.php را دور از دسترس قرار دهید

فایل  wp-config.php برای همه کاربران وردپرس فایل شناخته شده ای نیست، اما بگذارید در یک جمله بگوییم که این فایل یکی از حیاتی ترین فایلهای وردپرس شما است. این فایل تمام اطلاعات راجب به نصب وردپرس و اتصال به بانک اطلاعاتی را در خود نگه می دارد. این فایل به صورت پیش فرض در مسیر نصبی وردپرس قرار دارد و به راحتی می توان با نوشتن آدرس 

http://yoursite.com/wp-config.php

به آن دسترسی داشت. البته در حالت عادی این با نوشتن این آدرس یک صفحه سفید به شما نمایش داده خواهد شد که این حالت امنیتی را وردپرس فراهم آورده، اما بعضی از اوقات شما شاید از یک هاست نامعتبر استفاده کنید اینجاست که با مشکل امنیتی برخواهید خورد.

برای جلوگیری از اتفاقات بد می توانید دو کار انجام دهید.یا اینکه فایل wp-config.php را به دایرکتوری ببرید یا اینکه از طریق فایل .htaccess از آن محافظت کنید (پیشنهاد بنده). برای اینکار ابتدا یک بکاپ از فایل htaccess بگیرید سپس آن را باز نمایید و کدهای زیر را داخلش وارد کنید.

<files wp-config.php>
   order allow,deny
deny from all </files>

۱۴. از فایل  htaccess محافظت کنید

همانطور که در مرحله قبلی برای محافظت از فایل wp-config.php از این فایل استفاده کردیم، الان باید بدانیم که چگونه می شود از دسترسی همگان به این فایل نیز جلوگیری کنیم. برای اینکار کافیست که دستور زیر را به فایل اضافه کنید.

<Files .htaccess>
order allow,deny
deny from all
</Files>

۱۵. از نمایش نام کاربری نویسنده در لینک ها جلوگیری کنید

یکی دیگر از راهها برای شناسایی نام کاربران رفتن به قسمت نوشته های مربوط به هر کاربر است، برای اینکار وردپرس برای هر یک از اعضا یک آدرس در نظر می گیرد که این آدرس شامل نام کاربری این کاربر نیز می شود حال دو راه پیشه رو دارید یا اینکه اصلا به کل این امکان را غیر فعال کنید. که به نظر راه خیلی منطقی نیست یا اینکه آدرس هرکدام از نویسندگان را تغییر دهید. برای تغییر این آدرس ها کافیست که از افزونه Edit Author Slug استفاده کنید.

معرفی چند افزونه کاربردی در حوزه امنیت وردپرس

در ادامه این مقاله قصد داریم شما را با چند مورد از مهمترین افزونه‌های امنیتی وردپرس آشنا کنیم. مطمئنا هر کدام از این موارد دارای ویژگی‌ها و خصوصیات منحصر به فردی هستند که با توجه به آن‌ها می‌توانید از یکی از آن‌ها استفاده کنید. برای مشاهده لیست کامل این افزونه‌ها به مطلب «معرفی پلاگین های امنیت وردپرس + دانلود» مراجعه کنید.

1. Wordfence

Wordfence یکی از محبوب‌ترین پلاگین‌های امنیتی به همراه یک ریپازیتوری رسمی است. در حال حاضر بیش از 3 میلیون نصب فعال و امتیاز 5 ستاره دارد. ویژگی اصلی آن داشتن فایروال و اسکنر بدافزار است. فایروال ترافیک مخرب را قبل از رسیدن به وب‌سایت شما مسدود کرده و اسکنر هم از درخواست‌هایی که شامل کدهای مخرب هستند جلوگیری می‌کند.

این پلاگین همچنین شامل محافظت در برابر حملات Brute-force همراه با محدود کردن تعداد تلاش‌های ورود به سیستم است. علاوه بر این فایل‌های سایت شما را اسکن کرده و آن‌ها را با فایل‌های موجود در ریپازیتوری مقایسه می‌کند. اگر تفاوتی پیدا کرد، به شما اطلاع می‌دهد تا بتوانید آن‌ها را تعمیر یا حذف کنید.

قیمت: نسخه اصلی رایگان است، اما یک نسخه پریمیوم دارد که ویژگی‌های اضافی مانند مسدود کردن کشورها، به‌روزرسانی قوانین فایروال و موارد دیگر را ارائه می‌دهد و از ۹۹ دلار در سال شروع می‌شود.

2. iThemes

iThemes یک پلاگین امنیتی جامع است که بیش از 900000 نصب فعال و 5/4 ستاره دارد. این پلاگین بیش از 30 راهکار برای محافظت از وب‌سایت وردپرس شما ارائه می‌دهد که شامل محافظت از حملات Brute-force، اسکن سایت برای آشکارسازی آسیب‌پذیری‌ها و رفع آن‌ها، اعمال گواهی SSL در صفحات مدیریت، ممنوعیت خودکار ربات، امکان جلوگیری از ویرایش فایل در داشبورد وردپرس و خیلی موارد دیگر هستند.

همچنین تغییر آدرس‌های اینترنتی برای بخش‌های مدیریت وردپرس و امکان غیرفعال کردن کامل ورود به سیستم برای یک دوره زمانی معین را نیز آسان می‌کند.

اگر هم به ویژگی‌های بیشتری مانند احراز هویت دوعاملی (2FA)، تغییر کلیدهای وردپرس و اسکن برنامه‌ریزی شده بدافزار نیاز دارید، می‌توانید آن را به نسخه پریمیوم ارتقا دهید.

قیمت: رایگان به همراه یک نسخه پرمیوم از 80 دلار در سال.

3. Hide My WP

HideMyWP با بیش از 27000 نصب و امتیاز 5/4 ستاره، یکی از برترین ابزارهای امنیتی موجود است. این پلاگین می‌تواند به شما کمک کند آسیب‌پذیری‌ها را در زمان وقوع پیدا کنید و اقدامات پیشگیرانه‌ای را برای ایمن‌سازی سایت خود انجام دهید.

ویژگی‌های اصلی آن شامل فایروالی است که درخواست‌های مخرب را نظارت می‌کند و از آن جلوگیری می‌نماید، همچنین توانایی پنهان کردن استفاده از وردپرس با تغییر نام قالب و پلاگین، غیرفعال کردن لینک‌های دایرکتوری و موارد دیگر را نیز دارد.

علاوه بر این حملات امنیتی XSS و SQL Injection را در وب‌سایت وردپرس شما شناسایی و مسدود می‌کند.

قیمت: با قیمت 39 دلار در دسترس است و به شما 6 ماه پشتیبانی می‌دهد که می‌تواند با 75/12 دلار اضافی تا 12 ماه تمدید شود.

4. All In One WP Security & Firewall

All In One WP Security & Firewall یکی دیگر از پلاگین‌های امنیتی جامع برای وردپرس است که بیش از 800000 نصب فعال و امتیاز 5 ستاره دارد. این پلاگین با بررسی منظم آسیب‌پذیری‌ها، خطرات امنیتی را کاهش می‌دهد. همچنین جدیدترین راهکارها و تکنیک‌های امنیتی وردپرس را پیاده‌سازی و اجرا می‌کند.

پس از نصب و فعال سازی آن می‌توانید رمزهای عبور قوی را برای همه کاربران اعمال کنید. همینطور کاربرانی که از اطلاعات ورود و نام کاربری مشابهی استفاده می‌کنند را شناسایی کرده و از وب‌سایت خود در برابر حملات Brute-force محافظت نمایید، به علاوه کاربران غیرفعال را نیز از سیستم خارج کنید.

این پلاگین همچنین فایروال، حفاظت از پایگاه داده و قابلیت بکاپ‌گیری و بازیابی فایل htaccess. و wp-config را نیز ارائه می‌دهد.

قیمت: دانلود و استفاده از این پلاگین رایگان است.

در پایان

در این مقاله ما تمام تلاش خود را به کار بستیم تا بتوانیم یک منبع مناسب و همه فهم برای دادن بیشترین میزان امنیت به سایت وردپرسی‌تان را تولید کنیم. مطمئنا امنیت کاری نیست که نقطه پایانی داشته باشد بلکه همواره باید مراقب خطرات باشید اما مواردی که در این مطلب به آن‌ها اشاره شد جزو اولین موارد بوده و بسیار مهم است که آن‌ها را رعایت کنید. اگر به یادگیری حرفه‌ای وردپرس علاقه مندید می‌توانید به «مسیر یادگیری وردپرس» مراجعه کنید. 

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
3.67 از 3 رای

/@arastoo
ارسطو عباسی
کارشناس تولید و بهینه‌سازی محتوا

کارشناس ارشد تولید و بهینه‌سازی محتوا و تکنیکال رایتینگ - https://arastoo.net

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

ارسطو عباسی

کارشناس تولید و بهینه‌سازی محتوا