گروه نرم افزاری چابک > طراحی و توسعه > راه‌های افزایش امنیت وب‌سایت وردپرسی
راه‌های افزایش امنیت وب‌سایت وردپرسی

وردپرس یکی از محبوب‌ترین سیستم‌های مدیریت محتوا (CMS) در جهان است. با این حال، محبوبیت بالای آن باعث شده تا هدف اصلی هکرها و بدافزارها قرار گیرد. در این مقاله به بررسی روش‌های موثر برای افزایش امنیت وب‌سایت وردپرسی می‌پردازیم.

۱. به‌روزرسانی منظم وردپرس، افزونه‌ها و پوسته‌ها

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

۲. استفاده از رمز عبور قوی و تغییر منظم آن

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

۳. غیرفعال کردن ویرایش فایل‌ها از داشبورد وردپرس

برای جلوگیری از دسترسی هکرها به ویرایشگر قالب و افزونه‌ها، این خط را به فایل wp-config.php اضافه کنید:

define('DISALLOW_FILE_EDIT', true);

۴. محدود کردن تعداد تلاش‌های ورود ناموفق

حملات بروت فورس (Brute Force) یکی از روش‌های رایج برای نفوذ به وردپرس است. برای جلوگیری از این حملات، می‌توان از افزونه‌هایی مانند Limit Login Attempts Reloaded استفاده کرد تا تعداد تلاش‌های ورود ناموفق محدود شود.

۵. تغییر پیشوند جداول دیتابیس وردپرس

هنگام نصب وردپرس، پیشوند wp_ را به عبارت دیگری تغییر دهید تا از حملات SQL Injection جلوگیری شود.

۶. استفاده از احراز هویت دو مرحله‌ای (۲FA)

احراز هویت دو مرحله‌ای یک لایه امنیتی اضافی برای ورود به سایت است. با فعال‌سازی ۲FA، کاربران علاوه بر رمز عبور، نیاز به وارد کردن یک کد یکبار مصرف ارسال‌ شده به تلفن همراه یا ایمیل خود دارند. این کار باعث افزایش امنیت ورود به سایت می‌شود.

امنیت وب‌سایت

۷. مخفی کردن نام کاربری پیش فرض

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

مخفی کردن نام کاربری از خروجی‌های وردپرس

برخی از تم‌ها و افزونه‌ها نام کاربری را در کدهای HTML سایت نمایش می‌دهند. برای جلوگیری از این کار کد زیر را به functions.php قالب اضافه کنید تا نام کاربری از خروجی the_author مخفی شود:

function remove_author_archive() {
    if (is_author()) {
        wp_redirect(home_url());
        exit;
    }
}
add_action('template_redirect', 'remove_author_archive');

مخفی کردن کاربران از REST API

add_filter('rest_endpoints', function($endpoints) {
    unset($endpoints['/wp/v2/users']);
    unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
    return $endpoints;
});

غیرفعال کردن صفحات نویسنده

add_action('template_redirect', function() {
    if (is_author()) {
        wp_redirect(home_url());
        exit;
    }
});

جلوگیری از نمایش نام کاربری با ?author=1

add_action('init', function() {
    if (isset($_GET['author']) && is_numeric($_GET['author'])) {
        wp_redirect(home_url());
        exit;
    }
});

استفاده از display_name به جای username در پست‌ها

echo get_the_author_meta('display_name');

۸. محدود کردن دسترسی به فایل‌های مهم

دسترسی به فایل‌های حساس مانند wp-config.php، .htaccess و فهرست فایل‌های سایت را محدود کنید. می‌توانید در فایل htaccess. تنظیمات امنیتی زیر را اضافه کنید:

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

۹. استفاده از گواهینامه SSL

گواهینامه SSL باعث رمزگذاری اطلاعات رد و بدل شده بین کاربر و سرور می‌شود و از حملات موسوم به Man-in-the-Middle جلوگیری می‌کند. همچنین، داشتن SSL در بهبود سئوی سایت نیز تاثیر مثبت دارد.

۱۰. استفاده از هاست و سرور مناسب

انتخاب یک هاست امن و قابل‌ اعتماد یکی از مهم‌ترین گام‌ها برای افزایش امنیت وب‌سایت وردپرسی شماست. پشتیبانی از گواهی SSL، فایروال و محافظت در برابر DDoS، بک‌ آپ‌ گیری منظم، محدود کردن دسترسی به فایل‌های حساس و اسکن بدافزار و نظارت امنیتی از ویژگی های سرور امن می‌باشند.

