PDA

View Full Version : چه روشی برای حفاظت از بخشهای مهم کدهای به کار رفته در سایتها هست؟



pooyanm
شنبه 22 اردیبهشت 1386, 01:37 صبح
سلام به همه

در شرایطی که حساسیت در مورد بخشهایی از کد برنامه بسیار زیاده آیا روشی برای راه اندازی وب سایت به شکلی که هیچ کسی جز مالک اصلی سایت نتونه به باینری های سایت دسترسی داشته باشه وجود داره؟

Inprise
شنبه 22 اردیبهشت 1386, 02:33 صبح
آیا روشی برای راه اندازی وب سایت به شکلی که هیچ کسی جز مالک اصلی سایت نتونه به باینری های سایت دسترسی داشته باشه وجود داره؟

اگر منظورت دسترسی به فایلهاست که طبیعتا هر کسی دسترسی مدیریتی به سرور داشته باشه به تمام فایلهای یک هاست دسترسی داره . اگر مسئله این هست که یک سرور اختصاصی اولین انتخابه .

اگر منظور سوال ، محتویات کدها بود :

سایتهائی که نرم افزارشون با یکی از زبانهائی Scripting مانند PHP نوشته شده عموما" دو تا راه حل دارن . اول : استفاده از اسکریپتهای پیچیده ای که اسکریپتهای اصلی رو رمزنگاری-رمزگشائی میکنن و کلید فرآیند به شکل خاصی در اختیار کلاینتها قرار میگیره تا سایر افرادی که به سرور دسترسی دارن نتونن "بسادگی" متن کد اصلی رو بخونن ، که البته روش خوبی نیست . دوم : استفاده از راه حلهائی که بصورت یک لایهء اضافی روی وب سرور نصب میشن و اسکریپتها رو رمزنگاری-رمزگشائی میکنن ، مثل Zend Guard (http://de.zend.com/products/zend_guard)


برای سایتهائی که از دات نت استفاده میکنن هم میشه از راه حلهای متداول حفاظت از کدهای دات نت استفاده کرد ، که باز هم در هر حال مثل مورد قبل ضمانت قابل توجهی ندارد .

معمولا بهترین راه برای حفاظت از کدهای حساس سمت وب نوشتن اونها بصورت کاملا باینری است ، یعنی استفاده از CGI-EXE یا ISAPI . در حالت اول کدی نوشته میشه که یک باینری مانند باینریهای اجرائی معمولی سیستم عامل است که صرفا خروجی اش به سمت وب هدایت میشه ، و دومی یک یا تعدادی DLL است که خروجی صفحات وب رو تولید میکنه . به عنوان مثال سایت eBay هنوز از ISAPI استفاده میکنه . طبیعی است که CGI-EXE ها و ISAPI ها ، مانند فایل اجرائی و DLL های معمولی ، میتونن مورد حمایت قرار بگیرن ( از طریق کدنویسی یا استفاده از Protector های متداول و ...)

pooyanm
شنبه 22 اردیبهشت 1386, 23:07 عصر
با سلام و سپاس از شما


من نیاز دارم همه روشهای امنیتی دردسترس را یکجا لحاظ کنم برپایه نوشته های شما دو گام مهم برای فراهم کردن حداکثر حفاظت از کد پیش رو دارم. من روش پیچیده کردن کد را برای بدترین شرایط لحاظ می کنم یعنی زمانی که فایل کدهای باینری به دست رقبا افتاده اند اما در شرایط معمولی من نیاز دارم که جز خودم هیچ دسترسی به چند فایل باینری ویژه که پاسووردها و الگوریتم های خاص توی اونهاست ممکن نباشه. در این حالت سرور اختصاصی تا چه اندازه مطمئنه؟

pooyanm
چهارشنبه 26 اردیبهشت 1386, 11:30 صبح
خوب سرور اختصاصی هم در دسترس مدیران خارجیه!

Inprise
چهارشنبه 26 اردیبهشت 1386, 12:38 عصر
قاعدتا اگر چیزی اینقدر اهمیت داشته باشه ، هزینه کردن براش هم اهمیت داره . میتونی سرورت رو به کمک یکی از سرویسهای co-location داخلی به اینترنت وصل کنی که هزینه سخت افزار و اتصال اینترنتت رو باید خودت بدی ، یا فقط کدهای مهمت رو روی یک سرور داخلی که در اختیار خودت هست قرار بده و در قالب چیزی مثل وب سرویس از اونها استفاده کن . هزینه یک سرور اختصاصی که مستقیما به لینکهای اینترنت داخل کشور متصل باشه چندان زیاد نیست .