۱۰ نکتهٔ کلیدی برای حفظ امنیت در Wordpress

۱۰ نکتهٔ کلیدی برای حفظ امنیت در Wordpress

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

پیش از هر چیز در پاسخ به این سؤال که از میان سیستم‌های مدیریت محتوای جوملا، وردپرس و دروپال چرا در این مقاله به تحلیل مسائل امنیتی در سی‌ام‌اس Wordpress پرداختیم، بایستی بگوییم که نه تنها در دنیا، بلکه در ایران نیز وردپرس پرطرفدارترین سیستم مدیریت محتوا در میان کاربران به خصوص وب‌مسترها است.

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

1. از نام کاربری و رمزعبور منحصر به فرد و ایمن استفاده کنید: از نام کاربری پیش‌فرض admin هرگز استفاده نکنید چرا که می‌توانید نام کاربری اختصاصی خود را داشته باشید. اگر از ورژن‌های قدیمی‌تر استفاده می‌کنید و یا در گذشته نام کاربری را ادمین انتخاب کرده‌اید، می‌توانید با استفاده از پلاگین‌هایی مانند Username Changer، نام کاربری خود را به یک یوزرنیم امن‌تر تغییر دهید. همچنین می‌توانید یک حساب کاربری دیگر با دسترسی‌های مدیر ایجاد کنید و نام کاربری ادمین قبلی را حذف کنید. توجه داشته باشید که از به کار بردن سایر یوزرنیم‌های مشابه و یا قابل‌حدس مثل administrator، نام سایت یا نام خودتان نیز اجتناب کنید.

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

2. استفاده از فناوری احراز هویت دو مرحله‌ای: احراز هویت دو مرحله‌ای (Two-factor Authentication) که به اختصار 2FA نیز نامیده می‌شود، برای ورود به سایت، از کاربر علاوه بر نام کاربری و رمزورود، کدی منحصر به فرد را درخواست می‌کند که این کد تنها برای یک بار استفاده تولید شده و به یک دیوایس -معمولاً یک گوشی هوشمند- از طریق اس‌ام‌اس یا یک اپلیکیشن موبایل ارسال می‌شود.

3. هویت کاربر را بررسی کنید: فرم‌های reCAPTCHA که از کاربر درخواست می‌کنند تا نوشته‌ای که در تصویر می‌بینند را ارسال کنند، یک روش بسیار مفید برای پیشگیری از حملات Brute-force بات‌نت‌ها برای ورود به سایت است. بات‌نت‌ها معمولاً نمی‌توانند به طور خودکار این قسمت از مرحلهٔ ورود به سایت را انجام دهند بنابراین از دسترسی آنها به سایت جلوگیری می‌شود.

4. حفاظت از پسورد با wp-login.php: اگر توسعه‌دهنده یا کاربر پیشرفتهٔ وردپرس هستید و با تغییرات سمت سرور (Server-side) مشکلی ندارید، می‌توانید درخواست لاگین سمت سرور کنید قبل از این که صفحهٔ ادمین پنل وردپرس نمایش داده شود.

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

define( 'WP_AUTO_UPDATE_CORE', true );

گرچه این کار راه‌حل و ایدهٔ خوبی به نظر می‌رسد اما ممکن است شما را با مشکلاتی مانند ناسازگاری قالب‌ها یا پلاگین‌هایی که پیش از این استفاده می‌کردید با ورژن جدید وردپرس مواجه کند. بهتر است همیشه محیطی برای تست و بررسی چنین مواردی در اختیار داشته باشید.

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

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

7. توسعهٔ قالب‌ها و افزونه‌ها: فرقی نمی‌کند که در استفاده از وردپرس تازه‌کار باشید یا مدت زیادی است که به توسعهٔ پلاگین‌ها و قالب‌های آن مشغول هستید؛ به هر حال بهتر است که از شیوه‌های کلیدی حفظ امنیت وردپرس استفاده کنید که برای این منظور، می‌توانید از Defensive Programming استفاده کنید (برای آشنایی بیشتر، به مقالهٔ آشنایی با مفهوم Defensive Programming در صنعت توسعهٔ نرم‌افزار مراجعه نمایید).