این مطلب به شما پیشنهاد می شود!

هاست یا میزبانی از وب سایت چیست و چگونه هاست انتخاب کنیم

هاست یا میزبانی از وب سایت چیست و چگونه هاست انتخاب کنیم

متاسفانه توضیحی برای این نوشته وجود ندارد. لطفا برای مشاهده مطلب روی لینک آن کلیک کنید و نوشته را به صورت کامل بخوانید

۱۱. محدود کردن سطح دسترسی کاربران

هر کاربری که در وردپرس ثبت‌نام می‌کند، نباید دسترسی مدیریتی داشته باشد. نقش‌های کاربران باید با دقت تعریف شده و فقط به افراد مورد اعتماد دسترسی‌های بالا داده شود. همچنین، حذف حساب‌های غیر ضروری از لیست کاربران، یک اقدام امنیتی مناسب است.

۱۲. پشتیبان‌ (بک آپ) گیری منظم از وب‌سایت

پشتیبان‌ گیری منظم از سایت یکی از مهم‌ترین راهکارهای بازیابی اطلاعات در صورت حمله سایبری یا خرابی است. استفاده از افزونه‌هایی مانند UpdraftPlus یا BackupBuddy به شما کمک می‌کند تا به‌ صورت خودکار از سایت خود نسخه پشتیبان تهیه کنید.

۱۳. استفاده از فایروال و افزونه‌های امنیتی

نصب فایروال و افزونه‌های امنیتی مانند Wordfence Security یا Sucuri Security باعث افزایش امنیت وب‌سایت می‌شود. این ابزارها قابلیت‌هایی مانند نظارت بر ورودهای مشکوک، اسکن بدافزارها و مسدودسازی IPهای مخرب را ارائه می‌دهند.

۱۴. غیرفعال کردن اجرای فایل‌ها در پوشه‌های حساس

فایل های php

php_flag engine off

# php-fpm / newer versions:
RemoveHandler .php
RemoveType .php

کد غیرفعال‌سازی اجرای فایل‌های اجرایی در یک پوشه

برای جلوگیری از اجرای کدهای مخرب در وردپرس، می‌توان اجرای فایل‌های اجرایی در پوشه‌هایی مانند wp-content/uploads را غیرفعال کرد. این کار با ایجاد یک فایل .htaccess در پوشه مربوطه و اضافه کردن کد زیر انجام می‌شود:

<FilesMatch "\.(php|php5|php7|phps|exe|sh|cgi|pl|py|bat)$">
Order allow,deny
Deny from all
</FilesMatch>

۱۵. بررسی و مانیتورینگ امنیتی سایت

به‌کارگیری ابزارهای مانیتورینگ امنیتی مانند Google Search Console و Sucuri SiteCheck به شما کمک می‌کند تا هرگونه فعالیت مشکوک را در سایت خود شناسایی کرده و اقدامات لازم را برای مقابله با تهدیدات انجام دهید.

۱۶. مخفی کردن ورژن وردپرس

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

حذف نسخه وردپرس از سورس کد صفحه

کد زیر را در فایل functions.php قالب خود قرار دهید تا نسخه وردپرس از <meta> حذف شود:

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

حذف نسخه وردپرس از فایل‌های CSS و JS

وردپرس به‌صورت خودکار نسخه خود را به فایل‌های CSS و JavaScript اضافه می‌کند. می‌توانید این اطلاعات را با کد زیر حذف کنید:

function remove_wp_version_strings( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'remove_wp_version_strings', 9999 );
add_filter( 'script_loader_src', 'remove_wp_version_strings', 9999 );

حذف نسخه وردپرس از هدرهای HTTP

می‌توانید از فایل functions.php برای حذف اطلاعات نسخه وردپرس از هدرهای HTTP استفاده کنید:

function remove_wp_headers() {
    header_remove('X-Powered-By');
}
add_action('init', 'remove_wp_headers');

۱۷. غیرفعال کردن XML-RPC

XML-RPC یکی از اهداف رایج حملات DDoS است. اگر نیازی به آن ندارید، می‌توانید آن را غیرفعال کنید:

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

جمع‌بندی

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

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

جهت کسب اطلاعات بیشتر به منبع این نوشته مراجعه کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *