به شرکت طراحی سایت WEBRGB خوش آمدید.
آماده پاسخگویی هستیم: 4334 451 0936

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

ارسال شده توسط: در بخش : آموزش طراحی و مدیریت سایت, بلاگ ۱۱ اسفند ۱۳۹۱ دیدگاهها: ۱۳

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

نصب وردپرس با تنظیمات پیش فرض سیستم یکی از اشتباهاتی است که اغلب در زمان راه اندازی سایت وردپرسی به چشم میخورد. در این پست به ۱۰ نکته پیرامون افزایش امنیت وردپرس برای مقابله با هکرها و افزایش امنیت این سیستم محبوب اشاره میکنم:

 

۱. تغییر یوزر ادمین پیش فرض

در وردپرس، یوزر ادمین (مدیریت کل) پیش فرض که در زمان نصب تعریف شده است، admin می باشد. این یعنی هکرها میدانند یوزری که دسترسی کامل مدیریتی به سایت شما دارد چیست و این یعنی یک قدم به سوی هک کامل سایت شما. لذا پس از نصب وردپرس، حتماً از بخش افزودن کاربر، کاربر جدیدی با دسترسی ویرایشگر ایجاد کنید و کاربر دیگری هم با دسترسی مدیریت کل.

در ایجاد کاربر مدیر کل، تا میتوانید یوزر سختی تعریف کنید مثلاً ترکیبی از اعداد و حروف و علائم مجاز. یه این ترتیب دسترسی هکر به یوزر مدیر کل شما بسیار سخت خواهد شد. (برای مثال: me@bh84.sk)

البته اهمیت بسیار دارد که پس از ساخت این یوزر، یوزر admin (پیش فرض وردپرس) را پاک کنید و از این پس فقط با یوزر ویرایشگر خود مطالب را منتشر نمایید.

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

 

۲. انتخاب پسوردهای ایمن

