چگونه سایت هک شده را از backdoorها پاکسازی کنیم؟
بسیاری مواقع پیش آمده که سایت یکی از کاربران و یا مشتریانمان هک شده و حتی پس از پاکسازی٬ در پشتیها یا همان بک دور backdoorهایی که هکرها کار گذاشته بودند همچنان باقی مانده است. این بک دورها به هکرها این امکان را میدهد که هنوز کنترل سایت دستشان باشد و بتوانند به آن از طرق مختلف نفوذ کنند. در این مقاله٬ یکی از تخصصیترین و پراستفادهترین مباحث امنیتی وبسایت را خواهید آموخت: سایت هک شده خود را چگونه پاکسازی کنید و به حالت قبل برگردانید. البته در این مقاله نکات پایهای ذکر میشود و برای فراگیری موارد فنیتر و پیشرفتهتر٬ میتوانید از آموزشهای جامع ویدیویی آکادمی استفاده کنید.
backdoor چیست؟
بک دور٬ به یک روش دور زدن حالت طبیعی احراز هویت گفته میشود و کسب توانایی در دسترسی به سرور از راه دور٬ بدون آن که هویت قابل شناسایی باشد. بیشتر هکرهای هوشمند همیشه در ابتدا بک دور را بارگذاری میکنند. این به آنها اجازه میدهد که حتی اکر شما آنها را بشناسید و افزونه آلوده را حذف کنید بتوانید دوباره دسترسی پیدا کنند. بک دورها اغلب از بروزرسانی (افزونه یا قالب آلوده) جان سالم به در میبرند بنابراین تنها راه خلاصی از آنها٬ شناسایی و پاک کردنشان است.
برخی از بک دورها به کاربران اجازه میدهند که به سادگی نام کاربری ادمین مخفی بسازند. در حالی که بیشتر بک دورهای پیشرفته این امکان را به هکر میدهند تا هر کد php را با ارسال از مرورگر اجرا کند. باقی هم یک رابط کاربری تکامل یافته دارند که به هکرها اجازه میدهد از سرور شما ایمیل ارسال کنند٬ کوئریهای SQL را اجرا کنند و هر چه دلشان میخواهد انجام دهند.
کد مربوط به بک دور کجا مخفی میشود؟
بکدورهای مربوط به وردپرس غالبا در این نقاط پنهان میشوند:
۱- قالبها – به احتمال زیاد نه در قالب فعلی که در حال استفاده از آن هستید. هکرها مایلند که کدشان از بروزرسانیهای هسته جان سالم به در برد. بنابراین اگر شما یک قالب قدیمی دارید که در پوشه قالبهای شما قرار دارد و یا هر قالب غیرفعال دیگر٬ پس کدها باید به احتمال زیاد آنجا باشند. به خاطر همین است که ما توصیه میکنیم تمام قالبهای غیرفعال را پاک کنید.
۲- افزونهها – افزونهها یک فضای عالی برای هکرها هستند تا کدهای مورد نظرشان را در آنها پنهان کنند. یکی به خاطر آن است که افراد معمولا به آنها توجه نمیکنند. دوم به خاطر آن که معمولا افراد علاقه ای به بروزرسانی افزونهها ندارند پس آنها از بروزرسانی نجات مییابند. و سوم به خاطر آن که بسیاری از افزونهها دارای کدنویسی ضعیفی هستند و از حفرههای امنیتی آنها میتوان برای خرابکاری استفاده کرد.
۳- پوشه آپلودها – به عنوان یک وبمستر شما هرگز پوشهی آپلودهای تان را بررسی نمیکنید. چرا باید این کار را بکنید. شما فقط تصاویرتان را بارگذاری میکنید و از آنها در پستهایتان استفاده میکنید. شما شاید صدها عکس در این پوشه دارید که طبق ماه و سال تقسیم بندی شدهاند. برای یک هکر بسیار آسان است که بک دورهایش را در پوشه آپلودها جاسازی کند چون در میان صدها فایل پنهان میشود. علاوه بر این شما به طور مرتب آن را چک نمیکنید. بسیاری از وبمسترها هم از یک افزونه اسکن و مانیتورینگ مثل sucury و یا ithemes security استفاده نمیکنند. در آخر هم پوشه آپلود قابل نوشتن است (برای درک این مورد و مفهوم پرمیشن ها به دوره جامع امنیت پیشرفته رجوع کنید)٬ بنابراین بهترین محل برای بهرهگیری است. این موارد آن را به بهترین محل برای بک دورها تبدیل کرده است و بیشتر بک دورها در آن یافت میشوند.
۴- wp-config.php – این هم یک مکان مورد علاقه برای هکرهاست. این جزو اولین جاهایی است که گفته میشود بررسی کنید.
۵- پوشه Includes – این پوشه هم جای مناسب دیگری برای بک دورهاست. برخی از هکرها بیش از یک بک دور جاگذاری میکنند. وقتی که یکی را بارگذاری کردند یک بکاپ دیگر اضافه میکنند تا مطمئن شوند که دسترسیشان برقرار است. این پوشه هم جایی است که بیشتر افراد اصلا به آن توجه نمیکنند.
به عنوان مثال: یکی از سایتهایی که ما پاکسازی کردیم٬ بک دور را در پوشه wp-includes جاسازی کرده بود با فایلی تحت عنوان wp-user.php (که در نصب اصلی وردپرس وجود ندارد). فایلی با نام user.php داریم اما فایل wp-user.php در پوشه /wp-includes/ نباید باشد.
همچنین فایلهای با نامهای شبیه wp-content.old.tmp, data.php, php5.php وجود داشتند. اینکه تمام فایلها به پسوند php ختم میشوند معنایش این نیست که فقط از کدهای php استفاده میشود. این کدها میتوانند در یک فایل زیپ نیز باشند. در بیشتر موارد فایلها توسط کد base64 انکود شدهاند که بتوانند تمام انواع عملیات را در خود جا دهند. (مانند لینکهای اسپم٬ افزودن برگههای اضافی٬ تغییر مسیر سایت اصلی به سایتهای اسپم و ..)
حال شاید شما فکر کنید که وردپرس خیلی ناامن است که اجازه به بک دورها میدهد. باید بگویم که کاملا اشتباه میکنید. نسخه فعلی وردپرس هیچ حفره امنیتی ندارد. بک دورها اولین مرحلهی هک نیستند. آنها معمولا دومین مرحله هستند. بیشتر هکرها از یک افزونه شخص ثالث یا اسکریپت که کدنویسی صعیفی دارد برای بارگذاری بک دور استفاده میکنند. همچنین در صورتی که سایت شما برای ثبت نام کاربران باز باشد یک هکر در سایت شما ثبت نام میکند و سعی میکند دسترسیهای بالاتری کسب کرده تا بتواند فایل آپلود کند. همچنین راه دیگری که از آن استفاده میکنند هاستینگهای ضعیف از نظر امنیتی است.
چطور بک دورها backdoors را پیدا کرده و پاکسازی کنیم؟
حالا که شما درک کردید یک بک دور چیست و در کجاها ممکن است مخفی شده باشد وقت آن رسیده تا جستجو کنید و پیدایشان کنید. پاک کردن آنها به سادگی حذف کردن یک فایل یا کد است. در حالی که قسمت سخت کار پیدا کردن آنهاست. شما میتوانید از یکی از افزونههای اسکن بدافزار وردپرس استفاده کنید. توصیه ما استفاده از اسکنر قدرتمند Sucuri و افزونه ithemes security است که از این اسکنر بهره میبرد و البته امکانات بیشمار دیگری نیز دارد.
شما همچنین میتوانید از افزونه Exploit Scanner نیز استفاده کنید اما به خاطر داشته باشید که رمزگذاری base64 و کدنویسی مشابه ممکن است توسط برخی از افزونهها نیز استفاده شود. بنابراین برخی اوقات نتایجی که به شما نشان میدهد شامل اشتباه نیز هست. اگر شما توسعهدهنده افزونه نیستید (کدنویسی نمیدانید)٬ بسیار سخت است که از میان هزاران خط کد٬ کدهای مخرب را پیدا کنید. بهترین کاری که میتوانید انجام دهید پاک کردن پوشه افزونهها plugins و نصب مجدد آنها از ابتداست. بله این تنها راهی است که شما را مطمئن میکند مگر آن که وقت زیادی در اختیار داشته باشید.
پوشه آپلودها را جستجو کنید
در حالی که افزونهها فایلهای بد را در پوشه آپلودها پیدا میکنند شما میتوانید به صورت دستی به دنبال آن بگردید. مثلا دلیلی وجود ندارد که یک فایل با پسوند php در پوشه آپلودها وجود داشته باشد. این پوشه برای آن طراحی شده تا فایلهای رسانه ای در آن قرار گیرد. بنابراین اگر یک فایل php آنجا دیدید باید حذف شود.
قالبهای غیرفعال را حذف کنید
مگر غیر آن است که شما در سایتتان از یک قالب استفاده میکنید. بنابراین وقتی که قالب تان نصب و فعال شد دلیلی ندارد که تعداد زیادی قالب بی استفاده در پوشه قالبهایتان باشد. بنابراین همهی آنها را پاک کنید.
فایل .htaccess
بعضی وقتها کدهای تغییر مسیر در آنجا قرار میگیرند. پس این فایل را حذف کنید تا به صورت خودکار دوباره ایجاد شود. اگر ایجاد نشد به مدیریت وردپرس بخش تنظیمات بروید و از روی پیوندهای یکتا کلیک کنید و یک بار آن را ذخیره کنید. با این کار فایل .htaccess دوباره بازسازی میشود.
فایل wp-config.php
همان طور که گفتیم بعضی وقتها کدهای مخرب اینجا قرار میگیرند. پس این فایل را با فایل wp-config.php نمونه مقایسه کنید و هر کد اضافی کد دیدید را پاک کنید.
اسکن دیتابیس برای خرابکاری و اسپم
گفتیم که یک هکر فقط از یک راه و روش برای نفوذ استفاده نمیکند. هدفگیری دیتابیس یک حقهی بسیار ساده است. آنها میتوانند توابع php٬ اکانتهای ادمین و لینکهای اسپم را آنجا جای گذاری کنند. بعضی وقتها شما کاربر مدیر را در صفحه کاربرانتان مشاهده نمی کنید. شما ۳ کاربر دارید و در انجا تنها ۲ کاربر را مشاهده میکنید. در این زمان به احتمال زیاد هک شدهاید.
اگر تجربه کار با sql ندارید بهترین راه استفاده از همان اسکنرهایی است که به شما معرفی کردیم.
آیا کاملا پاکسازی شدهاید؟
خب حالا همهی کارها را انجام داده و سایتتان را پاک کردهاید. قبل از آن که آسوده شوید و کنار بکشید یک بار سایتتان را در پنجره مرورگر به صورت ناشناس incogito باز کنید. بسیاری از اوقات هکرهای زرنگ٬ به کاربران وارد شده خود را نشان نمیدهند. تنها کاربران مهمان مثلا به صفحات اسپم ریدایرکت میشوند. برخی از هکرها هم تنها موتورهای جستجو را هدف میگیرند. تنها وقتی همهی آنها را امتحان کردید خیالتان راحت شود.
چطور خیالمان راحت شود؟ در آینده چه کنیم که گرفتار نشویم؟
برای آن که خیالتان راحت شود و یا در آینده خودتان و یا سایت مشتریانتان دچار این ضایعه نشود باید در زمینه امنیت حرفهای شوید و یک دیوار دفاعی مستحکم و غیرقابل نفوذ برای سایتتان درست کنید. بله٬ این کار ممکن است. باید فوت و فن این کار را یاد بگیرید. آکادمی فرشمی یک دوره جامع برای امنیت پیشرفته وردپرس تعریف و ایجاد کرده که طی این دوره آموزشی ویدیویی٬ شما با تمام فوت و فنهای هکرها و روشهای حفظ امنیت سایت و تقویت دیوارههای دفاعی و بهینهسازی سایت وردپرسیتان آشنا شده و در آن تخصص مییابید.
به راحتی با ثبت نام و بهرهگیری از آموزشهای این دوره٬ امنیت خود و مشتریان تان را تضمین کرده و یا با استفاده از گواهینامه پایان دوره٬ به عنوان کارشناس امنیت آنلاین٬ برای بیزینسها و ارگانهای مختلف مشغول به کار شوید.
با سلام
آیا وجود کپچا در صفحات لاگین اینترنتی، می تواند از Backdoor جلوگیری کند؟