PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چنتا سوال در مورد امنیت سرور !



mhk67
August 7th, 2013, 13:25
سلام
جظور می تونم متوجه بشم که پوشه /tmp در سرور واقعا امنه یا نه چون تو Check Server Security در فایروال csf ارور داده که اینه :

/tmp should be mounted as a separate filesystem with the noexec,nosuid options set


و سوال بعدی هم اینه که ini_set رو باید جزو disable_function بزارم و اگر نباشه می تونن امنیت سرور رو دور بزنن مثلا تابعی که از طریق disable_function بسته شده رو دوباره باز کنن ؟

و سوال بعدی هم اینه که service hidd برای چچیه که هرکاریش می کنم استاپ نمیشه و csf هم ارور بابتش میده

وآخرین سوال هم اینه که ورژن مای اسکیوال سرور v5.0.67 هست و csf گفته آپدیتش کنم حالا سوال اینه که چقدر تفاوت داره با ورژن فعلی که همراه خود دایرکت ادمین نصب شده و اگر باید آپدیت کنم روش آپدیت اون که با دایرکت ادمین نصب شده چیه ؟

ممنون

Online24
August 7th, 2013, 15:19
جهت جلوگیری از امکان اجرای برنامه در مسیر tmp/ می بایست این پارتیشن را به صورت noexec,nosuid تنظیم و mount نمایید . (آموزش تنظیمات CSF (http://www.webhostingtalk.ir/f87/18152/#post177061) )

جهت اطمینان و بررسی این موضوع دستور :


mount

را بر روی سرور خود اجرا نموده و خروجی دستور را ارسال نمایید .


- بله در سرویس های اشتراکی می بایست ini_set را جهت جلوگیری از امکان انجام تغییر در تنظیمات php توسط کاربر و دور زدن محدودیت های اعمال شده در آن غیرفعال نمایید .

hidd مربوط به سرویس bluethooth بوده و طبیعتا بر روی سرور شما کاربردی ندارد و توصیه میشود تمامی سرویس های غیر ضروری را بر روی سرور خود غیرفعال نمایید . پیام خطا و یا وضعیت مشاهده شده پس از اقدام به غیرفعال نمودن این سرویس را اعلام نمایید .


service hidd stop

chkconfig hidd off


در صورت تمایل میتوانید نسخه mysql خود را به 5.1 و یا 5.5 ارتقا دهید : (در رابطه با نسخه سازگار mysql با برنامه وب سایت خود و یا مشتریان تحقیق نمایید )



cd /usr/local/directadmin/custombuild
./build set mysql 5.x
./build set mysql_inst yes
./build set mysql_backup yes
./build update
./build mysql
./build php n

mhk67
August 7th, 2013, 15:40
جهت جلوگیری از امکان اجرای برنامه در مسیر tmp/ می بایست این پارتیشن را به صورت noexec,nosuid تنظیم و mount نمایید . (آموزش تنظیمات CSF (http://www.webhostingtalk.ir/f87/18152/#post177061) )

جهت اطمینان و بررسی این موضوع دستور :


mount

را بر روی سرور خود اجرا نموده و خروجی دستور را ارسال نمایید .





[root@mail s]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw,usrquota,grpquota)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /dev/shm type tmpfs (rw,noexec,nosuid)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)






service hidd stop

chkconfig hidd off



انجام شد و اعمال هم شد البته دیروز که همین دستور رو میزدم ارور میداد اما خدارو شکر الان انجام شد و تو csf هم ارور نمیده

mhk67
August 7th, 2013, 15:49
جهت جلوگیری از امکان اجرای برنامه در مسیر tmp/ می بایست این پارتیشن را به صورت ...

منظورتون از اجرای برنامه در این آدرس چیه میشه بیشتر توضیح بدید ؟مثلا یک اسکریپت php رو بفرستن رو این آدرس ؟
یک سوال دیگه تو این پوشه معمولا سیشن ها دخیره میشه آیا مدیر هاست الف میتونه سیشن های سایت ب رو بگیره و بخونه؟

یک سوال دیگه هم این که اگر ini_set رو ببندیم برای دور زدن disable_function آیا نمی تونن از فایل های php.ini در کتار اسکریپت شون استفاده کنن و باز disable_function رو دور بزنن؟

mhk67
August 7th, 2013, 16:21
http://www.webhostingtalk.ir/f87/18152/#post177061
تو این لینک توضیح داده بودید چطور ادیت بشه و بعد مونت کنم انجام دادم و بعدش مونت گرفتم که خروجی زیر رو داد



[root@mail ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw,usrquota,grpquota)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw,noexec,nosuid)
none on /dev/shm type tmpfs (rw,noexec,nosuid)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

Online24
August 7th, 2013, 16:51
tmp/ مسیر نگهداری فایل های موقتی سیستم عامل و برنامه های آن می باشد ، این مسیر دارای حق دسترسی کامل برای تمامی گروه های کاربری سیستم عامل بوده و اجازه ذخیره سازی فایل های موقتی را به تمامی کاربران میدهد .

همچنین ایجاد فایل در این مسیر به سادگی و توسط تمامی کاربران امکان پذیر است .

به عنوان مثال شخص نفوذگر پس از استفاده از آسیب پذیری برنامه تحت وب یک کاربر ، موفق به آپلود قطعه کد مخربی جهت افزایش سطح دسترسی ، مشاهده لیست محتویات و امکان اجرای دستوراتی شده است . با فرض اینکه برنامه کاربر تحت نام کاربری پیش فرض وب سرور apache اجرا شده باشد ، این شخص حق مشاهده لیست و محتویات فایل ها را به آسانی در اختیار داشته ولی حق ایجاد فایل جدید و قرار دادن محتوا و یا تغییر آن را در آن فایل را در تمامی مسیر هایی که حق دسترسی آنها به درستی تنظیم و رعایت شده است را نخواهد داشت .
با توجه به این موضوع ، اولین انتخاب این فرد جهت ایجاد فایل ، مسیر tmp/ می باشد . این فرد امکان ایجاد فایل در این شاخه را به صورت پیش فرض و با توجه به ماهیت سیستم عامل دارا بوده و ایجاد فایل او بدون مشکل انجام میشود .
این عمل زمانی مشکل ساز خواهد شد که فرد نفوذگر کد های اجرایی (به انواع زبان های برنامه نویسی) خود را در قالب فایلی در این مسیر ذخیره نماید . در صورتی که شاخه tmp شما executable بوده و امکان اجرای برنامه تحت آن وجود داشته باشد ، برنامه و فایل ایجاد شده قابل فراخوانی و اجرا خواهد بود . اجرای این برنامه ها با توجه به سطح و نوع آسیب پذیری سرور شما ممکن است باعث بروز خسارت و یا در شرایطی موجب ارتقا سطح دسترسی فرد نفوذگر تا سطح کاربر root شده و سرور را کاملا و بدون محدودیت در اختیار فرد نفوذگر قرار خواهد داد.

در مورد session نیز بله ، امکان پذیر است . بنابراین توصیه میشود ایجاد session را به عنوان مثال با استفاده از قابلیت open_basedir محدود به home directory کاربر نموده و امکان ذخیره سازی session برنامه کاربران در مسیر tmp/ سرور را سلب نمایید .

در مورد سوال دیگر شما در رابطه با فایل php.ini در صورتی که policy مناسبی اتخاذ شود قابل bypass نخواهد بود . (طبیعتا امکان تغییر در تنظیمات php.ini محلی کاریران در رابطه با تنظیماتی مانند disable_functions را نمی بایست ارائه نمود ! استفاده صحیح از این قابلیت و انتخاب policy مناسب امنیت و افزایش کاربری سرور و قابلیت اعمال شخصی سازی تنظیمات php کاربر برای وی را همزمان به دنبال داشته و تماس های پشتیبانی شما را نیز کاهش خواهد داد )

بر روی سرور خود و در رابطه با تنظیمات php مواردی را به صورت غیر قابل تغییر و به صورت global اعمال کرده و امکان تغییر مواردی را به صورت local configuration برای کاربران خود فراهم نمایید.

لفظ bypass همانطور که از نام آن مشخص است تنها پس از اعمال تنظیمات و انتخاب policy ناصحیح رخ خواهد داد .

mhk67
August 7th, 2013, 17:52
ممنون از توضیحات دقیقتون

در مورد آدرس /tmp خیلی خوب و کامل توضیح داده بودید فقط من هنوز نمی دونم که آدرس /tmp سرور من امن هست یانه تو فایروال هم ارور میده که مشکل داره
و روش امن کردنش رو هم کامل متوجه نشدم

در مورد سیشن ها هم ممنون فقط راستش کانفیگ open_basedir رو متوجه نشدم خیلی هم سرچ کردم در موردش اما به چیز خوبی برسیدم ، ممنون میشم اگر بگید کلا کار open_basedir چیه و چظور میشه تنظیمش کرد تا سیشن ها امن تر باشند

چظور میشه مواردی رو بصورت GLOBAL اعمال کرد ؟ با دوباره کامپایل کردن PHP ؟ و منظورتون از انتخاب POLICY صحیح چیه میشه یک مثال بزنید
ممنون