SHET22

جلوگیری از نمایش نام کاربری در وردپرس؛ آموزش کامل

جلوگیری از نمایش نام کاربری در وردپرس؛ آموزش کامل

پیداکردن نام کاربری مدیر به‌تنهایی برای هک‌کردن سایت کافی نیست؛ ولی یکی از اطلاعات لازم برای حدس‌زدن مشخصات ورود رو در اختیار مهاجم می‌ذاره. توی این آموزش اول با امکانات خود وردپرس نام نمایشی حسابتون رو اصلاح می‌کنیم. بعد هم سراغ افزونه رایگان Stop User Enumeration می‌ریم تا چند مسیر رایج جمع‌آوری نام کاربران رو محدود کنیم.

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

جلوگیری از نمایش نام کاربری در وردپرس

User Enumeration یا «شمارش کاربران» یعنی یک نفر پاسخ‌های سایت رو بررسی می‌کنه تا نام کاربران و نویسنده‌ها رو پیدا کنه. برای مثال، ممکنه سراغ شناسه عددی نویسنده، مسیرهای نویسندگی، نقشه سایت نویسنده یا بعضی پاسخ‌های REST API بره. REST API هم رابطیه که برنامه‌ها با کمک اون اطلاعات رو با وردپرس ردوبدل می‌کنن.

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

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

خود وردپرس گزینه‌ای یک‌کلیکی برای بستن همه روش‌های User Enumeration نداره. از طرف دیگه، مسیر کاربران در REST API وردپرس بخشی از امکانات اصلی وردپرسه و اطلاعات برگشتی اون به نوع درخواست و سطح دسترسی بستگی داره. پس بهتره کل REST API رو بدون بررسی غیرفعال نکنید؛ چون ممکنه ویرایشگر بلوکی یا بعضی افزونه‌های سایتتون به اون نیاز داشته باشن.

بااین‌حال، خود وردپرس به شما اجازه می‌ده «نام نمایشی» حسابتون رو عوض کنید. نام نمایشی همون اسمیه که کنار نوشته‌ها و دیدگاه‌ها دیده می‌شه. بهتره این اسم با نام ورودتون یکسان نباشه.

  1. از پیشخوان وردپرس وارد «کاربران ← شناسنامه» بشید.
  2. توی بخش نام، یک اسم عمومی مناسب وارد کنید.
  3. از فهرست «نمایش عمومی نام»، گزینه‌ای رو انتخاب کنید که با نام ورودتون فرق داره.
  4. روی «به‌روزرسانی شناسنامه» کلیک کنید.
نمایش عمومی نام در سایت
نمایش عمومی نام در سایت

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

معرفی افزونه رایگان Stop User Enumeration

معرفی افزونه رایگان Stop User Enumeration
معرفی افزونه رایگان Stop User Enumeration

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

طبق اطلاعات صفحه رسمی افزونه، نسخه 1.7.9 حداقل به وردپرس 6.3 و PHP 7.4 نیاز داره و بیشتر از ۶۰ هزار نصب فعال داره. این اطلاعات ممکنه با انتشار نسخه‌های بعدی عوض بشن؛ پس بهتره قبل از نصب، بخش جزئیات افزونه رو توی مخزن وردپرس هم ببینید.

برای نصب، از پیشخوان به «افزونه‌ها ← افزودن افزونه تازه» برید و عبارت Stop User Enumeration رو جست‌وجو کنید. بعد روی «هم‌اکنون نصب نمایید» و سپس «فعال نمایید» کلیک کنید. اگه اولین باره افزونه نصب می‌کنید، راهنمای نصب افزونه در وردپرس همه مراحل رو به شما نشون می‌ده.

نصب افزونه رایگان Stop User Enumeration
نصب افزونه رایگان Stop User Enumeration

آموزش تنظیم Stop User Enumeration

بعد از فعال‌سازی، از پیشخوان وارد «تنظیمات ← Stop User Enumeration» بشید. ممکنه اسم یا جای بعضی گزینه‌ها توی نسخه‌های بعدی کمی تغییر کنه، ولی نسخه فعلی روی مسیرهای رایج افشای اطلاعات کاربران تمرکز داره.

منوی تنظیمات Stop User Enumeration
منوی تنظیمات Stop User Enumeration

محدودکردن درخواست‌های کاربران در REST API

گزینه مربوط به REST API دسترسی بازدیدکننده‌های واردنشده به درخواست‌های شناسایی کاربران رو محدود می‌کنه. برای بیشتر سایت‌های معمولی بهتره این گزینه روشن باشه. ولی اگه سایتتون اپلیکیشن یا افزونه‌ای داره که اطلاعات نویسنده‌ها رو از REST API می‌گیره، حتماً بعد از فعال‌سازی عملکردش رو آزمایش کنید.

