
به اشتراک بگذارید

به اشتراک بگذارید
امنیت وردپرس | بلاگ وبداده
تقویت امنیت صفحه ورود وردپرس با ۷ روش ساده
wp-login.php دارد و اغلب یک حساب مدیر با نقش کامل. مهاجمها این دو واقعیت را میدانند؛ پس تنها چیزی که میان آنها و پیشخوان سایت شما میماند، رمز عبور است. حمله رایج به این در، «حمله جستجوی فراگیر» (Brute Force) نام دارد: رباتها بهصورت خودکار و اغلب از صدها آیپی مختلف، ترکیبهای نام کاربری و رمز را یکییکی امتحان میکنند تا یکی جواب دهد.
wp-login.php و wp-admin در همه سایتهای وردپرسی یکسان است. باتها بدون جستجو میدانند فرم ورود کجاست و مستقیم سراغش میروند.admin یا نام دامنه استفاده میکنند. وقتی نام کاربری معلوم باشد، مهاجم فقط باید رمز را بشکند.xmlrpc.php راه دیگری برای ورود و حتی امتحان چند رمز در یک درخواست است و اغلب فراموش میشود.admin را نداشته باشید؛ سند رسمی صراحتاً میگوید یک حساب مدیر جداگانه بسازید و حسابهای قدیمی را حذف یا کمدسترسی کنید. وقتی مهاجم نام کاربری را نداند، عملاً باید دو چیز را همزمان حدس بزند.wp-login.php به یک مسیر دلخواه (مثلاً my-secret-login) تغییر دهید، بیشتر باتهایی که کورکورانه به آدرس پیشفرض حمله میکنند، اصلاً فرم را پیدا نمیکنند و سروصدا و بار روی سرور کم میشود. افزونههایی مثل «WPS Hide Login» این کار را بدون ویرایش فایل انجام میدهند. اما این روش را «تنها سنگر» خود نکنید؛ همانطور که در نقلقول زیر میبینید، این کار بیشتر «کاهش نویز» است تا امنیت واقعی.
.htaccess دسترسی به صفحه ورود را فقط به همان آیپی محدود کنید. این قطعه رسمی را در فایل .htaccess ریشه سایت قرار دهید و آیپیهای نمونه را با آیپی خودتان جایگزین کنید:xmlrpc.php یک درگاه قدیمی برای ارتباط بیرونی با وردپرس است و طبق مستندات رسمی، هدف پرتکراری برای حمله جستجوی فراگیر محسوب میشود؛ بهویژه متد system.multicall که اجازه میدهد چند رمز در یک درخواست امتحان شود. اگر از اپ موبایل وردپرس یا نسخههای قدیمی Jetpack استفاده نمیکنید، میتوانید آن را با همین چند خط در .htaccess ببندید:wp-content/plugins را تغییر دهید). اگر با تغییر .htaccess یا آدرس ورود به مشکل خوردید، فایل .htaccess را به نسخه بکاپ برگردانید. به همین دلیل بود که همان اول تأکید کردیم بکاپ بگیرید.| روش | سختی اجرا | نیاز به افزونه؟ | میزان اثر |
|---|---|---|---|
| رمز قوی + حذف admin | بسیار آسان | خیر | بالا (پایه امنیت) |
| محدودکردن تلاش ورود | آسان | بله | بالا |
| احراز هویت دومرحلهای | متوسط | بله | بسیار بالا |
| تغییر آدرس ورود | آسان | بله | متوسط (کاهش نویز) |
| افزودن کپچا | آسان | بله | بالا |
| .htaccess برای wp-login | متوسط (فنی) | خیر | بالا (با آیپی ثابت) |
| غیرفعالکردن XML-RPC | متوسط (فنی) | خیر / بله | متوسط تا بالا |
بله. بیشتر حملهها به صفحه ورود خودکار و بیهدفاند؛ رباتها هر سایت وردپرسی را که پیدا کنند امتحان میکنند، فارغ از بزرگ یا کوچک بودنش. حتی اگر مهاجم چیز باارزشی نبیند، ممکن است از سایت شما برای ارسال هرزنامه یا میزبانی بدافزار استفاده کند. پس اندازه سایت مهم نیست.
اگر فقط وقت یک کار را دارید، احراز هویت دومرحلهای را فعال کنید و رمز عبور را قوی و یکتا بگذارید. این دو با هم، بیشترین اثر را دارند؛ چون حتی اگر رمز لو برود، مهاجم بدون کد دومرحلهای نمیتواند وارد شود.
نه لزوماً. رمز قوی، حذف نام کاربری admin و تنظیمات .htaccess بدون افزونه ممکناند. اما برای محدودکردن تلاشها، 2FA و کپچا، افزونه سادهترین راه است. نصب یکی دو افزونه امنیتی معتبر و سبک مشکلی ایجاد نمیکند.
خیر. طبق مستندات رسمی وردپرس، تغییر آدرس ورود بیشتر «نویز» و تلاشهای خودکار را کم میکند اما نباید تنها دفاع شما باشد. آن را در کنار رمز قوی، محدودکردن تلاش و احراز هویت دومرحلهای به کار ببرید.
برای بیشتر سایتهای امروزی خیر، چون ابزارهای مدرن عمدتاً از REST API استفاده میکنند. اما اگر از اپ موبایل وردپرس یا نسخههای قدیمی Jetpack یا برخی سرویسهای انتشار خودکار استفاده میکنید، ممکن است به XML-RPC نیاز داشته باشید. در این حالت بهجای غیرفعالکردن، آن را محدود و rate-limit کنید.
از طریق مدیر فایل هاست یا FTP میتوانید افزونه مسبب را با تغییر نام پوشهاش در wp-content/plugins غیرفعال کنید، یا فایل .htaccess را به نسخه بکاپ برگردانید. اگر محدودکردن تلاش قفلتان کرده، معمولاً بعد از مدت قفلشدن دوباره امکان ورود هست.
بله و بسیار مهم است. بدون HTTPS، رمز و کوکی نشست شما در مسیر شبکه بهصورت متنِ خوانا رد و بدل میشود و قابل شنود است. مستندات رسمی هم بر «HTTPS در همهجا» تأکید میکند. اطمینان حاصل کنید گواهی SSL روی دامنه نصب و فعال است.
امنیت یک کار یکباره نیست. بهتر است هسته، قالب و افزونهها را مرتب بهروزرسانی کنید، گزارش تلاشهای ورود ناموفق را گاهی مرور کنید و بکاپ منظم بگیرید. یک بازبینی ماهانه کوتاه معمولاً کافی است تا از سلامت لایههای امنیتی مطمئن شوید.