آموزش سیپنل cpanelهاست و دامنه

چگونه امنیت سایت را تامین کنیم؟ | راهکارهای جلوگیری از نفوذ، بدافزار و باگ های امنیتی

راهکارهای عملی برای تامین امنیت سایت

راهکارهای جلوگیری از نفوذ، بدافزار و باگ های امنیتی

 

تامین امنیت سایت کدی و وردپرسی

امنیت سایت دیگر یک موضوع تخصصی و حاشیه ای نیست؛ امروز هر سایتی، از یک فروشگاه کوچک تا یک پورتال سازمانی، هر روز در معرض حملات خودکار است. نکته نگران کننده این است که هکرها دیگر لازم نیست برنامه نویس حرفه ای باشند. با کمک هوش مصنوعی، هرکسی می تواند در چند دقیقه اسکریپت های نفوذ اختصاصی، اکسپلویت های سفارشی و وب شل های رمزنگاری شده تولید کند و آن ها را روی هزاران سایت به صورت خودکار تست کند.

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

 

چرا هک شدن سایت ها این روزها آسان تر شده است؟

قبلا نفوذ به یک سایت نیازمند دانش عمیق از کدنویسی و صرف ساعت ها زمان بود. اما امروز ابزارهای مبتنی بر هوش مصنوعی این معادله را تغییر داده اند:

  • تولید اکسپلویت اختصاصی: مهاجم با یک پرامپت ساده می تواند اسکریپتی بنویسد که دقیقا برای همان نوع فرم آپلود یا پنل مدیریت سایت شما طراحی شده باشد.
  • بات نت های توزیع شده: حملات حدس رمز (Brute Force) دیگر از یک آی پی انجام نمی شود؛ ده ها آی پی از کشورهای مختلف با User Agent های جعلی و نسخه های تازه مرورگر کروم، همزمان به صفحه ورود سایت شما درخواست ارسال می کنند.
  • وب شل های آماده و رمزنگاری شده: ابزارهایی که به محض آپلود، به مهاجم یک فایل منیجر کامل، دسترسی به دیتابیس و کنترل کل فایل های هاست می دهند و کدشان به شکلی رمزگذاری شده که آنتی ویروس های ساده تشخیصشان ندهند.
  • اسکنرهای خودکار: ربات ها به صورت شبانه روزی مسیرهای مدیریتی، فرم های آپلود و افزونه های آسیب پذیر را در تمام وب پیدا و فهرست می کنند.

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

 

نفوذ به سایت چطور اتفاق می افتد؟

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

addon domain چیست؟ نحوه استفاده در cpanel
مشاهده

 

پیدا کردن فرم آپلود یا صفحه ورود ناامن

ربات های اسکنر مسیرهای مدیریتی و فرم های سایت را پیدا می کنند. در بسیاری از سایت ها، تابع آپلود تصویر یا فایل بدون هیچ اعتبارسنجی نوشته شده است. کد مخرب نمونه:

move_uploaded_file($_FILES['image']['tmp_name'], $upload);
برنامه نویس فرض کرده کاربر فقط عکس آپلود می کند؛ بنابراین نه پسوند فایل بررسی می شود، نه نوع واقعی فایل اعتبارسنجی می شود و نه اجازه اجرای اسکریپت در پوشه آپلود محدود شده است. این همان باگی است که در اکثر سایت های آسیب دیده، نقطه شروع نفوذ بوده است.

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

 

cpanel-upload

 

در سایت های وردپرسی هم معادل همین سناریو، حمله بروت فورس به فایل wp-login.php است. لاگ سرورها نشان می دهد ربات ها با ده ها آی پی مختلف از کشورهای گوناگون، درخواست های POST سنگین به صفحه ورود ارسال می کنند و با User Agent های جعلی خود را شبیه کاربر واقعی نشان می دهند. هدف، حدس رمزهای ساده اکانت های مدیریت است و اکثر اوقات مهاجم از آسیب پذیری یک افزونه یا قالب قدیمی در سایت های وردپرسی هم راه باز می کند.

 

cpanel-RawAccess

نصب بک دور و راه های نفوذ پنهان

مهاجم پس از اینکه به سیستم دسترسی پیدا کرد، کدهای اصلی پنل مدیریت را دستکاری می کند تا یک «بک دور» (در پشتی) برای خود بسازد؛ با این کار، حتی اگر فایل اصلی نفوذ پاک شود، او همچنان می تواند به سایت دسترسی داشته باشد.

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

اختلال در سایت و پاکسازی ردپاها