آپشن‌های محدود کردن افزونه Stop User Enumeration
آپشن‌های محدود کردن افزونه Stop User Enumeration

حذف نقشه سایت نویسنده

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

جلوگیری از افشای کاربر در oEmbed

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

حذف اعداد از نام نویسنده دیدگاه

گزینه Remove Numbers From Comment Authors عددها رو از نام نمایش‌داده‌شده نویسنده دیدگاه حذف می‌کنه. این قابلیت برای وقتیه که یک روش شمارش کاربر به عددهای داخل نام دیدگاه تکیه می‌کنه. اگه کاربران سایتتون واقعاً توی نام نمایشی خودشون عدد دارن، قبل از فعال‌کردن این گزینه نتیجه رو روی دیدگاه‌ها ببینید.

ثبت گزارش برای Fail2Ban

گزینه Log Attempts To AUTH LOG فقط وقتی به کارتون میاد که روی سرور مجازی یا اختصاصی از Fail2Ban استفاده می‌کنید. Fail2Ban برنامه‌ای روی سروره که گزارش خطاها رو می‌خونه و IPهایی با رفتار تکراری و مشکوک رو برای مدتی مسدود می‌کنه.

روشن‌کردن این گزینه به‌تنهایی Fail2Ban رو راه نمی‌اندازه. مدیر سرور باید فیلتر و jail مناسب رو هم تنظیم کنه. jail هم بخشی از تنظیماته که مشخص می‌کنه چه رفتاری بررسی بشه و IP متخلف برای چه مدتی مسدود بمونه. فایل نمونه فیلتر و تنظیمات داخل پوشه افزونه هستن. اگه هاست اشتراکی دارید، معمولاً به این قسمت دسترسی ندارید؛ پس گزینه ثبت گزارش رو خاموش نگه دارید یا از پشتیبانی هاست کمک بگیرید.

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

بعد از انتخاب گزینه‌های مناسب، روی Save Changes کلیک کنید تا تنظیمات ذخیره بشن.

ذخیره تغییرات تنظیمات افزونه
ذخیره تغییرات تنظیمات افزونه

چطور نتیجه تنظیمات رو آزمایش کنیم

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

  1. یک پنجره ناشناس یا Private توی مرورگرتون باز کنید.
  2. آدرس example.com/?author=1 رو باز کنید و به‌جای example.comدامنه خودتون رو بنویسید.
  3. آدرس example.com/wp-json/wp/v2/users رو هم توی همون پنجره بررسی کنید.
  4. مطمئن بشید سایت فهرستی قابل‌استفاده از نام کاربران یا نام ورود مدیر به شما نشون نمی‌ده.

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

کارهای تکمیلی برای امنیت ورود

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

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

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

جمع‌بندی

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

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

سوالات متداول

افزونه Stop User Enumeration رایگانه؟

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

خود وردپرس می‌تونه نام کاربری رو کاملاً مخفی کنه؟

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

مخفی‌کردن نام کاربری جلوی هک رو می‌گیره؟

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

روی هاست اشتراکی باید Fail2Ban رو فعال کنم؟

معمولاً نه؛ چون نصب و تنظیم Fail2Ban به دسترسی مدیریتی سرور نیاز داره. اگه هاست اشتراکی دارید، این گزینه رو خاموش نگه دارید یا درباره فعال‌بودن Fail2Ban از پشتیبانی هاست بپرسید.

نظر شما در این مورد چیه؟

  1. U314490۲۴ مرداد ۱۴۰۳

    ممنون 2تا سوال داشتم
    افزونه WordFence و AIOS این قابلیت رو دارند در خودشون؟
    با کد هم میشه کار این افزونرو انجام داد به طور اتوماتیک؟

  2. U322622۲ مهر ۱۴۰۲

    سلام وقت بخیر
    با چه افزونه ای میشه جلوی نمایش نام کاربری رو با این دستور بعد از دامنه گرفت؟
    دستور نمایش کاربران پس از آدرس سایت:
    /wp-json/wp/v2/users

    • رضا راد۳ مهر ۱۴۰۲

      سلام با غیرفعال کردن wp json که بهترین راه هست.

      • U322622۱۱ مهر ۱۴۰۲

        ممنون
        ببخشید برای غیر فعال کردن wp json باید چه کاری انجام دهم؟

        • رضا راد۱۲ مهر ۱۴۰۲

          سلام آموزشش توی سایت هست. سرچ بفرمایید. اگر نبود اطلاع بدید آموزش میدیم.

  3. U11168۱۴ اسفند ۱۳۹۶

    آیا این افزونه برای نصب پیشنهاد میشه

    افزونه امنیتی معرفی شده در آموزش امنیت رو نصب کرده ایم

    • رضا راد۱۴ اسفند ۱۳۹۶

      سلام اگر اون افزونه رو نصب کردید خیر نیازی نیست

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

در حال بارگذاری...

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