سالید سکیوریتی / آی‌تیمز (Solid Security)
brute-force-protection تغییر آدرس ورود و بستن رخنه

راهنمای جامع افزونه سالید سکیوریتی (Solid Security): معماری امنیت و ایمن‌سازی پیشرفته وردپرس

بررسی فنی افزونه سالید سکیوریتی (iThemes Security) در wp-hub.org. راهنمای پیکربندی فایروال، تغییر مسیر ورود و مدیریت دسترسی‌ها در وردپرس.

آخرین نگارش نسخه 10.0.3
نصب‌های فعال +700 هزار
امتیاز کاربران ★ 4.6 (3,990 رأی)
توسعه‌دهنده رسمی Nexcess

📋 تفکیک گزارش تغییرات (Changelog) در ۲ نسخه اخیر

پایش لحظه‌ای تغییرات، وصله‌های امنیتی و ویژگی‌های اضافه شده در نسخه کنونی و نسخه پیشین از مخزن رسمی WordPress.org:

نگارش فعلی (Latest) نسخه 10.0.3
• بهبودهای امنیتی و رفع باگ‌های گزارش شده جهت حفظ پایداری سیستم احراز هویت. • ارتقای سازگاری فایل‌های پیکربندی و پایداری کدهای محافظتی.
📑 فهرست عناوین و سرفصل‌های این مقاله:

معماری امنیت در سطح درخواست و فایروال‌های Endpoint

افزونه سالید سکیوریتی (Solid Security) که پیش‌تر با نام iThemes Security شناخته می‌شد، یکی از ارکان اصلی مقاوم‌سازی لایه نرم‌افزاری وردپرس است. این افزونه با پیاده‌سازی مکانیزم‌های دفاعی در سطح PHP و پایگاه داده، فراتر از ابزارهای معمولی عمل می‌کند. فایروال این افزونه قادر است درخواست‌های مخرب HTTP را پیش از رسیدن به هسته اصلی وردپرس شناسایی و مسدود کند. با این حال، در اکوسیستم وب فارسی و به‌ویژه هنگام استفاده از هاست‌های اشتراکی داخلی یا سرورهای مجازی با پیکربندی‌های خاص وب‌سایت، فعال‌سازی برخی لایه‌های فایروال نیازمند هماهنگی دقیق با فایل‌های پیکربندی سرور مانند .htaccess یا تنظیمات Nginx است تا از بروز خطاهای ۵۰۰ جلوگیری شود. یکی از چالش‌های رایج در پیاده‌سازی این سیستم‌ها، تداخل با ماژول‌های کش سرور و سیستم‌های CDN مانند ابرآروان است. هنگامی که درخواست‌ها از پروکسی معکوس عبور می‌کنند، تشخیص IP واقعی کاربر اهمیتچندانی می‌یابد. سالید سکیوریتی با خواندن هدرهای استاندارد HTTP_X_FORWARDED_FOR به درستی اقدام به ثبت آدرس‌های مبدأ می‌کند، اما مدیران سرور باید مطمئن شوند که تنظیمات سرور اصلی هدرهای امنیتی را بازنویسی نمی‌کنند. همچنین، مکانیزم مسدودسازی بر اساس تعداد تلاش‌های ناموفق ورود (Brute Force Protection) باید به گونه‌ای تنظیم شود که کاربران واقعی یا سیستم‌های یکپارچه‌سازی پرداخت و پیامک به اشتباه مسدود نشوند.

مکانیزم تغییر مسیر ورود و صیانت از نقطه دسترسی ادمین

تغییر آدرس پیش‌فرض ورود به وردپرس (wp-login.php و wp-admin) یکی از نخستین خطوط دفاعی در برابر حملات خودکار ربات‌هاست. سالید سکیوریتی این قابلیت را از طریق بازنویسی قوانین مسیریابی در سطح رایت (Rewrite Rules) پیاده‌سازی می‌کند. این فرآیند باعث می‌شود اسکریپت‌های مخرب که به دنبال فایل‌های استاندارد ورود هستند با پاسخ خطای ۴۰۴ مواجه شوند. در وب‌سایت‌های فارسی، به دلیل استفاده از قالب‌ها و افزونه‌های گوناگون که ممکن است درخواست‌های ایجکس (AJAX) خود را به فایل‌های مدیریتی ارسال کنند، تغییر آدرس ورود نیازمند تست دقیق مسیرهای ادمین-آجکس است تا ارتباط بخش‌های فرانت‌اند و بک‌اند مختل نشود. علاوه بر تغییر آدرس، غیرفعال‌سازی ویرایشگر فایل درون‌پوسته (File Editor) از طریق این افزونه مانع از اجرای کدهای مخرب در صورت نفوذ اولیه به حساب کاربری مدیر کل می‌شود. در بسیاری از سایت‌های فارسی، توسعه‌دهندگان عادت دارند تغییرات جزئی را مستقیماً از طریق پیشخوان اعمال کنند که این امر با سیاست‌های امنیتی سالید سکیوریتی در تضاد است. قفل کردن این بخش، همراه با الزام استفاده از پروتکل‌های احراز هویت دومرحله‌ای (2FA) نظیر Passkeys و برنامه‌های authenticator، سطح دسترسی به پنل مدیریت را به شدت ایزوله و امن می‌سازد.

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

نظارت بر تغییرات فایل‌های هسته، پوسته و افزونه‌ها یکی از وظایف حیاتی سالید سکیوریتی است. این افزونه با استفاده از الگوریتم‌های هشینگ (مانند MD5 یا SHA)، فایل‌های موجود روی هاست را با نسخه اصلی موجود در مخزن رسمی وردپرس مقایسه می‌کند. هرگونه تغییر غیرمجاز، تزریق بدافزار (Malware Injection) یا دستکاری کدهای جاوا اسکریپت و پی‌اچ‌پی بلافاصله شناسایی شده و گزارش می‌شود. در وب‌سایت‌های فارسی که معمولاً از پوسته‌ها و افزونه‌های تجاری بومی‌سازی‌شده یا نال‌شده استفاده می‌شود، این اسکنر ممکن است هش‌های اصلاح‌شده توسط مترجمان را به عنوان تغییر غیرمجاز شناسایی کند که منجر به تولید هشدارهای کاذب (False Positives) مداوم می‌گردد. برای مدیریت صحیح این هشدارها، مدیران سایت باید فایل‌های تغییریافته معتبر را در لیست سفید اسکنر قرار دهند یا بررسی کنند که آیا تغییرات ناشی از به‌روزرسانی‌های دستی افزونه‌هاست یا خیر. همچنین، زمان‌بندی اجرای اسکن فایل‌ها باید به گونه‌ای تنظیم شود که در ساعات کم‌مصرف سرور (Off-Peak Hours) انجام گیرد تا مصرف منابع CPU و I/O هاست به سرویس‌دهی سایت لطمه نزند، به‌ویژه در هاست‌های اشتراکی که محدودیت منابع وجود دارد.

مدیریت نشست‌ها، احراز هویت دو مرحله‌ای و چالش‌های کاربران فارسی

کنترل نشست‌های کاربری (Session Management) و اجبار کاربران به خروج از سیستم پس از مدتی عدم فعالیت، از دیگر عملکردهای کلیدی سالید سکیوریتی است. این بخش به مدیران اجازه می‌دهد همزمان از لاگین بودن یک کاربر در چندین دستگاه جلوگیری کنند. پیاده‌سازی احراز هویت دو مرحله‌ای (2FA) نیز امنیت حساب‌ها را تضمین می‌کند؛ اما در وب‌سایت‌های فارسی، وابستگی به سرویس‌های ارسال پیامک (SMS Gateways) برای ارسال کدهای تایید می‌تواند چالش‌برانگیز باشد. قطعی‌های گاه‌وبی‌گاه یا تاخیر در ارسال پیامک توسط اپراتورهای داخلی ممکن است کاربران را پشت درهای پنل مدیریت معطل کند. برای حل این مشکل، استفاده از روش‌های جایگزین مانند برنامه‌های تولید رمز یک‌بار مصرف (TOTP مانند Google Authenticator یا Authy) یا کلیدهای امنیتی سخت‌افزاری (Passkeys) به شدت توصیه می‌شود. این روش‌ها وابستگی به اینترنت همراه و سرویس‌های پیامکی داخلی را از بین برده و پایداری ورود مدیران و نویسندگان را حتی در شرایط قطعی اینترنت تضمین می‌کند. همچنین، تنظیم صحیح کوکی‌های احراز هویت در هاست‌های دارای کش پیشرفته (مانند Varnish یا Redis) مانع از بروز مشکلات تداخل نشست‌های کاربری خواهد شد.

❓ سوالات متداول درباره سالید سکیوریتی / آی‌تیمز (Solid Security)

پاسخ به سوالات و چالش‌های فنی وبمسترها، طراحان سایت و مدیران سرور درباره افزونه سالید سکیوریتی / آی‌تیمز (Solid Security) در این بخش گردآوری شده است:

این مشکل معمولاً ناشی از عدم ذخیره مجدد پیوندهای یکتا یا عدم بازنویسی صحیح قوانین در فایل .htaccess است. پس از تغییر آدرس ورود، حتماً به تنظیمات پیوندهای یکتا در پیشخوان وردپرس مراجعه کرده و یک‌بار دکمه ذخیره را بزنید تا قوانین سرور بازنشانی شوند. در سرورهای Nginx نیز باید قوانین بازنویسی مسیرها به صورت دستی به کانفیگ سرور اضافه شود.
از آنجا که بسیاری از پوسته‌ها و افزونه‌های فارسی‌زبان توسط توسعه‌دهندگان داخلی ویرایش می‌شوند، اسکنر فایل سالید سکیوریتی ممکن است آن‌ها را تغییریافته تشخیص دهد. برای رفع این مسئله، می‌توانید پس از اطمینان از سلامت فایل‌ها، آن‌ها را از طریق پنل افزونه در لیست سفید قرار دهید یا هش‌های سفارشی را تأیید کنید تا در اسکن‌های بعدی نادیده گرفته شوند.
اگر از CDN یا افزونه‌های کش قدرتمند استفاده می‌کنید، ممکن است سیستم مسدودسازی IP یا محدودیت تلاش‌های ورود (Brute Force) به جای مسدود کردن کاربر واقعی، IP پروکسی CDN را مسدود کند. برای جلوگیری از این اختلال، حتماً در تنظیمات پیشرفته افزونه، گزینه تشخیص پروکسی و دریافت IP واقعی از طریق هدرهای معتبر HTTP را فعال کرده و تنظیمات سرور خود را با CDN هماهنگ سازید.
اگر از روش پیامکی استفاده کنید، بله؛ قطعی سرویس‌های پیامک داخلی ممکن است دردسرورآفرین باشد. پیشنهاد مهندسی این است که به جای پیامک، از اپلیکیشن‌های TOTP مانند Google Authenticator یا کلیدهای Passkey استفاده کنید. همچنین همیشه یک نسخه از کدهای پشتیبان (Backup Codes) را که افزونه در هنگام راه‌اندازی 2FA در اختیار شما می‌گذارد، در جای امنی یادداشت کنید تا در صورت بروز مشکل مسدود نشوید.