راهنمای جامع بازیابی و پاکسازی سایت هک شده | بدون نیاز به باجدادن
هک سایت یک بحران است اما قابل بازیابی و پیشگیری است.
هک چیست؟
هک در واقع کاری است که برای پیدا کردن نقاط ورودیِ ممکن در سیستمهای کامپیوتری و یا شبکههای کامپیوتری انجام میشود و در نهایت رخنه و ورود، اتفاق میافتد. Hacking معمولا برای پیدا کردن راه دسترسی البته از نوع دسترسی غیرمجاز به سیستمها و شبکههای کامپیوتری انجام میشود.
هک شدن سایت یعنی نفوذ غیرمجاز به ساختار سایت یا سرور که میتواند محتوای سایت را تغییر دهد، اطلاعات کاربران را لو دهد یا سرویس را از کار بیندازد.
هک میتواند از یک صفحهی خراب تا دسترسی ریشهای به سرور باشد؛ هدف این مقاله این است که شما را با علائم، اقدامات فوری، مراحل فنی پاکسازی و راهکارهای جلوگیری آشنا کند و نشان بدهد چرا این کار نیاز به تیم فنی دارد و هر کسی نباید خودش اقدام کند. در نگارش از بررسی منابع ایرانی و خارجی و تجربه عملی استفاده شده تا مطلب هم سئویی باشد و هم کاربردی.
چرا سایتها هک میشوند؟ (حملهها از ضعفهای نرمافزاری و انسانی استفاده میکنند)
هکرها عمدتاً از آسیبپذیریهای فنی (افزونهها، قالبها، نرمافزار قدیمی) و خطاهای انسانی (پسورد ضعیف، عدم نگهداری بکآپ) سوء استفاده میکنند.
انگیزهها متنوعند از سرقت داده، راهاندازی باجافزار، استفاده از منابع برای حملات دیگر، تبلیغات مخرب یا خرابکاری. منابعی مثل کوروش هاست ، کوروش سئو تاکید دارند که بیشترین نقاط نفوذ در سایتهای وردپرسی افزونهها و قالبهای ناپایدار هستند؛ OWASP هم نشان میدهد که آسیبپذیریهایی مثل SQL Injection، XSS و مشکلات احراز هویت از عوامل اصلی نفوذ هستند. بنابراین اصلاح فرآیند توسعه، بهروزرسانی منظم و مدیریت دسترسیها اولین قدم برای کاهش ریسک است.
علت اصلی هک کردن چیست؟
در نهایت دو علت برای هک کردن یک وب سایت با هر موضوعی وجود دارد که در اینجا به آن می پردازیم.
1- باج گرفتن:
برخی از هکر ها اقدام به هک کردن سایت هایی با قدرت و تبلیغات زیاد می کنند تا در زمانی که این سایت های به قدرت های بالایی رسیدن با بستن مسیر ورودی ادمین و مدیران و مختل کردن خدمات آنها باعث ضرر های فراوان شده و کارفرما را مجبور به پرداخت هزینه های اضافی نمایند که احتمال افت برند این دوستان نیز شود.
2- لینک سازی و برند سازی
درست فهمیدید برخی از این اشخاص برای اینکه هزینه اضافی بابت برند سازی و گرفتن لینک از ریفر های مختلف (دامنه های مختلف) نکند از روش استفاده می کنند. این کار به شدت قدرت و کیفیت سایت شما را پایین آورده و به زودی سایت شما با کاهش کرول باجت گوگل می شود. (میزان بازدید گوگل از سایت شما را گویند)
نقش CMS و افزونهها
سیستمهای مدیریت محتوا و افزونههایشان بزرگترین هدف هکرها هستند.
وردپرس، جوملا و دروپال به دلیل فراگیری، هدف اصلیاند؛ افزونههای قدیمی یا نالشده معمولا دربردارندهی کدهای مخرب یا آسیبپذیریاند. منابع میزبانپک و کانفیگدبلیوپی توضیح میدهند که بروزرسانی نکردن هسته و افزونهها، استفاده از افزونههای غیرمعتبر و بارگذاری فایلهای ناامن، مسیر نفوذ را باز میکند.
کانفیگ سرور و دسترسیها
پیکربندی اشتباه سرور و مجوزهای فایل ضعیف امکان دستیابی به فایلهای حساس را میدهد.
فایلهایی مثل wp-config.php یا فایلهای پیکربندی سرور اگر دسترسیشان درست تنظیم نشود، هکر میتواند اطلاعات دیتابیس یا کلیدهای محرمانه را خوانده و دسترسی کامل بگیرد. همینطور سرویسهایی مثل FTP بدون SFTP یا SSH با پسورد ضعیف دروازه نفوذ هستند.
انواع حملات رایج (حملات از تزریق تا باجافزار فرق دارند و هر کدام نشانههای خاص دارند)
انواع حملات متداول شامل SQL Injection، XSS، تزریق فایل، قرار دادن backdoor، اسکریپتهای ماینینگ، DDoS و باجافزار هستند.
OWASP و Wordfence فهرست مفصلی از حملات دارند؛ مثلاً SQLi دادهها را میدزدد، XSS میتواند دادههای کاربر را ربوده و تزریق فایل اجازه میدهد اسکریپتهای مخرب اجرا شوند. حملات زنجیرهای (مثلاً ابتدا گرفتن یک اکانت، بعد ارتقا امتياز) نیز شایع است.
SQL Injection
SQL Injection به هکر اجازه میدهد دیتابیس را مشاهده یا تغییر دهد.
ورودیهای کاربر که به درستی پاکسازی نشدهاند هدف SQLi هستند؛ مهاجم با درج کد SQL میتواند رکوردها را بخواند یا حذف کند. جلوگیری شامل استفاده از prepared statements و ORM و فیلتر ورودیهاست.
XSS (Cross-Site Scripting)
XSS به هکر امکان اجرای جاوااسکریپت مخرب در مرورگر کاربر را میدهد.
XSS میتواند کوکیها را بدزدد، فرمها را تغییر دهد یا کاربران را فریب دهد؛ راهکارها شامل escape/encode خروجی و Content Security Policy است.
Backdoor و وبشل
backdoorها فایلهاییاند که دسترسی مخفی برای مهاجم فراهم میکنند و باید شناسایی و حذف شوند.
مهاجم فایل PHP یا اسکریپت با تابع eval یا base64_decode آپلود میکند تا دوبارهبهسرور ورود کند؛ شناسایی با اسکن فایلها و بررسی timestampها ممکن است. منابع ایرانی مثل میزبانفا و میزبانپک چند نمونه از web-shellها و روشهای پاکسازی را پوشش دادهاند.
باجافزار و رمزنگاری فایلها
باجافزار فایلها را رمزگذاری میکند و مهاجم برای بازگردانی، باج طلب میکندو با پرداخت باج تضمینی ندارد.
پرداخت باج تنها احتمال بازگردانی را افزایش نمیدهد و حتی میتواند موجب انتشار دادهها شود. راه حل واقعی شامل داشتن نسخههای بکآپ آفلاین و فرایند بازیابی منظم است؛ SANS و Malwarebytes توصیه میکنند در صورت مواجهه با باجافزار از تیم فورنزیک و پاسخ حادثه استفاده شود.
علائم هک شدن سایت (تغییر محتوا، ریدایرکت، مصرف منابع و لاگهای مشکوک شایعترین نشانهها)
تغییر ناگهانی در محتوا، ریدایرکت به سایتهای دیگر، افت ناگهانی ترافیک یا بالعکس افزایش ناگهانی ارسال ایمیلهای اسپم، هشدار گوگل سرچ کنسول یا مرورگر و خطاهای غیرمنتظره از نشانههای شایعاند.
سایت ممکن است بدون تغییر ظاهری هم هک شده باشد — مثلاً backdoorها در سرور پنهاناند. پس بررسی لاگ سرور، تحلیل ورودیهای POST، فایلهای جدید یا تغییر تاریخ فایلها ضروری است. منابعی مانند نوینمستر و میزبانفا فهرستی از این علائم دارند.
نشانههای ظاهری برای مدیر سایت
نمایش صفحات مشکوک، پیام باجخواهی، یا تغییر لوگو/متن از علائم ظاهریاند.
این موارد به راحتی توسط مدیر سایت قابل مشاهدهاند؛ اسکرینشات بگیرید و از تغییرات بکآپ بگیرید و لاگها را نگه دارید.
نشانههای فنی در سرور و دیتابیس
لاگهای ورود ناموفق، اسکریپتهای جدید، ارسال ایمیل از سرور بدون توضیح و مصرف بالای CPU/RAM علامت هستند.
بررسی لاگهای وبسرور (access.log و error.log)، لاگهای ایمیل (exim/postfix) و دیتابیس ضروری است. SANS روی اهمیت این لاگها در بازیابی و شناسایی نقطه نفوذ تاکید دارد.
اقدامات فوری پس از تشخیص هک (ایزوله کن، بکآپ بگیر، لاگ را ذخیره کن، و متخصص تماس بگیر)
اقدامات فوریت شامل ایزولهسازی سایت، گرفتن بکآپ از نسخه آلوده برای تحلیل، ذخیره لاگها بهصورت امن، تغییر رمزهای حساس و اطلاعرسانی به ذینفعان است.
مرحله اول در واکنش به حادثه (Incident Response) طبق مدل SANS شامل شناسایی و حصر (containment) است — سایت را به حالت read-only یا آفلاین ببرید تا آسیب بیشتر نشود. قبل از پاکسازی، تهیه یک پشتیبان از نسخهٔ فعلی ضروری است تا شواهد حفظ شود برای فورنزیک. سپس دسترسیها (SSH, FTP, کنترل پنل) را غیرفعال یا پسوردها را تغییر دهید بهگونهای که مهاجم دیگر نتواند وصل شود.
نباید چه کار کنید (عجولانه حذف کردن همه چیز یا پرداخت باج ممنوع است)
حذف فوری همه فایلها یا پرداخت باج بدون بررسی فنی، احتمال از دست رفتن شواهد و دادهها را بالا میبرد.
اگر بکآپ سالم دارید، استفادهٔ نابخردانه از آن بدون بررسی ممکن است دوباره فایل آلوده را بازگرداند. پرداخت باج ریسکهای قانونی و اخلاقی دارد و سازمانهای معتبر مثل Malwarebytes و SANS معمولاً پرداخت را توصیه نمیکنند.
جمعآوری شواهد برای فورنزیک (لاگ، اسکرینشات، و نسخههای فایل را ذخیره کن)
ذخیره لاگها، دیتابیس و فایلهای تغییر یافته برای تحلیل بعدی ضروری است.
فورنزیک دیجیتال نیاز به زنجیرهٔ نگهداری شواهد (chain of custody) ندارد مگر در موارد حقوقی، اما ذخیره و ثبت دقیق زمانها و عملیات کمک بزرگی به تحلیل میکند. Exabeam و SANS پروسهٔ گامبهگام جمعآوری شواهد را تشریح کردهاند.
فرآیند کامل پاکسازی و بازیابی (پاکسازی باید مرحلهای، مستند و فنی باشد؛ هر کسی نباید انجام دهد)
پاکسازی اصولی شامل تشخیص نقطه نفوذ، ایزولهسازی، حذف بدافزار، بررسی بکآپها، بازسازی امن و تست کامل است.
روند استاندارد شامل شش گام SANS (آمادگی، شناسایی، حصر، ریشهکنی، بازیابی، و درسگیری) است. در ادامه روند فنی مرحلهبهمرحله معرفی میشود؛ این مراحل نیاز به مهارت فنی دارند و انجام آنها توسط افراد مبتدی میتواند باعث از دست رفتن دیتای حساس شود.
قدم 1: آمادهسازی قبل از هرچیز ( داشتن پروسهٔ واکنش به حادثه و بکآپهای سالم ضروری است)
داشتن برنامهٔ پاسخ به حادثه و بکآپهای منظم پیش از هک، تفاوت بین بازیابی سریع و فاجعه است.
بکآپها باید آفلاین یا خارج از دسترس عمومی نگهداری شوند و تست بازیابی دورهای انجام شود. همچنین فهرست دسترسیها، IP های مجاز و تماسهای اضطراری باید آماده باشد.
قدم 2: تشخیص و ایجاد نقطهٔ مرجع (تشخیص دامنهٔ نفوذ و گرفتن snapshot از وضعیت فعلی)
ابتدا باید بدانیم چه چیزهایی آلوده شده و نفوذ از کجا بوده است؛ سپس snapshot/backup از وضعیت فعلی تهیه شود.
تهیه snapshot از سرور یا دانلود کامل فایلها و دیتابیس برای تحلیل، سپس بررسی لاگها (access.log, error.log, auth.log) و تحلیل مقادیر غیرمعمول. استفاده از ابزارهای اسکن مانند Wordfence برای وردپرس یا اسکنرهای سرور کمککننده است ولی جایگزین بررسی دستی نمیشود.
قدم 3: حصر و قطع دسترسی (مهاجم را از محیط جدا کن تا ناتوان شود)
سایت را ایزوله کن؛ دسترسی SSH/FTP غیرضروری را قطع، اکانتهای مشکوک را غیرفعال و سایت را در حالت maintenance قرار بده.
در این مرحله بهتر است دسترسی از IP های شناختهشده محدود شود، رولهای فایروال بهروز شوند و اگر لازم است، دامنه را به هاست جایگزین یا محیط staging منتقل کنید.
قدم 4: ریشهکنی (حذف بدافزار و backdoor) — (تمام فایلهای مخرب و backdoorها باید شناسایی و حذف شوند)
تمام فایلهای غیرمعمول، کدهای base64 یا eval، و web-shellها باید حذف شوند و فایلهای core با نسخه سالم بازنویسی شوند.
این مرحله فنی است: مقایسه هر فایل با نسخهٔ اصلی (مثلاً هستهٔ وردپرس)، شناسایی کدهای تزریقشده، چک کردن crontab، و بازبینی فایلهای uploads برای فایلهای اجرایی. ابزارهای اتوماتیک کمک میکنند اما بررسی دستی توسط متخصص لازم است تا backdoor های پنهان کشف شوند.
قدم 5: بازسازی از بکآپ امن یا بازنویسی دستی (اگر بکآپ سالم دارید از آن استفاده کن، در غیر این صورت بازسازی کنترلشده انجام بده)
اگر یک بکآپ قبل از نفوذ دارید از آن استفاده کن؛ اگر نه، صفحات حیاتی را بازسازی کن و دیتابیس را پاکسازی و بازنشانی کن.
هنگام استفاده از بکآپ، باید اطمینان حاصل شود که بکآپ پاک است. اگر مشکوک هستید، دیتابیس و فایلها باید بهصورت مرحلهای بازسازی شوند و افزونهها و قالبها حتماً از منابع اصلی نصب شوند. در وردپرس، نصب مجدد هسته و قالب از مخزن رسمی و حذف افزونههای نال/غیراصولی ضروری است.
قدم 6: تقویت امنیت و hardening (پس از پاکسازی، سایت باید سختسازی شود تا نفوذ دوم رخ ندهد)
پس از پاکسازی باید اقدامات حفاظتی مثل بستن مجوزها، فعالسازی 2FA، نصب WAF و بررسی تنظیمات سرور انجام شود.
اقداماتی مانند محدودیت دسترسی فایل، تنظیمات صحیح PHP (disallow_url_fopen، disable_functions)، فعالسازی HTTPS و HSTS، پیادهسازی Content Security Policy و استفاده از Web Application Firewall (WAF) حیاتیاند. OWASP cheat-sheets و راهکارهای Wordfence راهنمای جامعی برای این کارها ارائه میدهند.
قدم 7: تست، مانیتورینگ و درسگیری (بعد از بازگشت، تستهای نفوذ و نظارت مداوم راهانداز کن)
پس از بازگشت به سرویس، تستهای نفوذ، اسکن دورهای و مانیتورینگ لاگها را پیوسته ادامه بده.
برنامهٔ مانیتورینگ 24/7، آنالیز لاگ و نوتیفیکیشنهای زودهنگام میتواند حملات بعدی را سریع تشخیص دهد؛ همچنین یک تحلیل رویداد (post-incident review) انجام بده تا علت ریشهای رفع و مستندسازی شود.
ابزارها و روشهای فنی که برای پاکسازی استفاده میشود (ابزارها شامل اسکنرها، فورنزیک فایل و تحلیل لاگ هستند و استفاده از آنها نیاز به دانش دارد)
ابزارهای رایج شامل اسکنرهای امنیتی (Wordfence, Maldet, ClamAV)، ابزارهای فورنزیک (Volatility, Sleuth Kit)، و تحلیل لاگ (GoAccess, ELK stack) هستند.
اسکنرهای خودکار میتوانند نقطهٔ شروع باشند اما برای حذف backdoor و بازسازی امن نیاز به تحلیل دستی و اسکریپتهای خاص است. SANS و Exabeam روشهایی برای آنالیز شبکه و شناسایی رفتار مهاجم پیشنهاد میکنند.
هزینهبر بودن پاکسازی (هزینه به پیچیدگی نفوذ، اندازه سایت و نیاز به فورنزیک بستگی دارد)
پاکسازی ممکن است از چند ده میلیون تومان برای سایتهای ساده تا هزینههای سنگین برای سایتهای بزرگ یا نفوذهای عمیق متغیر باشد؛ دلیلش نیاز به نیروی متخصص، زمان تحلیل و بازسازی، و در بعضی موارد تست نفوذ است.
اگر سایت هزاران صفحه، دیتا بیگ (big data) یا دیتابیس پیچیده دارد، بازسازی زمانبر است؛ پیدا کردن نقطهٔ ورود، حذف backdoor، بازیابی تراکنشهای مالی و حصول اطمینان از عدم خروج اطلاعات نیاز به فرایندهای قانونی و فورنزیک دارد که هزینهبر است. همینطور تست نفوذ و پیادهسازی SLA و مانیتورینگ 24/7 بار هزینه را افزایش میدهد. منابع ایرانی مانند میزبانفا و میزبانپک و منابع خارجی SANS و OWASP هم روی این موضوع تاکید دارند.
گپها و اشتباهات رایج مردم هنگام مواجهه با هک (اقدامهای عجولانه، پرداخت باج و اعتماد به ابزارهای غیرمعتبر خطاهای رایجاند)
مردم معمولاً یا عجولانه همه چیز را پاک میکنند، یا به ابزارهای آنلاین بیپشتوانه اعتماد میکنند، یا فورا به هکر باج میدهند — این انتخابها اغلب مشکل را بدتر میکنند.
مثالها: ۱) رستورانی که بکآپ نداشت و مالک با پاک کردن دیتابیس سعی کرد مشکل را حل کند اما دادهها از بین رفت؛ ۲) اعتماد به افزونههای ناشناخته برای پاکسازی که مجدداً backdoor را بازگرداند. نوینمستر و کانفیگدبلیوپی چند اشتباه عملی رایج را فهرست کردهاند که در اینجا خلاصه شدهاند.
چه زمانی باید سرویس حرفهای بگیریم و چه انتظاری داشته باشیم؟ (وقتی نفوذ عمیق است، داده حساس در خطر است، یا توان فنی ندارید، باید تیم حرفهای بگیرید)
اگر نفوذ سطح بالا، وجود backdoor، یا احتمال نشت اطلاعات وجود دارد، باید فوراً سراغ تیم پاسخ به حادثه و فورنزیک حرفهای بروید.
سرویس حرفهای شامل ارزیابی اولیه، فورنزیک، حذف بدافزار، بازسازی، تست نفوذ و مانیتورینگ پس از بازگشت است. سطح خدمات و قیمتگذاری معمولاً بر اساس تعداد صفحات، پیچیدگی CMS، میزان دسترسیهای لازم و نیاز به تستهای حقوقی تعیین میشود. کوروش هاست (ذکر برند طبق درخواست تو) میتواند چنین خدماتی را ارائه دهد؛ اما تاکید میکنم که انتخاب پیمانکار باید با بررسی نمونهکار و روند فنی صورت گیرد.
نکات عملی فوری به زبان ساده که خود مدیر سایت هم بتواند اجرا کند (چند قدم ابتدایی کمخطر را خودتان انجام دهید، بقیه را به متخصص بسپارید)
قدمهای امن که مالک سایت میتواند سریع انجام دهد شامل: تغییر پسوردها، قرار دادن سایت در حالت Maintenance، گرفتن بکآپ از نسخهٔ فعلی و ثبت لاگها و تماس با پشتیبانی هاست است.
نکات دقیقتر: 1) پسوردها را با ابزار مدیریت پسورد تغییر دهید؛ 2) هر اکانتی که اخیراً اضافه شده را بررسی و غیرفعال کنید؛ 3) اگر به پنل هاست دسترسی دارید، php.ini را برای نمایش خطاها خاموش کنید و فایلهای لاگ را دانلود کنید؛ 4) اگر فروشگاه دارید، اطلاعرسانی شفاف به مشتریان در صورت نشت اطلاعات ضروری است.
چطور بعد از بازسازی، امنیت را حفظ کنیم (سیاستگذاری، نگهداری و مانیتورینگ مداوم لازم است)
حفظ امنیت نیاز به برنامه زمانی، بروزرسانی منظم، کنترل دسترسی، تست نفوذ دورهای و پشتیبانی مستمر دارد.
توصیهها شامل پیادهسازی مدیریت نسخه، بررسی تغییرات فایل (file integrity monitoring)، نصب WAF و CDN، اجرای اسکنهای خودکار و استخدام یا قرارداد با تیم پشتیبانی برای مانیتورینگ 24/7 است. OWASP و SANS ابزارها و چکلیستهای مفیدی برای پیادهسازی این سیاستها پیشنهاد دادهاند.
نمونه چکلیست فنی برای بررسی سریع (فهرست کوتاه از کارهای فنی که باید بررسی شوند)
چکلیست شامل: بررسی لاگ، بررسی فایلهای uploads، ریاستور امن بکآپ، نصب WAF، بررسی cron و crontab، و تغییر کلیدهای API و رمزها.
این چکلیست به تیم فنی کمک میکند تا مرحله به مرحله عمل کند؛ مثال عملی: بررسی فایل .htaccess برای ریدایرکتهای مشکوک، مقایسه checksum فایلهای هسته با نسخهٔ رسمی، و اسکن دیتابیس برای کدهای تزریقشده.
پرسشهای پرتکرار کاربران
1- آیا اگر سایت هک شد، حتماً باید باج بدهم؟
خیر؛ پرداخت باج توصیه نمیشود و تضمینی وجود ندارد.
2- میتوانم خودم سایت را پاک کنم؟
برای اقدامات اولیه بله (تغییر پسورد، گرفتن بکآپ)، اما پاکسازی عمیق نیاز به متخصص دارد.
3- چقدر طول میکشد تا سایت من برگردد؟
از یک روز برای موارد ساده تا چند هفته برای نفوذهای عمیق و بسته به حجم و گستردگی محتوای شما دارد.
4- آیا گوگل سایت را پنالتی میکند؟
اگر بدافزار باعث پخش محتوای مخرب شود، بله؛ اما با پاکسازی و درخواست بررسی میتوان از پنالتی خارج شد.
5- هزینه چطور محاسبه میشود؟
بر اساس میزان آسیب، تعداد صفحات، نیاز به فورنزیک و SLA تعیین میشود.
(پیشگیری و واکنش سریع مهم است؛ برای پاکسازی جدی از تیم فنی کمک بگیرید)
پیشگیری بهتر از درمان است؛ اگر سایت هک شده یا مشکوک به هک است، اقدامات ایزولهسازی و جمعآوری شواهد را همین الان انجام دهید و برای پاکسازی عمیق با تیمی که تجربهٔ فورنزیک و بازیابی دارد کار کنید.
اگر نیاز به ارزیابی فنی یا پاکسازی دارید، ما میتوانیم بهصورت مشاورهای بررسی اولیه انجام دهیم (تماس یا تیکت پشتیبانی) و سپس پیشنهاد فنی و برآورد قیمت بر اساس وضعیت واقعی شما ارائه کنیم.
تیک کوروش هاست با سابقه سالها حضور در حوزه وب سایت ها و فروشگاهای اینترنتی و هک شدن زیادی از سایت های دوستان و برگردادن آنها و بازیابی به صورت اصولی توانسته جلوی خیلی از هکر های تازه کار را گرفته و سایت های دوستان به صورت کامل به چرخه فعالیت بازگشته است.