مرحله دوم برای ورود به سایت وردپرسی شما، وارد کردن رمز عبور است که با انتخاب رمز عبور سخت خواهید توانست امنیت دو چندان به سایت خود ببخشید. برای انتخاب پسورد به نمونه هایی مثل EfV)(3@84Dw_eR8g توجه ویژه داشته باشید: ترکیبی از حروف، اعداد و علائم مختلف با تعداد کاراکترهای بالا که امنیت بسیار زیادی دارند.

هم برای یوزر ویرایشگر و هم برای یوزر مدیر کل، پسوردهای سخت و غیر قابل حدس زدن انتخاب کنید.

 

۳. محدود کردن دسترسی به پوشه wp-admin

برای این مهم دو توصیه دارم: یکی رمز گذاری روی پوشه مذکور و دیگری محدود کردن آی پی هایی که دسترسی به این بخش دارند.

برای رمز گذاری کافیسه به بخش مدیریت فایل (در دایرکت ادمین) مراجعه نموده و در public_html روی لینک protect در مقابل نام wp-admin کلیک کنید. سپس فیلدها را تکمیل نمایید. اما در cPanel می بایست به password protect directory از قسمت security مراجعه نمایید و روی wp-admin رمز بگذارید.

اما راه حل دوم که انعطاف پذیرتر است استفاده از فایل htaccess. می باشد. کافیست به فایل مذکور در پوشه wp-admin مقادیر زیر را بیافزایید:

دقت داشته باشید فقط به فایل htaccess. داخل پوشه wp-admin اینها را اضافه کنید و اگر چنین فایلی در این پوشه وجود نداشت، باید آن را ایجاد نموده سپس این کدها را به آن بیافزاییم.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Admin's IP address
allow from xx.xx.xx.xxx
# whitelist Admin-2's IP address
allow from xx.xx.xx.xxx
# whitelist Author's IP address
allow from xx.xx.xx.xxx
# whitelist Author-2's IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
</LIMIT>

در کد فوق که از اینجا کپی شده است، کافیست به جای xهای مختلف، آی پی مورد نظر خود را قرار دهید. با این روش میتوانید به آی پی مثلاً نویسندگان مختلف خود نیز دسترسی دهید.

 

۴. استفاده از پلاگین های کپچا

یکی دیگر از روشهای جالب که باعث می شود روباتها به سادگی انواع حالتهای نام کاربری و رمز را نتوانند تست کنند. در این روش با استفاده از پلاگین های مناسب، برای فرم لاگین کپچا ارائه میشود. برای مثال می توانید از پلاگین SI CAPTCHA Anti-Spam بهره بگیرید.

 

۵. استفاده از authentication unique keys:

از وردپرس ۲.۶ به بعد بخشی به فایل wp-config اضافه شد که توصیه شده است حتماً از طریق لینک https://api.wordpress.org/secret-key/1.1/salt یک سری کلید امنیتی برای وردپرس ایجاد و در محل مربوط کپی شود. برای آشنایی با اهمیت این کلید ها میتوانید این مطلب را مطالعه بفرمایید.

 

۶. محدود کردن دستری به فایل wp-config.php:

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

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

منبع

 

۷. محدود کردن دسترسی به فایل htaccess.:

برای این کار، کد زیر را به همین فایل بیافزایید:

# to protect the .htaccess file itself:
<Files .htaccess>
order deny,allow
deny from all
</Files>

منبع

 

۸. تغییر پیشوند جداول وردپرس:

یکی از مهم ترین کارهایی که باید در زمان اعمال تنظیمات فایل wp-config انجام دهید این است که در قسمت table_prefix$ مقدار پیش فرض یعنی wp را به یک مقدار غیر قابل حدس زدن و دشوار تغییر دهید مثلاً nedqz چرا که پیشوند جداول یکی از راههای sql injection محسوب میشود.

البته اگر میخواهید پیشوند جداول در یک سایت قدیمی را تغییر دهید، صرفاً ادیت کردن فایل wp-config.php نمیتواند کمکی به شما بکند. در این حالت، استفاده از پلاگینها می تواند راه حل مناسبی باشد. برای این مورد می توانید DB Prefix Change (منبع) را تست کنید.

 

۹. همیشه آپدیت باشید و هر قالب/پلاگینی را بکار نبرید:

سعی کنید همیشه آخرین نسخه وردپرس، آخرین ورژن قالبها و پلاگینها را به کار ببرید.

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

سعی کنید فقط قالبها و پلاگینهایی را استفاده کنید که در سایت های معتبر منتشر شده اند مثلاً قالبهای وردپرس بخش طراحی سایت ارزان ما را بررسی کنید!

 

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

وردپرس آپدیتهای متعددی بیرون می دهد تا حفره های امنیتی کشف شده را به سرعت پوشش دهد. با این حساب، هر نسخه نسبت به نسخه بعدی، یک سری باگهای امنیتی دارد که هکر با دانستن نسخه وردپرس می تواند از آن باگ سوء استفاده نموده سایت شما را هک کند.

به همین دلیل توصیه میکنم با روش زیر نسبت به مخفی کردن ورژن وردپرس خود اقدام نمایید:

دو راه معروف برای این کار عبارتند از حذف کد زیر از فایل header.php:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

و یا افزودن کد زیر به فایل functions.php:

remove_action('wp_head', 'wp_generator');

که متأسفانه هیچ یک راه حل کاملی برای حذف ورژن وردپرس نیستند… . این دو روش ورژن وردپرس را از بخش head سورس صفحه ی شما حذف میکنند و افرادی که سورس را میبینند نمیتوانند آن را مشاهده کنند اما یک هکر حرفه ای می توانند به سادگی ورژن وردپرس را در فید rss شما ببیند!

با افزودن کد زیر به فایل functions.php خواهید توانست ورژن وردپرس خود را از همه جا حذف کنید!

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

منبع

 

در کنار تمام اینها، مواردی مثل مخفی کردن پلاگینها، انتخاب نام دیتابیس سخت و همینطور یوزر و رمز پیچیده، محفوظ نگه داشتن اطلاعات ورود، عدم اعطا دسترسی به افراد غیر قابل اعتماد (به منظور نویسنده کردن) و موارد بسیار دیگر نیز در امنیت مؤثرند و در پایان باید گفت امنیت همواره نسبی است و نمیتوان هرگز به امنیت ۱۰۰% رسید.

VN:F [1.9.22_1171]
Rating: 4.8/5 (8 votes cast)
VN:F [1.9.22_1171]
Rating: +3 (from 3 votes)

مطالب مرتبط

دیدگاهها: ۱۳

  1. ارسال شده توسط محسن ۲۶ بهمن ۱۳۹۴ at ۱۲:۱۷ ق.ظ پاسخ

    سلام
    سوال داشتم؟
    از سر ناشی گری مدیرکل سایت را روی سی پنل حذف کردم. الان سایتم ادمین نداره چکار کنم؟

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • ارسال شده توسط مدیر کل ۱۰ فروردین ۱۳۹۵ at ۱:۰۴ ق.ظ پاسخ

      سلام
      به پشتیبان هاستینگتون بگید واستوت به آخرین آپدیت برمیگردانند.

      VN:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  2. ارسال شده توسط فرهاد ۲۱ آذر ۱۳۹۲ at ۹:۱۵ ب.ظ پاسخ

    سلام
    در فولدر wp-admin من فایل htaccess. وجود نداره چه جوری بسازمش
    پسوندش چیه php
    ممنون میشم راهنمایی کنید

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • ارسال شده توسط سامان سالاری ۲۲ آذر ۱۳۹۲ at ۱۱:۴۳ ق.ظ پاسخ

      فرمتش یک فایل تکست هست !
      .htaccess فرمتش حساب میشه !

      VN:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.22_1171]
      Rating: +1 (from 1 vote)
      • ارسال شده توسط فرهاد ۲۵ آذر ۱۳۹۲ at ۹:۰۶ ب.ظ پاسخ

        ممنون یعنی من یک فایل تکست باز کنم اسمش رو بزارم myname.htaccess یا htaccess.txt
        کدومش؟
        بعد چی بریزم توش؟
        میشه یه نمونشو برام بفرستید

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.22_1171]
        Rating: 0 (from 0 votes)
        • ارسال شده توسط سامان سالاری ۱۲ دی ۱۳۹۲ at ۱۰:۵۵ ق.ظ

          ببینید تغییرات کدی که توی پست نوشته شده رو توش بنویسید.
          فایل فقط فرمتش هست .htaccess همین!
          خیلی ساده…
          نمونش هم توی اکثر هاست ها هست. به پشتیبانی هاستتون بگید انجام میدن واستون

          VN:F [1.9.22_1171]
          Rating: 0.0/5 (0 votes cast)
          VN:F [1.9.22_1171]
          Rating: 0 (from 0 votes)
    • ارسال شده توسط ابوالفضل ۲۰ بهمن ۱۳۹۴ at ۱۲:۰۱ ق.ظ پاسخ

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

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  3. ارسال شده توسط balyan ۰۲ آبان ۱۳۹۲ at ۱۰:۵۸ ق.ظ پاسخ

    ممنون

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  4. ارسال شده توسط milad ۱۸ شهریور ۱۳۹۲ at ۲:۲۸ ب.ظ پاسخ

    خیلی مقاله ی مفیدی بود

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  5. ارسال شده توسط مصطفی ۲۹ خرداد ۱۳۹۲ at ۷:۱۰ ب.ظ پاسخ

    سلام جناب مهندس زاده عزیز !

    من روی ساب دامین وردپرس را نصب کردم

    حالا سوالم اینه که :
    شماره ۶ و ۷ را باید داخل فایل htaccess. که در داخل پوشه ی جدید مربوط به ساب دامین هست قرار بدم؟
    اگر htaccess. وجود نداشته باشه باید چی کار کرد ؟ دستی ایجاد کنم ؟

    در ضمن عدم حضورتون داخل انجمن واقعا حس میشه
    از راهنماییتون صمیمانه سپاس گذارم
    موفق باشید

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  6. ارسال شده توسط بهروز مهندس زاده ۲۷ فروردین ۱۳۹۲ at ۱۲:۵۳ ق.ظ پاسخ

    سلام
    در مورد سئوال اولتون باید عرض کنم که میتونید با خرید ip static مشکل رو حل کنید. البته داینامیک بودن ip های ما در زمان اتصال به اینترنت اصلاً محدود به وایمکس نیست! کلاً ما توی ایران ip static نداریم یعنی همه به محض قطع شدن اینترنت، ip جدیدی بدست میارن!

    ۲. فایل wp-config.php رو باز کنید و توش عبارت authentication unique keys رو سرچ بزنید یا مستقیم برید قسمت زیر:
    /**#@+
    * Authentication Unique Keys and Salts.
    درست زیرش همون آدرسی که اعلام کردم، درج شده و بعد از مراجعه به آدرس مذکور به شما عباراتی میده که همون کلیدهای امنیتی هستند.
    عبارات بدست آمده رو کاملاً با مورد زیر و ۷ مورد دیگه که در فایل wp-config.php هستند، جایگزین کنید:
    define(‘AUTH_KEY’, ‘put your unique phrase here’);

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

    VN:F [1.9.22_1171]
    Rating: 2.0/5 (1 vote cast)
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  7. ارسال شده توسط دلداده گان ۲۷ فروردین ۱۳۹۲ at ۱۲:۲۱ ق.ظ پاسخ

    با سلام و عرض ادب

    ۱) مودم های وایمکس هر بار آی پی های متفاوتی ایجاد می کنند ، با این حساب آیا میشه از گزینه ی شماره ۳ برای امنیت استفاده نمود؟
    ۲) در گزینه شماره ۵ کد ها را دقیقا کجای فایل wp-config.php باید قرار داد؟
    ۳) آیا اگر پلاگین نصب کنیم و بعد قالبی جدید نصب کنیم ، پلاگین هایی که نصب کردیم حذف می شود؟

    با تشکر فراوان بابت مطالب کاربردی و مفیدتان

    VA:F [1.9.22_1171]
    Rating: 5.0/5 (1 vote cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

نظر خود را با سایرین به اشتراک بگذارید!

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