اگر از وردپرس استفاده میکنید، این هشدار را جدی بگیرید! یکی از راههای هک وردپرس، حمله به شیوهٔ Brute Force است که روی صفحه ورود وردپرس که به صورت site.ir/wp-login.php است می باشد. در این روش، رباتهای نرم افزاری به تعداد زیاد رمزهای عبور تصادفی را برای ورود تست میکنند که حتی اگر پس از روزها یا هفتهها قادر به ورود هم نباشند، در این مدت تاثیر بسیار بدی روی سرعت سایت خواهند گذاشت! پس باید نشانی صفحهٔ ورود به پیشخوان وردپرس را تغییر دهید.
برای این منظور افزونههای زیادی برای وردپرس موجود است. اگر از یک افزونهٔ جامع برای حفاظت از سایت استفاده میکنید، باید یک چنین قابلیتی داشته باشد. در غیر این صورت افزونههای اختصاصی برای تغییر نشانی صفحه ورود هستند که یکی از آنها WPS Hide Login نام دارد.
با نصب و فعالسازی آن، خودکار صفحهٔ ورود از wp-login.php به login تغییر میکند. حالا باید به تنظیمات سایت رفته و این نشانی را به یک مورد دیگر تغییر دهید. عبارتی که برای هیچ کس قابل حدس نباشد.
البته اگر سایت شما گروهی است و مخاطبان قادر به ثبت نام و ورود به پیشخوان خود هستند، در این حالت بهتر است از روش دوم که در ادامه آمده است استفاده کنید.
مسدود کردن درخواست های غیر ارجاعی
با این کار افراد و نرم افزارهایی که مستقیم وارد صفحه ورود وردپرس میشوند، رد خواهند شد. برای انجام این کار لازم است کدی را در سند htaccess. در ریشهٔ هاست خود قرار دهید و به جای عبارت example.com هم نام دامنهٔ سایت خودتان را جایگزین کنید.
# Stop spam attack logins and comments <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .*/(wp-comments-post|wp-login)\.php.* RewriteCond %{HTTP_REFERER} !.*example.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) http://%{REMOTE_ADDR}/$1 [R=301,L] </ifModule>
حالا برای ورود به صفحهٔ ورود، حتماً میبایستی از یکی از صفحات داخلی سایت لینک داده شده باشد که فرد قادر باشد فرم ورود وردپرس را ببیند.
محافظت از wp-login.php با رمز عبور
روش بعدی برای محافظت از صفحهٔ ورود وردپرس این است که با htaccess روی این سند رمز عبور بگذاریم. برای این منظور نیاز به یک سند با نام .htpasswd داریم که مثل دیگر اسناد مخفی لینوکس با نقطه شروع میشود. پس باید در File Manager نمایش اسناد مخفی را از طریق کلیک روی Settings فعال کنیم.
حالا سند .htpasswd را میتوانیم در پوشهٔ خانگی هاست بسازیم. یعنی یک پله بالاتر از پوشهٔ public_html. دقت کنید که این سند نباید جایی باشد که از طریق وب قابل دسترس باشد. بهترین جا درون پوشهای با نام .htpasswds است که در همان مسیر خانهٔ هاست (/home/username) قرار گرفته است.
درون سند .htpasswd نام کاربری و رمزعبور آن کاربری که میتواند وارد صفحه ورود به وردپرس شود قرار گرفته است. شما میتوانید دستی این کار را انجام دهید. یا اینکه با سرویس htaccesstools این کار را انجام دهید. نمونه ای از محتوای این سند در زیر آمده است:
mysecretuser:$apr1$MpK36a75$u.o9cRXjFzAQzaoyKB00B.
دقت کنید این سند ممکن است از قبل روی هاست شما در همان مسیر قرار گرفته باشد. در این حالت نباید این سند را جایگزین قبلی کنید. چرا که ممکن است از قبل رمزهای دیگری هم در آن وجود داشته باشد. باید کدهای جدید را در انتهای سند .htpasswd قبلی اضافه نمایید.
حالا کد زیر را درون سند .htaccess جایی که وردپرس نصب شده است قرار دهید (در انتهای سند بگذارید). همیشه یک نسخه پشتیبان از این سند تهیه کنید که اگر مشکلی برای سایت پیش آمد، سریع همه چیز را به حالت اولیه برگردانید.
Protect wp-login AuthUserFile ~/.htpasswd AuthName "Private access" AuthType Basic require user mysecretuser
دقت داشته باشید که مسیر سند .htpasswd در کد بالا همان مسیر پوشهٔ خانگی تعریف شده است (~). اگر در جای دیگری آن را قرار دادید، مسیر درست آن را در کد بالا جایگزین کنید.
در ضمن به جای mysecretuser هم باید نام کاربری همان کاربری که در سند htpasswd ساختید را قرار دهید. سند را ذخیره کرده یک بار وارد صفحه ورود به وردپرس خود شوید. خواهید دید که در اولین مرحله از شما رمز عبور برای نمایش فرم ورود را میخواهد. که با این شیوه یک سد امنتی قوی دیگری برای ورود به پیشخوان ایجاد کردید.
نکته آخر ...
و در آخر فراموش نکنید که همیشه از رمزهای عبور بسیار قوی استفاده کنید. برای مدیریت رمزهای عبور از نرم افزارهای مدیریت رمز عبور استفاده کنید و هیچ وقت رمز عبور ساده برای هیچ یکی از حسابهای خود تنظیم نکنید.