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

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

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

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

hg

که باید این خط را به این شکل تغییر دهید :
کد HTML:

uu

ولی در بعضی از قالب ها این شماره نسخه در دو جا نمایش داده می شود. برای حذف شماره نسخه در مکان دوم باید این کد را به فایل function.php موجود در داخل پوشه theme اضافه کنید:
کد HTML:

ytt

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

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

bnn

به جای example نام سایت مورد نظر را قرار دهید. خواهید دید که بسیاری از کاربران ورد پرس این فایل را از روی سرور خود حذف نکرده اند !!

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

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

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

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

aq

بعد از اضافه شدن این دستور دیگر کسی نمی تواند محتوای دایرکتوری هایی که ایندکس ندارند را ببیند. به عنوان مثال می توانید دایرکتوری پلاگین همین وبلاگ در آدرس
کد PHP:

ا چک کنید.

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

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

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

هیچ گاه و تحت هیچ شرایطی بر روی هاست های اشتراکی ، پرمیشن هیچ پوشه ای را بر روی ۷۷۷ قرار ندهید چون افراد دیگری که بر روی همان هاست هستند می توانند فایل هایی را به آن پوشه آپلود و اجرا کنند. برای پوشه ها در نهایت از می توانید از پرمیشن ۷۵۵ استفاده کنید و برای فایل ها نیز از پرمیشن ۶۴۴ استفاده کنید.

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

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

کد HTML:

ord

jhh

 

به جای X ها باید آدرس آی پی خود را قرار دهند. می توانید به تعداد دلخواه به آدرس آی پی اضافه کنید و تنها همین آدرس ها می توانند به آن پوشه دسترسی داشته باشند و باقی افرادی که سعی داشته باشند وارد دایرکتوری wp-admin شوند، به صفحه پیغام خطای ۴۰۴ هدایت می شوند.

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

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

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

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

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

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

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

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

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

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

yu

این فایل حتی سایت شما را برای موتور های جستجو نیز بهینه می کند و اجازه ایندکس شدن محتوای بدون استفاده سایت شما را به موتور های جستجو نمی دهد.