نمایش نتایج: از 1 به 2 از 2

موضوع: افزایش امنیت سایت وردپرس

  1. #1
    کاربر انجمن khat.khati آواتار ها
    تاریخ عضویت
    Aug 2013
    محل سکونت
    Bandare Anzali
    نوشته ها
    73
    تشکر
    10
    43 بار تشکر شده در 28 پست

    Arrow افزایش امنیت سایت وردپرس

    - نسخه وردپرسی را که از آن استفاده می کنید، مخفی کنید :

    یکی از اشتباهات کاربران این است که نسخه وردپرس خود را در معرض دید قرار می دهند. در این حالت اگر شما نسخه وردپرس خود را به روز نکرده باشید در معرض خطر هستید چون هر کسی می تواند نسخه وردپرس شما را ببیند. به طرق مختلف می توان نسخه وردپرس را مخفی کرد. در حالت عادی نسخه ورد پرس در داخل کد HTML صفحه index قابل مشاهده است.

    برای حذف این شماره باید حداکثر دو فایل را ویرایش کنید. مورد اول در داخل فایل header.php است که باید به دنبال این خط از کد بگردید:


    کد HTML:
    <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
    که باید این خط را به این شکل تغییر دهید :


    کد HTML:
    <meta name="generator" content="WordPress" />
    ولی در بعضی از قالب ها این شماره نسخه در دو جا نمایش داده می شود. برای حذف شماره نسخه در مکان دوم باید این کد را به فایل function.php موجود در داخل پوشه theme اضافه کنید:


    کد HTML:
    <?php remove_action('wp_head', 'wp_generator'); ?>
    از این طریق می توانید مطمئن باشید که شماره نسخه wordpress شما برای عموم قابل مشاهده نیست. احیانا اگر شماره نسخه وردپرس در قالب شما هم به نمایش در می آید ، می توانید با ویرایش آن بخش، شماره نسخه را حذف کنید.

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


    کد HTML:
    http://www.example.com/readme.html
    به جای example نام سایت مورد نظر را قرار دهید. خواهید دید که بسیاری از کاربران ورد پرس این فایل را از روی سرور خود حذف نکرده اند !!

    2- دایرکتوری هایی که صفحه index ندارند ، می توانند مشکل ساز شوند !

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

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

    برای رفع این مشکل دو راه وجود دارد. راه حل ساده این است که یک فایل Index.html بسازید و داخل دایرکتوری پلاگین قرار دهید و شیوه دوم و اصولی تر این است که دستوری را به فایل htaccess. موجود در root اضافه کنید تا هر کس سعی کرد ، دایرکتوری هایی را که صفحه index ندارند را ببیند، به صفحه پیغام خطای 404 هدایت شود. برای این کار باید این خط را به آخر فایل htaccess. خود اضافه کنید


    کد:
    # Prevents directory listing
    Options -Indexes
    بعد از اضافه شدن این دستور دیگر کسی نمی تواند محتوای دایرکتوری هایی که ایندکس ندارند را ببیند. به عنوان مثال می توانید دایرکتوری پلاگین همین وبلاگ در آدرس
    کد PHP:
    http://www.4goosh.com/wp-content/plugins 
    را چک کنید.

    3- نسخه وردپرس را همیشه به روز نگه دارید

    سعی کنید همیشه نسخه وردپرس ، پلاگین ها و قالب های خود را به روز نگه دارید. اگر از نسخه 2.6 استفاده می کنید، به روز کردن پلاگین ها برای شما به سادگی امکان پذیر خواهد بود و به روز رسانی خودکار وردپرس نیز از نسخه بعدی به وردپرس اضافه خواهد شد ولی در حال حاضر نیز می توانید با نصب wordpress automatic upgrade می توانید این قابلیت را در اختیار داشته باشید.

    4- سطوح دسترسی (premissions) را به درستی تنظیم کنید

    هیچ گاه و تحت هیچ شرایطی بر روی هاست های اشتراکی ، پرمیشن هیچ پوشه ای را بر روی 777 قرار ندهید چون افراد دیگری که بر روی همان هاست هستند می توانند فایل هایی را به آن پوشه آپلود و اجرا کنند. برای پوشه ها در نهایت از می توانید از پرمیشن 755 استفاده کنید و برای فایل ها نیز از پرمیشن 644 استفاده کنید.

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

    اگر دسترسی ها را به این پوشه محدود کنید ، به میزان زیادی امنیت سیستم خود را افزایش داده اید. این پوشه را به دو شکل می توان محدود کرد. شیوه اول محدود کردن دسترسی به این پوشه با استفاده از فایل htaccess. و آدرس IP است. این شیوه فقط زمانی کاربرد دارد که شما از IP Static استفاده می کنید. بیشتر کاربران ایرانی از ip های داینامیک استفاده می کنند و این شیوه برای آنها مناسب نیست ولی اگر احیانا کسانی باشند که از آی پی استاتیک استفاده می کنند، کافیست که داخل پوشه wp-admin یک فایل htaccess. بسازند و این تکه کد را داخل آن قرار دهند:

    کد HTML:
    order deny,allow
    deny from all
    # allow my home IP address
    allow from XX.XX.XXX.XXX
    # allow my work IP address
    allow from XX.XX.XXX.XXX
    به جای X ها باید آدرس آی پی خود را قرار دهند. می توانید به تعداد دلخواه به آدرس آی پی اضافه کنید و تنها همین آدرس ها می توانند به آن پوشه دسترسی داشته باشند و باقی افرادی که سعی داشته باشند وارد دایرکتوری wp-admin شوند، به صفحه پیغام خطای 404 هدایت می شوند.

    افرادی که از آدرس های IP داینامیک استفاده می کنند می توانند پوشه wp-admin را پسورد گذاری کنند. با استفاده از قابلیت موجود در داخل CPanel هاست خود می توانید این کار را به راحتی انجام دهید.

    توجه: شخصا موفق نشدم که پوشه wp-admin را بر روی یکی از سرور هایی که از آن استفاده میکنم ، پسورد گذاری کنم. به نظر میرسد تحت شرایط خاص و در صورت فعال بودن rewrite rule های مربوط به پیوند های یکتا ( permalinks ) این قابلیت به درستی کار نمی کند و شما در هر حالت به صفحه 404 هدایت می شوید. این مورد را در فورم پشتیبانی وردپرس سوال کردم ام. در صورت به نتیجه رسیدن ، راه حل را در همین بخش قرار خواهم داد.

    6- پسورد های خود را مطمئن و طولانی انتخاب کنید

    یکی از دلایل اینکه سایت ها به راحتی هک می شوند استفاده از کلمات عبور ساده و قابل حدس است. برای جلوگیری از هک شدن همیشه سعی کنید که پسورد های طولانی که مخلوطی از حروف ، اعداد و نشانه هاست را انتخاب کنید. همچنین می توانید با نصب پلاگین هایی همچون Login Lock Down جلوی افرادی را که سعی دارند با امتحان پسورد های مختلف وارد بخش ادمین سایت شما شوند را بگیرید. این پلاگین آدرس های IP را ثبت می کند و اگر کاربری با یک آدرس آی پی تعداد دفعات خاصی ، پسورد را اشتباه وارد کند برای دقایق مشخصی دیگر به او اجازه وارد کردن کلمه عبور را نخواهد داد.

    همچنین سعی کنید که username وارد شدن به بخش ادمین را که به شکل پیش فرض admin است را تعویض کنید. در حالت پیش فرض این یوزنیم admin است و نیمی از زحمت هکر برای وارد شدن به بخش ادمین را کم کرده است. حتما این کلمه را تغییر دهید.

    [شیوه تغییر کلمه عبور admin را فراموش کرده بودم که بنویسم. ممنون از دوستان که در کامنت ها این نکته را یادآوری کردند]

    برای تغییر کلمه عبور admin می توانید از phpmyadmin موجود بر روی هاست خود استفاده کنید ولی اگر تا به حال با این برنامه کار نکرده اید می توانید از پلاگین change admin username استفاده کنید. بعد از نصب این پلاگین و فعال کردنش ، به بخش کاربران مراجعت کنید، در این بخش گزینه change username به لینک های بالای همان بخش اضافه شده است. دقت کنید که بعد از تغییر کلمه عبور حتما باید یکبار logout کرده و دوباره login کنید.

    7- جلوی ایندکس شدن احتمالی محتوای پوشه های wp رو بگیرید

    موتور های جستجو می توانند محتوای پوشه های مختلف را جستجو کنند و بسیاری از حفره های موجود در سایت ها با استفاده از همین صفحات ایندکس شده در گوگل توسط هکر ها کشف می شوند. با اضافه کردن این یک خط به فایل robots.txt خود جلوی ایندکس شدن پوشه های wp را بگیرید



    کد PHP:
    Disallow: /wp
    اگر در حال حاضر هیچ فایل robots.txt ای روی سرور خود ندارید، می توانید از این دستورات را در داخل یک فایل با نام robots و پسوند txt ذخیره کنید و بر روی root سرور خود قرار دهید


    کد HTML:
    User-agent: *
    # disallow all files in these WordPress directories
    Disallow: /wp-content/
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /wp-
    # disallow all files in these directories
    Disallow: /tag/
    Disallow: /cgi-bin/
    # disallow robots from parsing individual post feeds and trackbacks
    Disallow: /feed/
    Disallow: /trackback/
    Disallow: */trackback*
    # disallow any files that are stats related
    Disallow: /stats*
    Disallow: /about/legal-notice/
    Disallow: /about/copyright-policy/
    Disallow: /about/terms-and-conditions/
    Disallow: /tag
    Disallow: /docs*
    Disallow: /manual*
    Disallow: /category/uncategorized*
    # disallow files ending with the following extensions
    User-agent: Googlebot
    Disallow: /*.php$
    Disallow: /*.js$
    Disallow: /*.inc$
    Disallow: /*.css$
    Disallow: /*.gz$
    Disallow: /*.cgi$
    Disallow: /*.wmv$
    Disallow: /*.php*
    Disallow: /*.gz$
    Allow: /wp-content/uploads/
    #disallow WayBack archiving site
    User-agent: ia_archiver
    Disallow: /
    این فایل حتی سایت شما را برای موتور های جستجو نیز بهینه می کند و اجازه ایندکس شدن محتوای بدون استفاده سایت شما را به موتور های جستجو نمی دهد.

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

  2. 2 کاربر به خاطر این مطلب مفید از khat.khati تشکر کردند:


  3. #2
    کاربر جدید
    تاریخ عضویت
    May 2017
    نوشته ها
    1
    تشکر
    0
    0 بار تشکر شده در 0 پست
    افزونه ای هم وجود داره که بتوان تمامیت ساختار وردپرس رو از لحاظ امنیت ساپورت کنه؟

موضوعات مشابه

  1. پاسخ: 0
    آخرين نوشته: 2013-05-03, 1:26
  2. mod_security + امنیت سایت
    توسط mybbsupport در انجمن Mybb
    پاسخ: 0
    آخرين نوشته: 2013-02-08, 14:42

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •