13 نکته در رابطه با افزایش امنیت وردپرس

سیستم مدیریت محتوای وردپرس توسط دو برنامه نویس به نام‌های Matt Mullenweg و Mike Little در سال 2003 و بر اساس پروژه open source دیگری به نام b2 طراحی شده است.
هر چند که از b2 پروژه موفق دیگری به نام b2evolution هم طراحی شده که اتفاقا CMS قدرتمندی هم محسوب می‌شود، اما موفقیتی که وردپرس بدست آورده است، اگر تکرار شدنی باشد، رسیدن به آن تا حد زیادی دشوار خواهد بود.

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

wordpress

به دلیل افزایش محبوبیت و متعاقبا استفاده بیشتر از این CMS، روند کشف مشکلات و نقاط ضعف امنیتی آن هم خیلی بیشتر از گذشته شده است، به طوری که تعداد نقاط ضعف امنیتی کشف شده آن در دو سال 2013 و 2014 بیش از 130 مورد بوده است. به همین دلیل رعایت نکات امنیتی در نصب و راه‌اندازی این سیستم مدیریت محتوا از اهمیت بسزایی برخوردار است.

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

موارد ساده:

1. استفاده از رمز عبور مناسب:
بهترین گزینه ‌ای که برای داشتن یک رمز عبور قوی و غیر قابل حدس و در عین حال آسان برای به خاطر سپاری می‌توانم ذکر کنم، جملات فینگلیش است.
با ترکیب چند کلمه فینگلیش با معنی و چند عدد و علامت میتوان رمز عبوری غیر قابل حدس بدست آورد که در حملات Dictionary Attach و یا حتی Hybrid Dictionary Attach (ترکیبات رایج کلمات Dictionary با اعداد و علائم نگارشی) مقاومت بالایی داشته باشد.

مثال: ترکیب جمله Man Reza Hastam با شماره شناسنامه یا کد ملی شما.

Man16Reza59Hastam
ManRezaHasmam1755894567

یا حتی با کمی پیشرفت، استفاده از حروفی مانند @ به جای a، $ به جای S، 0 به جای o یا حروف دیگر:

M@n16Rez@59H@st@m

2. عدم نصب افزونه‌های ناشناس و نامطمئن:
تا جای ممکن از نصب افزونه‌هایی که از عملکرد آنها اطلاع ندارید اجتناب کنید. در غیر اینصورت، تنها افزونه‌هایی را نصب کنید که در خود وبسایت WordPress ارائه شده‌اند و از نصب نسخه‌های سفارشی یا دستکاری شده خودداری کنید.
در رابطه با افزونه‌های مجاز نیز، تا جای ممکن از آنهایی که Rating یا امتیاز بالایی دارند (بیش از 4 ستاره) استفاده کنید.

add-on-rating

3. تغییر نام کاربر Admin:
از قسمت مدیریت کاربران، کاربر جدیدی با نقش مدیر ایجاد کرده و کاربر Admin را غیر فعال کنید.

new-user-admin

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

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

موارد پیشرفته:

6. تغییر نام کاربری نمایش داده شده در سایت:
حتی با وجود تغییر نام کاربر، امکان پیدا کردن username با کلیک بر روی نام نویسنده مطالب و خواندن url مربوطه که به صورت http://www.YourSite.ir/author/YourUsername می‌باشد، وجود دارد.
در صورت دسترسی به بانک اطلاعاتی می‌توان این نام را تغییر داد. برای این کار با استفاده از ابزار phpMyAdmin به بانک اطلاعاتی وردپرس وارد شده و در جدول users، مقدار فیلد user_nicename را برای کاربر مربوطه تغییر دهید.

7. مخفی کردن نسخه wordpress:
یکی از اولین اطلاعاتی که در نفوذ به سایت‌های وردپرس مورد نیاز است، دانستن نسخه نصب شده آن است. برای بدست آوردن شماره نسخه یا version راه‌های زیادی وجود دارد که ساده‌ترین آنها خواندن مقدار تگ Generator از Metadata های موجود در Html source می‌باشد. این تگ به صورت خودکار توسط وردپرس اضافه می‌شود. با استفاده از افزونه‌های امنیتی مانند موردی که ذکر شد، می‌توانید نسخه وردپرس را مخفی کنید.

8. پاک کردن فایل‌های اضافه:
کلیه فایل‌هایی مانند readme، license و امثال آن حاوی اطلاعاتی در مورد نام و نسخه افزونه نصب شده، پوسته و یا هر ابزاری که مورد استفاده قرار می‌دهید، خواهد بود. با استفاده از یک ftp browser مانند FileZilla یا مدیریت فایل پنل هاستینگ خود، این نوع فایل‌ها را (معمولا با پسوند txt یا md) در تمامی پوشه‌های مسیر نصب وردپرس پیدا و پاک نمایید.

9. جلوگیری از Directory Browsing:
برای این کار یک فایل خالی را با نام index.htm یا index.php در تمامی دایرکتوری‌های موجود بر روی هاست خود کپی نموده تا مانع نمایش directory browsing شود. روش دیگر آن مه استفاده از فایل .htaccess با پارامتر ” Options -Indexes” میباشد که به طور کلی این قابلیت را غیر فعال می‌کند.

10. محدود کردن ip مبدا login:
استفاده از این روش در زمانی که Ip ثابتی جهت اتصال به اینترنت داشته باشید، افزایش بسزایی در امنیت وردپرس ایجاد خواهد کرد. حتی در صورت نیاز می‌توان چندین آدرس ip را جهت login تعیین نمود. برای انجام این کار از فایل htaccess با پارامتر زیر استفاده میشود:

<Files wp-config.php>
order deny,allow
allow from 200.50.61.10
allow from 200.50.61.11
deny from all
</Files>

11. تغییر نام فایلwp-login:
با استفاده از این فایل مهم، امکان ورود و خروج کاربران به وردپرس فراهم می‌گردد. تغییر نام فایل wp-login.php میتواند امنیت وبسایت را تا حد بسیار زیادی افزایش دهد. در صورت تغییر نام این فایل به یک نام جدید و غیر قابل حدس و پاک کردن کلیه لینک‌هایی که در صفحه اول سایت جهت ورود به صفحه لاگین وجود دارند، راه نفوذ به پنل مدیریت وردپرس مسدود خواهد شد.
برای انجام این کار بهتر است ابتدا فایلهای php وردپرس خود را دانلود کرده و پس از تغییر نام فایل مربوطه، کلیه ارجاعاتی که به نام قبلی در فایلهای دیگر وجود دارد را جستجو کرده و با فایل جدید، جایگزین نمایید. این ارجاعات در فایل مربوط به admin panel و header آن که دکمه logout در آن واقع شده وجود دارند.

12. مسدود کردن wp-config:
برای انجام این کار مانند موارد شماره 9 و 10 از فایل htaccess با پارمتر زیر استفاده می‌شود:

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

13. بررسی نفوذپذیری:
بعد از انجام کلیه موارد امنیتی، بهتر است به تست و بررسی آسیب‌پذیری‌های رایج در وردپرس پرداخته شود. برای انجام این کار از ابزار رایگان و سورس باز WPScan استفاده می‌شود. این ابزار تحت سیستم عامل linux اجرا می‌گردد. در سیستم عامل Kali نیز نسخه ای از آن قرار داده شده است.

wpscan

About محمد شمس

برنامه‌نویس، طراح انیمیشن و علاقمند به هوش مصنوعی

پاسخ دهید