نویسنده موضوع: مصون کردن PHP درحالت فعالسازی Suphp  (دفعات بازدید: 1119 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین zarif

  • Administrator
  • *****
  • ارسال: 275
    • خدمات میزبانی مشهد هاست
مصون کردن PHP درحالت فعالسازی Suphp
« در: اوت 28, 2009, 02:30:58 »
در هاست های سی پنل همانطور که می دانید می توانیم با فعالسازی Suphp  این امکان که هر کاربر یک PHP.ini اختصاصی داشته باشد فراهم کنیم .
اما این مزیت ممکن است منجر به یک ضعف امنیتی بزرگ بر روی سرور ایجاد شود . شاید شما بعنوان مدیر سرور فقط خواسته باشید تغییرات محدودی مثل register_globals توسط کاربر ویرایش شود و خیلی از پارامترهای مهم در PHP را نخواهید کاربر تغییر دهد .
میزان استفاده از حاظفه ، میزان آپلود فایل ، POST MAX و خیلی چیزها را محدود کردیم که کاربر بیش از اندازه از آپاچی ریسورس نگیرد که کاربر با ایجاد یک PHP.ini  این محدودیت ها را از بین ببرد  .

اما کلا هم نمی خواهیم دسترسی او را از PHP.ini  خارج کنیم ! مثلا بعضی از چیزها مثل register_globals را بتونه تغییر دهد . پس چه کنیم ؟

من در این مورد مطالعات زیادی کردم . چرخی در فروم سی پنل و تنظمیات easyapache انداختم و به یک راهکار خوب رسیدم .

ابتدا virtual host پیش فرض را تغییر می دهیم :

این فایل را باز می کنیم :
/var/cpanel/templates/apache2/vhost.default

در قسمتی که از suphp نوشته را به صورت زیر تغییر می دهیم :
    <IfModule mod_suphp.c>
        suPHP_UserGroup [% vhost.user %] [% vhost.group %]
        <Location />
           suPHP_ConfigPath /usr/local/lib
        </Location>
    </IfModule>

اینکار باعث میشه تمام هاست ها به اجبار PHP.ini خود را از شاخه  /usr/local/lib  بخوانند .
* مثلا برای اکانتهایی که بخواهند تغییراتی در php.ini بدهند ، خودمان در یک مسیری که کاربر دسترسی نداشته باشد یک PHP.ini با تنظیماتی که می خواهد درست می کنیم و مسیرش را از داخل httpd.conf  تغییر می دهیم .

حالا تغییراتی که دادیم بخواهیم اعمال شود اسکریپت زیر را اجرا می کنیم :
 /scripts/rebuildhttpdconf
مشتریان عزیز لطف کنند  سرویسی که از ما خریداری نموده اند به همراه مشخصات خود به من پیغام خصوصی بدهند تا دسترسی ویژه در انجمن بهشان داده شود .