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

افزونه Solid Security ابزاری است که به ما کمک می‌کند این مسیرهای نفوذ را مسدود کنیم. بخش تنظیمات پیشرفته (Advanced) در این افزونه، برخلاف اسمش، اصلاً ترسناک نیست؛ بلکه مجموعه‌ای از کلیدهای طلایی است که با فعال کردن آن‌ها، لایه‌های دفاعی سایت را چند برابر محکم‌تر می‌کنیم.

محافظت از هسته مرکزی و فایل‌های حیاتی سیستم

هر سایت وردپرسی چند فایل بسیار حساس دارد؛ فایل‌هایی مثل wp-config.php و .htaccess که حکم قلب تپنده سایت را دارند. اگر یک فرد غریبه بتواند از طریق دستورات PHP تغییری در این فایل‌ها ایجاد کند، کل سایت به خطر می‌افتد. یکی از اولین کارهایی که در تنظیمات امنیتی انجام می‌دهیم، محدود کردن سطح دسترسی (Permissions) به این فایل‌هاست. با این کار، به سرور دستور می‌دهیم که هیچکس حق ویرایش این فایل‌ها را از داخل وردپرس ندارد و هر تغییری فقط باید از طریق کنترل پنل هاست (مثل سی‌پنل) انجام شود.

بستن راهروهای پنهان: چرا نباید محتویات پوشه‌ها دیده شوند؟

یک اشتباه بسیار رایج که امنیت سایت را به شدت پایین می‌آورد، باز گذاشتن قابلیت «مرور پوشه‌ها» یا Directory Browsing است. بیایید این موضوع را با یک اتفاق واقعی بررسی کنیم:

فرض کنید توسعه‌دهنده سایت، می‌خواهد تغییراتی روی قالب اعمال کند. برای احتیاط، یک فایل فشرده (Zip) از قالب تهیه می‌کند و اسم آن را مثلاً theme-backup.zip می‌گذارد و در همان پوشه رها می‌کند. حالا یک فرد سودجو وارد سایت می‌شود، با یک Inspect ساده نام پوشه قالب شما را پیدا می‌کند. اگر قابلیت مرور پوشه‌ها باز باشد، او به راحتی لیست تمام فایل‌های آن پوشه را می‌بیند، فایل بکاپ را پیدا کرده و با یک کلیک، کل قالب اختصاصی و ارزشمند شما را دانلود می‌کند! با غیرفعال کردن Directory Browsing، دسترسی مستقیم به لیست فایل‌های درون پوشه‌ها کاملاً مسدود می‌شود.

تله‌گذاری برای فایل‌های مخرب

هکرها معمولاً سعی می‌کنند فایل‌های مخرب خود (که اکثراً کدهای PHP هستند) را از طریق فرم‌ها یا باگ‌های افزونه‌ها، در پوشه‌هایی مثل Uploads (محل آپلود عکس‌ها) یا پوشه قالب‌ها و افزونه‌ها آپلود کنند. اما آپلود شدن این فایل‌ها به تنهایی خطری ندارد؛ خطر زمانی ایجاد می‌شود که هکر بتواند آن فایل را اجرا کند.

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

مسدود کردن مسیرهای نفوذ از داخل پیشخوان

وردپرس در حالت پیش‌فرض، امکاناتی دارد که شاید برای راحتی کار طراحی شده باشند، اما از نظر امنیتی یک ریسک بزرگ محسوب می‌شوند. یکی از این موارد، ویرایشگر فایل قالب و افزونه در بخش «نمایش» است. اگر یک نفوذگر بتواند به هر طریقی به پیشخوان وردپرس دسترسی پیدا کند، از طریق همین ویرایشگر به راحتی کدهای مخرب خود را مستقیماً به قالب تزریق می‌کند. با غیرفعال کردن ویرایشگر فایل (Disable File Editor)، این قابلیت از پیشخوان حذف می‌شود و خیالتان راحت است که ویرایش کدها فقط از طریق دسترسی‌های امن‌تر مثل FTP امکان‌پذیر است.

کنترل درهای ورودی: مدیریت APIها

وردپرس راه‌های ارتباطی مختلفی برای تبادل اطلاعات با سایر نرم‌افزارها دارد. مدیریت درست این راه‌ها برای حفظ امنیت دیتاهای سایت ضروری است:

  • قابلیت XML-RPC: این یک پروتکل قدیمی است که در گذشته برای انتشار پست از طریق ایمیل یا نرم‌افزارهای جانبی استفاده می‌شد. امروز، این بخش عملاً کاربردی ندارد و به یکی از اهداف اصلی حملات بروت‌فورس (حدس زدن مداوم پسورد) تبدیل شده است. غیرفعال کردن کامل آن، یک قدم بزرگ برای افزایش امنیت است.
  • دسترسی REST API: این قابلیت مدرن‌تر است اما اگر مدیریت نشود، اجازه می‌دهد افراد غریبه به اطلاعات حساسی مثل لیست کاربران و نویسنده‌های سایت دسترسی پیدا کنند. با محدود کردن این دسترسی (Restricted Access)، جلوی ربات‌هایی که قصد دارند دیتای سایت شما را استخراج (Scrape) کنند، گرفته می‌شود.

تغییر چهره سایت برای ربات‌های مهاجم

همه می‌دانند که آدرس ورود به پیشخوان سایت‌های وردپرسی wp-admin یا wp-login.php است. همین موضوع باعث می‌شود روزانه هزاران ربات به این آدرس مراجعه کرده و سعی کنند با ترکیب‌های مختلف نام کاربری و رمز عبور، وارد سایت شوند.

مخفی کردن درب اصلی (Hide Backend)

یکی از موثرترین کارها برای خنثی کردن این حملات، تغییر آدرس ورود است. ما می‌توانیم یک آدرس کاملاً اختصاصی و غیرقابل حدس بسازیم. وقتی این کار را انجام می‌دهیم، اگر رباتی به آدرس پیش‌فرض wp-admin مراجعه کند، به جای صفحه لاگین، با یک صفحه خطای ۴۰۴ (یا هر صفحه‌ای که ما تعیین کنیم) روبرو می‌شود. با این کار ساده، حجم عظیمی از بار اضافی روی سرور که ناشی از حملات ربات‌هاست، کاهش پیدا می‌کند. محافظت از هویت کاربران

در کنار مخفی کردن صفحه ورود، باید از نام‌های کاربری هم محافظت کنیم. هکرها اگر نام کاربری مدیر سایت را بدانند، نیمی از راه نفوذ را رفته‌اند. به همین دلیل:

  • کاربران را مجبور می‌کنیم هنگام ثبت‌نام حتماً یک «نام مستعار» (Nickname) انتخاب کنند تا نام کاربری اصلی آن‌ها در بخش‌های مختلف سایت نمایش داده نشود.
  • بایگانی نویسندگانی (Author Archives) که هیچ مقاله‌ای منتشر نکرده‌اند را غیرفعال می‌کنیم. این صفحات معمولاً نام کاربری افراد را در آدرس URL خود لو می‌دهند. با بستن آن‌ها، راه‌های کشف نام کاربری توسط ربات‌ها مسدود می‌شود.

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