PDA

View Full Version : بهترین Permission برای فایل ها و پوشه ها



ayub_coder
پنج شنبه 20 بهمن 1390, 21:52 عصر
سلام دوستان
به نظر شما بهترین حالت برای Permission ها برای موارد زیر چیه؟برای برقراری بیشترین امنیت.
1-پوشه public_html
2-پوشه های حاوی فایلهای PHP
3-خود فایل PHP
4-پوشه هایی که حاوی فایلهای CSS , عکس ها هستند.
5-پوشه هایی که کاربران برو روی سرور فایل ارسال می کنند.

ayub_coder
جمعه 21 بهمن 1390, 18:49 عصر
دوستان کسی نظری نداره؟ حیف نیست بدون جواب رها بشه؟:افسرده:

eshpilen
جمعه 21 بهمن 1390, 21:33 عصر
قضیش یه مقدار پیچیدس.
بستگی به سیستم و کانفیگ هاست هم داره؛ مثلا اینکه PHP با mod_php اجرا میشه یا FastCGI.
یک هاستی که زیر دستم هست و الان تست کردم از FastCGI استفاده میکنه، اما ظاهرا به شکل اشتباهی کانفیگ شده یا شاید هم اساسی هک شده و هکر پرمیشن های کل اکانتها رو تغییر داده (محتویات یکی از فایلهای PHP در اکانت یک کاربر دیگر هاست رو الان نگاه کردم وبشل c99 بود!!).
بخاطر این کانفیگ غلط، نمیتونم پرمیشن ها رو روش تست کنم و مطمئن باشم کدام کار میکنن.

بهرحال و با این فرض که روش اجرا FastCGI باشه، مهمترین نکات احتمالی بنظرم اینهاست:
- به غیر از Owner و Group هیچ پرمیشنی داده نشه.
- فایلهای PHP پرمیشن Write نداشته باشن (چون این فایلها فقط قراره خونده بشن و نه اینکه نوشته بشن).

پرمیشن اجرا: 1
پرمیشن نوشتن: 2
پرمیشن خواندن: 4

پرمیشن از جمع این اعداد حاصل میشه.
بنابراین 6 یعنی مجوز خواندن و نوشتن.
5 یعنی خواندن و اجرا.
7 یعنی خواندن و نوشتن و اجرا.

دو نکتهء جالب اینکه 1) ما درمورد فایلهای PHP نیازی به پرمیشن اجرا نداریم، چون فایلهای PHP مستقیما توسط سیستم عامل اجرا نمیشن، بلکه توسط مفسر PHP خوانده و دستورات اونها اجرا میشه 2) پرمیشن اجرا درمورد دایرکتوریها به معنای مجوز لیست کردن محتویات اونهاست.

برای اطمینان و معرفی کردن پرمیشن های دقیق، باید یک هاست حرفه و امن پیدا کنم و کانفیگش رو بررسی کنیم. اونوقت میتونیم با اطمینان بالایی بگیم که پرمیشن های پیشفرض باید چی باشن.
آدم از خودش نمیتونه نظر قطعی در کنه، چون روی هاست فقط PHP مطرح نیست و شاید برنامه ها و سیستمهای دیگری هم هستن که نیاز دارن به جاها و فایلهای خاصی دسترسی خاصی رو داشته باشن تا سرور و سایت کامل و درست کار کنه. اینکه یک پرمیشن حداقلی بذارم و بعد سایت رو باز کنم و کار کنه دلیل نمیشه مطمئن باشیم که اون پرمیشن ها برای همیشه و همهء کارهایی که ممکنه روی سرور صورت بگیره کافی باشن؛ شاید یه برنامهء مدیریتی نیاز داشته باشه تحت کاربر دیگری در اکانت ما فعالیت کنه یا نیاز به پرمیشن های بیشتری داشته باشه. البته این فقط یک احتمال و حدس هست و شاید اینطور نباشه.