فرض کنید شما یک برنامه نویس PHP هستید که در یک تیم برنامه نویسی کار می کنید. برنامه ای که ایجاد می کنید دارای بخش های مختلفی است که توسط برنامه نویسان دیگر ایجاد شده و امکان چک همه کدهای آنها از نظر امنیتی تقریبا وجود ندارد. و یا فرض کنید شما مدیریت یک سرور Shared Hosting را برعهده دارید که بر روی آن سایت های زیادی وجود دارد. هر یک از این سایت ها ممکن است دارای آسیب پذیری هایی باشند که کل سرور شما را تهدید می کنند. در اینجا SuHosin به کمک شما می آید.

suHosin چیست

suHosin

 suHosin یک پلاگین امنیتی برای زبان PHP است. نام این پلاگین توسط ایجاد کننده ی آلمانی آن به زبان کره ای و به معنای فرشته ی محافظ انتخاب شده است. ‘su-ho-shin’ و یا در فارسی ‘سوحشین ‘ برای امن سازی سرور از مشکلات امنیتی شناخته شده و شناخته نشده در ابزار ایجاد شده به زبان PHP و یا خود هسته ی PHP ایجاد شده است و از دو بخش کلی تشکیل شده است. بخش اول آن یک Patch امنیتی برای هسته PHP است که محافظت Low Level را برعهده دارد. این بخش می تواند جلوی آسیب های Buffer Overflows یا آسیب پذیری های Format String را بگیرد. بخش دوم آسیب پذیری های شناخته شده و یا شناخته نشده دیگر را محافظت می کند.
چرا از suHosin استفاده کنیم؟ فرض کنید شما تنها برنامه نویس یک سایت به زبان PHP هستید و تنها سایت روی سرور نیز دست شما است و شما به کد خود اعتماد دارید. بازهم استفاده از suHosin می تواند برای شما مفید باشد، چراکه ممکن است آسیب پذیری جدید کشف شود که شما آن را در کد خود در نظر نگرفته اید.
حتی گاهی اطلاعات شما درباره امن سازی کد کافی نمی باشد. برای مثال می توان به آسیب پذیری Remote Code Inclusion اشاره نمود که اکثر افراد فکر می کنند با غیر فعال کردن allow_url_fopen در php.ini می توان جلوی آن را گرفت. اما حتی در این صورت نیز می توان از php://input و یا data:// URLs استفاده کرد. در اینجا suHosin به خوبی از شما محافظت می کند.
از امکانات این پلاگین می توان به موارد زیر اشاره نمود:
  1. جلوگیری از Buffer Overflow
  2. جلوگیری از آسیب پذیری های Format String
  3. اضافه شدن رمزنگاری SHA256 به هسته PHP
  4. اضافه شدن پشتیبانی از CRYPT_BLOWFISH به تابع crypt
  5. محافظت از صفحه phpinfo
  6. محافظت از پایگاه داده(در حال حاضر آزمایشی)
  7. رمزنگاری کوکی ها
  8. جلوگیری از اجرای Remote Code Inclusion
  9. جلوگیری از اجرای کدهایی که در فایل های آپلود شده وجود دارند
  10. جلوگیری از Directory Traversal
  11. از کار انداختن تابع eval
  12. جلوگیری از حلقه های بی نهایت در کد
  13. جلوگیری از آسیب پذیری HTTP Response Splitting
  14. جلوگیری از حملات مربوط به Session
  15. فیلتر کردن ورودی هایی که دارای عبارت های مشکوک هستند
  16. فیلتر ورودی های ASCII
  17. محدود کردن طول درخواست ها
  18. قابلیت لاگ گیری
  19. و…
منابع:
  1. suHosin Official Website
  2. suHosin Official Website Feature List

علی رحمتی

زکات علم آموزش آن است.

Latest posts by علی رحمتی (see all)

facebooktwittergoogle_pluslinkedin

یک نظر در رابطه با “SuHosin چیست؟ چگونه کدهای نوشته شده را امن کنیم؟

دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

*