بررسی وجود و نحوه حذف ایمن PHP روی سرورهای ColdFusion — Is PHP Running on Your ColdFusion Server? How to Check, and Remove It
خلاصه
این مقاله به این موضوع میپردازد که چگونه یک قانون امنیتی برای آسیبپذیریهای PHP روی سرورهای ویندوزی IIS، دسترسی به برنامههای ColdFusion را مختل کرده است. همچنین راهنمای گامبهگامی برای بررسی اینکه آیا PHP بدون اطلاع مدیران روی سرور فعال است یا خیر، و نحوه حذف ایمن آن ارائه میدهد.
اگر از سرورهای ویندوزی مجهز به IIS برای اجرای ColdFusion یا Lucee استفاده میکنید، ممکن است PHP بهطور پنهان روی سیستم شما حضور داشته باشد. این اتفاق معمولاً به دلیل نصب کنترلپنلها، ابزارهایی مثل phpMyAdmin در گذشته، یا تصاویر پیشفرض هاست رخ میدهد.
پسزمینه و ماجرا
اخیراً با انتشار اصلاحیههای اضطراری برای آسیبپذیریهای بحرانی در PHP که به مهاجمان اجازه اجرای کد از راه دور را میدهد، شرکتهای هاستینگ و مدیران سرور دستبهکار شدند تا قوانین حفاظتی اعمال کنند. در این میان، یک قانون امنیتی در IIS برای مسدود کردن درخواستهای multipart/form-data (که معمولاً برای آپلود فایل استفاده میشوند) بهصورت سراسری اعمال شد. این قانون بدون در نظر گرفتن پسوند فایلها، درخواستهای ورود به سیستم و آپلود در برنامههای ColdFusion را مختل کرد، در حالی که این برنامهها اصلاً از PHP استفاده نمیکنند.
پس از بررسی مشخص شد که وجود یک نسخه قدیمی از phpMyAdmin که سالها پیش برای مدیریت پایگاه داده نصب شده بود، باعث حضور PHP و فعال ماندن هندلر آن روی سرور شده است.
مراحل بررسی وجود PHP روی سرور
برای اینکه مطمئن شوید آیا سرور شما درگیر این مسئله است یا خیر، میتوانید از دستورات PowerShell و محیط ویندوز استفاده کنید:
- بررسی هندلر IIS: با استفاده از دستورات
WebAdministrationدر PowerShell چک کنید که آیا IIS فایلهای.phpرا بهphp-cgi.exeهدایت میکند یا خیر. - جستجوی فایلهای PHP: با استفاده از دستورات سریع خط فرمان ویندوز (
dir /s /b), به دنبال فایلهای.phpدر ریشه وبسایت بگردید. وجود فایلهای پراکنده در پوشههای آپلود میتواند نشانه خطر و فایلهای وبشل (Web Shell) باشد. - بررسی فرآیندهای در حال اجرا: دستوراتی برای بررسی فرآیندهای فعال
php*وجود دارد، البته اگر درخواست فعالی نباشد ممکن است فرآیندی دیده نشود. - تست دسترسی خارجی: بررسی کنید که آیا آدرسهایی مانند
phpmyadminیاinfo.phpروی دامنههای شما پاسخ200 OKبرمیگردانند یا خیر.
نحوه حذف ایمن PHP از سرور IIS
اگر برنامههای شما به PHP نیازی ندارند، بهتر است آن را بهصورت کاملاً ایمن و مرحلهبهمرحله حذف کنید:
- پشتیبانگیری از تنظیمات: ابتدا با استفاده از ابزار
appcmd.exeاز تنظیمات IIS یک نسخه پشتیبان تهیه کنید تا در صورت بروز مشکل قابل بازگشت باشد. - انتقال پوشههای PHP: برنامههایی مثل
phpMyAdminرا به جای حذف فوری، به پوشهای دیگر (مانندC:\Temp) منتقل کنید تا اگر وابستگی پنهانی وجود داشت، به مشکل نخورید. - بستن دسترسی به فایلهای
.php: از طریق فیلترینگ درخواستها در IIS، پسوند.phpرا در سطح سرور غیرمحاز کنید. - حذف هندلر و تنظیمات FastCGI: نگاشتهای مربوط به PHP را از تنظیمات سرور پاک کنید.
- حذف نهایی فایلها: پوشه یا نصبکننده PHP را پس از گذشت چند هفته پاک کنید.
نگاه جامعه برنامهنویسان (Hacker News)
در بحثهای هکرنیوز، بسیاری از توسعهدهندگان با تعجب به این موضوع نگاه کردند که هنوز سیستمهایی بر پایه ColdFusion در حال کار هستند و این ماجرا را شبیه به سفری به ماشین زمان سالهای دور دانستند. با این حال، کاربرانی که همچنان سیستمهای قدیمی را نگهداری میکنند، بر اهمیت پاکسازی سرویسهای اضافی و کاهش سطح حمله (Attack Surface) تأکید داشتند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل