
اگر از وردپرس استفاده میکنید یا اسکریپت یا CMS نوشتهشده روی PHP دارید احتمالاً حداقل یک بار کلمه SuHosin را شنیده باشید، هنوز بعد از سالها با ورود به آخرین نسخه وردپرس در بخش سلامت میتواند به شما بگوید که آیا SuHosin را نصب دارید یا خیر، اما سوالی که پیش میاد این است که SuHosin چیست و چطور میتوان آن را نصب یا فعال کرد.
SuHosin چیست
مدیریت کردن سرورهای اشتراکی مثلاً وقتی تعداد زیادیهاست روی یک سرور دارید بسیار دشوارتر از وقتی است که یک یا ۲ اکانت روی سرور شما باشد، با افزایش تعداد اکانت ها مسائل امنیتی و احتمالاً آسیبپذیریها بیشتر میشود، از طرفی بیشتر کاربران به دلیل مبتدی بودن اطلاعات زیادی از امنیت سایت و سرور ندارد و ممکن است وجود یک آسیبپذیری در اکانت آنها کل سرور را تهدید کند
اینجاست که پلاگین suHosin که برای PHP طراحیشده است بهکار میآید. این پلاگین امنیتی میتواند حفره آسیبپذیری های زبان PHP را پر کند و داشتن آن روی سرور مشکلات امنیتی سرور شمارا کمتر میکند.
معنی suHosin چیست
نام این پلاگین توسط سازنده آلمانی آن به زبان کرهای و به معنای فرشتهی محافظ انتخابشده است. ‘su-ho-shin’ و یا در فارسی سوحشین
چرا از suHosin استفاده کنیم؟
فرض کنید شما تنها برنامهنویس یک سایت به زبان PHP هستید و تنها سایت روی سرور نیز دست شما است و شما به کد خود اعتماد دارید. بازهم استفاده از suHosin میتواند برای شما مفید باشد، چراکه ممکن است آسیبپذیری جدید کشف شود که شما آن را در کد خود در نظر نگرفتهاید.
حتی گاهی اطلاعات شما درباره امن سازی کد کافی نمیباشد. برای مثال میتوان به آسیبپذیری Remote Code Inclusion اشاره نمود که اکثر افراد فکر میکنند با غیرفعال کردن allow_url_fopen در php.ini میتوان جلوی آن را گرفت. اما حتی در این صورت نیز میتوان از php://input و یا data:// URLs استفاده کرد. در اینجا suHosin به خوبی از شما محافظت میکند.
آیا suHosin هنوز کاربرد دارد؟
خیر، این پلاگین امنیتی برای نسخه ۵ از PHP طراحیشده بود و با توجه به اینکه پایینترین نسخه پایدار و پشتیبانی PHP در حال حاضر نسخه ۸.۰ است پس میتوان گفت این پلاگین منسوخشده است و نیازی به نصب آن ندارید.
لیست امکانات suHosin
- محافظت از صفحه phpinfo
- جلوگیری از آسیب پذیری های Format String
- جلوگیری از حملات مربوط به Session
- جلوگیری از Buffer Overflow
- جلوگیری از آسیب پذیری های Format String
- اضافه شدن رمزنگاری SHA256 به هسته PHP
- اضافه شدن پشتیبانی از CRYPT_BLOWFISH به تابع crypt
- محافظت از صفحه phpinfo
- محافظت از پایگاه داده(در حال حاضر آزمایشی)
- رمزنگاری کوکی ها
- جلوگیری از اجرای Remote Code Inclusion
- جلوگیری از اجرای کدهایی که در فایل های آپلود شده وجود دارند
- جلوگیری از Directory Traversal
- از کار انداختن تابع eval
- جلوگیری از حلقه های بی نهایت در کد
- جلوگیری از آسیب پذیری HTTP Response Splitting
- فیلتر کردن ورودی هایی که دارای عبارت های مشکوک هستند
- فیلتر ورودی های ASCII
- محدود کردن طول درخواست ها
- قابلیت لاگ گیری
- و ….