فعالیت مخرب و بدافزارهای مستقر شده حجم زیادی لاگ و داده تولید می کنند تا جایی که دیسک هاست کاملا پر می شود (خطای Disk Quota Exceeded). پر شدن دیسک باعث می شود پایگاه داده و اسکریپت های PHP نتوانند فایل های موقت خود را بنویسند؛ در نتیجه خطاهای مهلک دیتابیس و PHP ظاهر می شود و سایت عملا از کار می افتد. وقتی مهاجم هم متوجه شود سیستم تحت بررسی است، فایل htaccess. را حذف می کند تا دسترسی به همه بخش های سایت قطع شود و ریدایرکت ها به هم بریزد.

cpanel-DiskUsage

 

نکته ای که در بررسی پرونده های نفوذ بارها تکرار می شود این است: این نفوذها هیچ ربطی به سلامت سرور یا تنظیمات هاستینگ ندارند. سرور کاملا سالم است و منشا مشکل، آسیب پذیری در کدنویسی خود سایت است:

  1. کد آپلود بدون اعتبارسنجی پسوند، اجازه ذخیره هر فایلی را می دهد.
  2. پوشه آپلود هیچ محدودیتی برای اجرای فایل های اسکریپتی ندارد.
  3. تاریخ اصلاح فایل های پنل و ایجاد شل ها نشان می دهد مهاجم مستقیم از فرم آپلود خود سایت وارد شده است.
چه نکاتی را باید قبل از خرید هاست رایگان بدانیم؟!
مشاهده

این الگو در سایت های وردپرسی هم صادق است: رمز ساده مدیر، افزونه قدیمی یا نامعتبر و صفحه ورود بدون کپچا، ترکیب همیشگی نفوذهاست.

 

راهکارهای عملی برای تامین امنیت سایت

راهکارهای زیر از مهم ترین تا لایه‌های حفاظتی مکمل دسته بندی شده‌اند و بدون نیاز به ابزار پیچیده، روی تمام هاست های مبتنی بر cPanel و سیستم‌های وردپرسی قابل اجرا هستند.

۱. محافظت از صفحه ورود به پنل ادمین

اولین و پرتکرارترین نقطه حمله، صفحه ورود پنل ادمین یا پیشخوان وردپرس است. سه کار باید انجام دهید:

  • قابلیت کپچا را روی صفحه ورود فعال کنید؛ چه از طریق تنظیمات سی پنل و چه افزونه های امنیتی مثل Wordfence یا افزونه های محدودسازی تلاش ناموفق برای ورود.
  • اگر سایت شما فقط توسط چند نفر مدیریت می شود، دسترسی به فایل wp-login.php را در htaccess. به آی پی های خودتان محدود کنید.
  • رمزهای عبور قوی و یکتا برای همه اکانت های مدیریت انتخاب کنید.
wordpress-capcha
فعالسازی قابلیت کپچا برای صفحه ورود

۲. ایمن کردن فرم های آپلود فایل

این مهم ترین بخش برای سایت هایی که با PHP اختصاصی کدنویسی شده اند:

  • اعتبارسنجی پسوند فایل با لیست سفید (White List): فقط اجازه پسوندهای مشخص مثل jpg و png و jpeg را بدهید؛ پسوندهای خطرناک را لیست سیاه نکنید چون همیشه راه دور زدن وجود دارد.
  • بررسی نوع واقعی فایل نه فقط نام فایل، چون مهاجم می تواند فایل PHP را با نام عکس آپلود کند.
  • پنل مدیریت را با سیستم احراز هویت امن محافظت کنید؛ آپلودی که بدون لاگین انجام می شود، دعوت نامه مهاجمان است.

 

۳.رمزهای عبور را جدی بگیرید!

بلافاصله بعد از هر مورد مشکوک، و به صورت دوره ای به طور عادی:

  • رمز همه اکانت های ادمین سایت را تغییر دهید.
  • رمز cPanel و FTP و کاربر دیتابیس را هم عوض کنید؛ مهاجمی که به فایل های سایت شما دسترسی داشته، احتمالا رمزها را خوانده است.

 

۴. سلامت فایل های هسته و htaccess. را حفظ کنید!

  • کدهای استاندارد وردپرس را در فایل public_html/.htaccess نگه دارید یا از بخش پیوندهای یکتا در پیشخوان وردپرس یکبار تنظیمات را ذخیره کنید تا فایل بازسازی شود.
  • اگر فایل های هسته دستکاری یا پاک شده اند، هسته وردپرس را از نو جایگزین کنید؛ اما هرگز فقط همین کار را کافی ندانید، چون اگر بک دور حذف نشده باشد، سایت دوباره هک می شود.
  • فایل های مشکوک مثل فایل های PHP ناشناس داخل پوشه آپلود و هر اسکریپتی که خودتان نساخته اید را حذف کنید.

 

۵. فضای دیسک و لاگ ها را مدیریت کنید!

خطای پر بودن دیسک (Disk Quota Exceeded) کارهای پس زمینه سایت را متوقف می کند و باعث خطاهای زنجیره ای دیتابیس می شود. فایل های لاگ حجیم و پوشه های موقت (Temp) را به صورت دوره ای پاک کنید و فضای هاست را زیر نظر داشته باشید. از بخش Errors در cpanel میتوانید لاگ ارور سرور را مشاهده کنید:

دامین Addon، ساب دامین و پارک دامین چه تفاوتی با یکدیگر دارند؟
مشاهده

cpanel-error

 

اگر قرار باشد تنها یک عادت امنیتی مستمر برای مدیریت سایت ایجاد کنید، بررسی دوره‌ای لاگ های دسترسی (Access Logs) و لاگ خطاها (Error Logs) بهترین گزینه است. با بررسی لاگ‌ها متوجه می‌شوید:

  • درخواست های مشکوک و حملات مکرر: تلاش های پیاپی ربات‌ها برای ورود به صفحه لاگین یا ارسال داده‌های خطرناک (متدهای POST مشکوک).
  • اسکن مسیرهای حساس: تلاش مهاجمان برای یافتن پوشه‌ها و زیردامنه‌های رهاشده، بکاپ‌های قدیمی یا فایل‌های حساس (مثل جستجوی مکرر فایل‌هایی مانند .env، backup.sql یا phpinfo.php با خطای 404).
  • خطاهای مخفی سیستمی: ارورهای غیرعادی کد ۵۰۰ یا هشدارهای PHP در فایل error_log که خبر از اختلال ناشی از اسکریپت‌های ناشناس یا حمله به یک تابع خاص می‌دهند.

 

۶. از ورژن php های بروز استفاده کنید!

باتوجه به افزایش آسیب پذیری در سطح php ، حتما از ورژن php های بروز استفاده کنید:

  • پایان چرخه پشتیبانی (EOL): نسخه های قدیمی PHP (مانند نسخه ۷.x و پایین تر) دیگر هیچ گونه آپدیت امنیتی و پچی از سوی توسعه دهندگان اصلی دریافت نمی کنند و استفاده از آن ها در هاستینگ اشتراکی، خطر نفوذ به سرور و سایت را به‌ شدت بالا می برد.
  • استفاده از نسخه های فعال: پیشنهاد می شود وب سایت ها روی نسخه های پایدار و امن (حداقل PHP 8.1، 8.2 یا 8.3) تنظیم شوند که علاوه بر امنیت بالاتر، به دلیل بهینه سازی های انجام شده، سرعت اجرای کدهای وب سایت را نیز به شکل چشمگیری افزایش می دهند.
  • سازگاری و تغییر نسخه: در صورت نیاز به نسخه قدیمی تر برای اسکریپت های خاص، مالکان سایت باید نسبت به رفع ناسازگاری قالب و افزونه ها اقدام کنند تا بتوانند نسخه PHP را به روز نگه دارند. تغییر نسخه PHP در سرورهای cPanel از طریق بخش Select PHP Version یا MultiPHP Manager به راحتی قابل انجام است.

cpanel-versionphp

اگر سایتتان هک شده است، از کجا شروع کنید؟

ترتیب درست اقدامات بعد از هک شدن این است:

  1. رمزهای cPanel، دیتابیس و تمام اکانت های ادمین را فورا تغییر دهید.
  2. فایل htaccess. را با محتوای استاندارد بازسازی کنید.
  3. دیسک را از لاگ های حجیم و فایل های موقت خالی کنید.
  4. تمام فایل های PHP مشکوک، به خصوص هر فایلی داخل پوشه آپلود، را حذف کنید.
  5. هسته وردپرس (یا اسکریپت اصلی سایت) را از منبع معتبر جایگزین کنید.
  6. باگ اصلی کد و نقطه نفوذ مهاجم را بررسی و اصلاح کنید.
  7. کپچا و محدودسازی تلاش ورود را فعال کنید.
  8. از یک پلاگین ویروس اسکنر قوی استفاده کنید.

 

در هر مرحله ای از اینکار اگر مطمئن نیستید، مخصوصا قبل از هرگونه حذف فایل حتما یک نسخه بکاپ تهیه نمایید و با تیم پشتیبانی طراحی سایت و یا هاستینگ سایت مشورت کنید؛ حذف فایل اشتباه می تواند اطلاعات واقعی سایت را از بین ببرد. درصورتی که اطلاعات فنی کافی جهت بررسی و مواجهه با سایت هک شده ندارید میتوانید از کارشناسان فنی تلاش نت کمک بگیرید و یا از پکیج ویروس کشی تلاش نت استفاده نمایید.

مطلب چقدر مفید بود؟
دکمه بازگشت به بالا