افزونه Solid Security – ابزارهای مدیریتی
یک وبسایت فروشگاهی آماده راهاندازی است. همه چیز از نظر فنی و محتوایی عالی به نظر میرسد تا اینکه برای دریافت درگاه پرداخت، بانک ملت از شما «آیپی سرور» را درخواست میکند تا تنها تراکنشهای ارسالی از این آدرس را معتبر بشناسد. از طرف دیگر، ممکن است در حال توسعه سایت باشید و ناگهان متوجه شوید که فرمهای سایت شما در برابر اسکریپتهای مخرب آسیبپذیر هستند و هکرها میتوانند بدون نیاز به رمز عبور شما، مستقیماً دیتابیس را دستکاری کنند.
اینجا دقیقاً همان نقطهای است که یک کارشناس سئو و مدیر سایت حرفهای، تفاوت خود را با دیگران نشان میدهد. تأمین امنیت زیرساخت سایت، پیشنیاز هر فعالیت بهینهسازی است. بخش ابزارهای مدیریتی (Tools) در افزونه Solid Security، مجموعهای از امکانات را در اختیار ما قرار میدهد تا ریشهایترین بخشهای وردپرس را ایمن کنیم. بیایید ببینیم این ابزارها دقیقاً چه دردی از ما دوا میکنند و چگونه مسیر نفوذ را میبندند.
پیدا کردن آدرس دقیق خانه: آیپی سرور
بسیاری از سرویسهای شخص ثالث، مانند درگاههای بانکی یا فایروالهای امنیتی، برای برقراری یک ارتباط امن نیاز به دانستن آیپی دقیق سرور شما دارند. پیدا کردن این آیپی از طریق پنل هاست گاهی میتواند زمانبر و گیجکننده باشد. افزونه سالید سکیوریتی در بخش ابزارها، به سادگی آیپی سرور را به شما نمایش میدهد. با در اختیار داشتن این آدرس، به راحتی میتوانید آن را در لیست سفید (Whitelist) درگاههای بانکی قرار دهید تا تبادل اطلاعات مالی سایتتان در امنترین حالت ممکن انجام شود.
تغییر هویت اولین ساکن سایت: شناسه کاربری (User ID)
وقتی برای اولین بار وردپرس را نصب میکنید، سیستم به صورت خودکار برای اولین کاربر (که معمولاً مدیر کل است) شناسه یا ID شماره یک را در نظر میگیرد. این موضوع شاید در ظاهر بیاهمیت باشد، اما یک پاشنه آشیل بزرگ است.
فرض کنید یک افزونه با کدنویسی ضعیف روی سایت نصب کردهاید یا فرمی دارید که در برابر حملات XSS ایمن نشده است. هکرها در بسیاری از مواقع نیازی به پیدا کردن صفحه ورود (Admin Panel) شما ندارند؛ آنها یک اسکریپت مخرب را از طریق همین فرمها مستقیماً به دیتابیس ارسال میکنند.
این اسکریپت به دیتابیس دستور میدهد: «کاربر شماره یک را پیدا کن و رمز عبورش را به این کلمه جدید تغییر بده!». از آنجایی که شناسه ۱ همیشه قابل حدس است، هکر به راحتی کنترل سایت را در دست میگیرد. ابزار تغییر شناسه کاربری در این افزونه، کاربر شماره یک را غیرفعال کرده و یک عدد کاملاً تصادفی و غیرقابل حدس را به جای آن تنظیم میکند. با این کار، اسکریپتهای مخرب در پیدا کردن مدیر اصلی سایت کاملاً سردرگم میشوند.
تغییر نام خیابانهای دیتابیس: پیشوند جداول
دیتابیس وردپرس شبیه به یک شهرک است که اطلاعات سایت شما در خیابانها یا همان جداول آن ذخیره میشود. وردپرس به صورت پیشفرض نام تمام این جداول را با عبارت wp_ آغاز میکند؛ مثلاً wp_options یا wp_users.
هکری که فقط به دیتابیس شما دسترسی پیدا کرده (و هیچ دسترسی به هاست یا پنل وردپرس ندارد)، دقیقاً میداند که تنظیمات مهم سایت در جدولی به نام wp_options قرار دارد. او کدهای مخرب خود را مستقیماً به همین آدرسهای پیشفرض ارسال میکند.
شما با استفاده از ابزار تغییر پیشوند جداول (Database Table Prefix)، میتوانید این ساختار قابل حدس را به هم بریزید. مثلاً افزونه به صورت خودکار wp_ را به چیزی شبیه به sbcnvar26_ تغییر میدهد. با این تغییر ساده:
- نام جداول شما برای هکرها غیرقابل پیشبینی میشود.
- هیچ اختلالی در عملکرد سایت و سرعت آن به وجود نمیآید.
- تنها اتفاقی که میافتد این است که بعد از اعمال این تغییر، نشستها (Sessions) منقضی شده و باید یک بار دیگر وارد پیشخوان وردپرس شوید.
افزونههای غیرقابل توقف (MU Plugins)
گاهی اوقات نیاز داریم یک افزونه امنیتی یا کاربردی به هیچوجه و تحت هیچ شرایطی غیرفعال نشود. در وردپرس پوشهای به نام mu-plugins (Must-Use Plugins) وجود دارد. ابزار MU Plugin Loader در سالید سکیوریتی، افزونههای حیاتی شما را از مسیر عادی خارج کرده و به این پوشه منتقل میکند.
وقتی یک افزونه وارد این بخش میشود، دیگر دکمهای برای «غیرفعال کردن» آن در پیشخوان وردپرس وجود نخواهد داشت و همیشه در حالت اجرا باقی میماند. این یک لایه دفاعی عالی است، اما یک چالش کوچک هم به همراه دارد: افزونههایی که در این پوشه قرار میگیرند دیگر به صورت خودکار یا با یک کلیک از پیشخوان آپدیت نمیشوند و یک کارشناس سئو یا وبمستر باید حواسش باشد که بهروزرسانی آنها را به صورت دستی انجام دهد. بنابراین، از این قابلیت فقط برای افزونههایی استفاده کنید که غیرفعال شدنشان ریسک بالایی دارد.
مدیریت سطح دسترسی فایلها و قوانین سرور
فایلهایی مثل wp-config.php (که اطلاعات اتصال به دیتابیس در آن است) و .htaccess (که قوانین سرور را مدیریت میکند)، قلب تپنده سایت شما هستند. ابزار بررسی سطح دسترسی (File Permissions)، به شما نشان میدهد که آیا این فایلها بیش از حد در دسترس هستند یا خیر.
مثلاً ممکن است سطح دسترسی فایل کانفیگ روی ۶۴۴ باشد که افزونه پیشنهاد میدهد آن را به ۴۴۴ تغییر دهید تا فقط قابلیت خواندن داشته باشد و کسی نتواند روی آن چیزی بنویسد. اما در محیط واقعی وبمستری، همیشه نمیتوانیم دسترسیها را کاملاً ببندیم. اگر سطح دسترسی را خیلی محدود کنید، افزونههای مهمی مثل WP Rocket (برای کش و سرعت) یا افزونههای سئو مثل Yoast که دائماً نیاز به ویرایش .htaccess دارند، با مشکل مواجه میشوند. به همین دلیل، هشدارهای این بخش بیشتر جنبه اطلاعرسانی دارند و قفل کردن کامل فایلها همیشه بهترین تصمیم نیست.
همچنین، سالید سکیوریتی یک سری قوانین امنیتی مخصوص سرور دارد که به صورت خودکار آنها را در فایلهای ذکر شده قرار میدهد. اما اگر در تنظیمات اولیه، اجازه ویرایش خودکار فایلها را به افزونه نداده باشید، میتوانید از بخش Server Config Rules، کدهای تولید شده را کپی کرده و خودتان به صورت دستی به بالای فایلهای .htaccess و wp-config.php اضافه کنید.
ریست کردن کلیدهای امنیتی (WordPress Salts)
وردپرس برای اینکه کاربران را به خاطر بسپارد و نیازی نباشد با هر کلیک رمز عبور خود را وارد کنند، از کوکیها و نشستها استفاده میکند. این اطلاعات با استفاده از کلیدهای رمزنگاری پیچیدهای به نام Salts ایجاد میشوند.
گاهی اوقات با یک چالش امنیتی جدی روبهرو میشوید، متوجه نفوذ به سایت میشوید، یا تغییرات بسیار مهمی در سطح دسترسیها ایجاد میکنید. در این شرایط باید مطمئن شوید که دسترسی تمام افراد (حتی هکرهایی که از قبل در سایت لاگین کردهاند) قطع میشود.
با استفاده از ابزار WordPress Salts در این افزونه، میتوانید این کلیدهای رمزنگاری را تغییر دهید. با این کار، تمامی کوکیهای قبلی باطل شده و همه کاربران از سایت بیرون میافتند (Log out میشوند) و باید مجدداً وارد شوند. البته دقت کنید که این کار باعث میشود تنظیمات برخی ابزارهای تحلیلی که بر اساس کوکی کار میکنند (مثل گوگل آنالیتیکس) برای شناسایی کاربران بازگشتی دچار خطای مقطعی شوند. بنابراین، تغییر Salts یک اقدام روزمره نیست و فقط به عنوان یک واکنش اورژانسی پس از رفع خطرات امنیتی کاربرد دارد.
درک منطق پشت این ابزارها، به شما کمک میکند تا تنظیمات امنیتی سایت را نه از روی حفظیات، بلکه بر اساس نیاز واقعی و معماری سرور خود پیکربندی کنید و فضایی امن و پایدار برای رشد سئوی سایت فراهم آورید.