امنیت میزبانی
به غیر از نصب ایمن وردپرس و بهبود مرحلهٔ احراز هویت کاربر و نیز اطمینان حاصل کردن از کیفیت و امنیت کدها، یکی دیگر از موارد مهمی که باید به آن توجه کنید، استفاده از یک میزبانی امن و پشتیبانی شده است.

8. از میزبانی وب مدیریت شده استفاده کنید: شرکت‌های متعددی وجود دارند که میزبانی مدیریت شدهٔ وردپرس را در اختیار شما قرار می‌دهند. به طور مثال، برخی از این شرکت‌ها، به صورت خودکار جلوی حملات DoS و DDoS و دیگر انواع آسیب‌پذیری‌ها را می‌گیرند.

9. اجازهٔ دسترسی به فایل‌ها و فولدرها را بررسی کنید: اگر از یک میزبانی حرفه‌ای سایت استفاده کنید، ضروری است که از درستی مالکیت و پرمیشن فایل‌ها و پوشه‌های وردپرس اطمینان حاصل کنید. این کار از حمله و سوء‌استفادهٔ هکرها از فایل‌هایی که از امنیت بالایی برخوردار نیستند، جلوگیری به عمل می‌آورد.

پوشه‌های وردپرس باید دارای پرمیشن 755 و فایل های وردپرس باید دارای پرمیشن 644 باشند که این از یک هاست به هاست دیگر متفاوت است. اگر به هنگام نصب افزونه‌ها یا آپلود یک فایل، با پیغام خطا مواجه می‌شوید، هرگز مجوز دسترسی به هیچ پوشه‌ای را به 777 تغییر ندهید. به جای آن اطمینان حاصل کنید که PHP با کاربر صحیح در حال اجرا است و پوشه‌ها به همان کاربر تعلق دارند. اگر دارای دسترسی Shell، هستید می‌توانید با اجرای این دستورات از امنیت وردپرس اطمینان حاصل کنید:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

10. ایمن‌سازی سمت سرور: اگر از کاربران حرفه‌ای وردپرس هستید و میزبانی وب را خودتان مدیریت می‌کنید، می‌توانید از این روش‌ها برای حفظ امنیت استفاده کنید:
- اطمینان پیدا کنید که کاربر پایگاه دادهٔ شما تنها به این Privilageها دسترسی دارد: SELECT ،INSERT ،UPDATE و DELETE.
- برای پایگاه داده از نام کاربری و رمزعبور قوی استفاده کنید.
- با اضافه کردن کد زیر به فایل wp-config.php، اجازهٔ ویرایش فایل سمت سرور در وردپرس را لغو کنید:

define('DISALLOW_FILE_EDIT', true);

نتیجه‌گیری
در این مقاله با ۱۰ نکته دربارهٔ روش‌های حفظ امنیت در وردپرس از تشخیص هویت کاربر تا روش‌هایی با استفاده از کدنویسی و تنظیمات مرتبط با میزبانی آشنا شدیم. برخی از تکنیک‌های ایمن‌سازی پیشرفته را نیز برای کاربران باتجربه‌تر مطرح کردیم.

یکی دیگر از راه‌کارهایی که برای حفظ امنیت وردپرس پیش‌ روی شما است، استفاده از پلاگین‌های امنیتی نظیر WordFence یا BulletProof Security است. پلاگین‌های متعددی وجود دارند که هر کدام نقاط قوت و ضعف خود را دارند. پس قبل از انتخاب، تحقیق کنید تا پلاگینی را که پاسخگوی نیازهای شما است بیابید.

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

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

منبع