Parsi Coders
تولید اطلاعات به صورت استاتیک و مسائل امنیتی آن - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Security and influence (http://parsicoders.com/forumdisplay.php?fid=59)
+--- انجمن: Security (http://parsicoders.com/forumdisplay.php?fid=60)
+--- موضوع: تولید اطلاعات به صورت استاتیک و مسائل امنیتی آن (/showthread.php?tid=167)



تولید اطلاعات به صورت استاتیک و مسائل امنیتی آن - amir - 05-03-2011

معمولترین نوع دسترسی به اطلاعات در اینترنت استفاده از صفحات HTML است. هنوز هم بسیاری از متخصصین، این روش در دسترس گذاری اطلاعات (Web Publishing) را به روشهای دیگر ترجیح میدهند. البته دلایل اصلی آنها بیشتر مربوط به سادگی و قابلیت انعطاف این روش است.

درین روش اطلاعات یک بار تولید میشود. تولید اطلاعات (صفحات HTML) میتواند به صورت دستی یا به صورت اتوماتیک توسط برنامه های معمولی Client-Server انجام شود. پس از انجام این فاز کلیه اطلاعات بر روی سایت و سرور اصلی قرار میگیرد (Upload).

امنیت این روش به سادگی تامین میشود. کافیست که اشخاص نام فایلهای HTML را ندانند، درین صورت هرگز به آنها دسترسی نخواهند داشت. اینکار با استفاده از مکانیزم ساده ای صورت میگیرد. عموم وب سرورها برای دایرکتوریهای مختلف حق دسترسی تعریف میکنند که یکی ازین حقوق دسترسی حق مشاهده محتویات یک دایرکتوری است. در صورتی که کاربری این حق را نداشته باشد از اسامی فایلها بی خبر خواهد بود و در نتیجه قادر به مشاهده آنها نیست.

استفاده ازین روش مزایا و معایب خاص خود را دارد. مزیت آن امنیت بالاست. در واقع درینجا هیچ ارتباز اکیتیوی با سرور پایگاه داده وجود ندارد. اطلاعات به صورت برون خط (Offline) بر روی سرور وب بارگذاری میشوند و پس ازان هیچ ارتباطی مابین کاربر عادی و چپایگاه داده وجود نخواهد داشت. بدین ترتیب خطر حملات به پایگاه داده کاهش چشمگیری می یابد. اما از دیگر سو مدیریت حجم انبوه اطلاعات با استفاده ازین روش بسیار دشوار میباشد . ضمن اینکه قابلیت انعطاف روش نیز بسیار محدود است. در واقع زمانی که ازین روش استفاده میکنیم هدف اصلی خدمت رسانی و سهولت استفاده را قربانی امنیت کرده ایم.
۲-۲-۶. تولید اطلاعات به صورت دینامیک

این روش متداول ترین شیوه ایست که امروزه جهت ارائه خدمات بر بستر وب مورد استفاده قرار میگیرد. درین روش صفحات موجود بر روی سرور وب عملا دارای هیچ اطلاعاتی نمیباشند یا دارای حداقل اطلاعات هستند. تمامی اطلاعات در پایگاه داده است. به محض دریافت هر تقاضایی توسط سرور وب ، صفحات مورد درخواست او به صورت دینامیک از طریق جستجوی (Query) مناسب در پایگاه داده تولید میشود.

برای پیاده سازی این روش طیف وسیعی از تکنولوژیها وجود دارد. ASP،JSP،PHP،CGI،ISAPI… و چندین روش دیگری که عموما حول همین تولید دینامیک اطلاعات در محیط وب طراحی شده اند. امنیت هریک ازین زبانها و روشها خود موضوع بحث مفصل و جداگانه ایست اما از دید بحث حاضر چند نکته مهم را باید مد نظر داشت:

تا کنون شکافهای جدی امنیتی در مورد هر یک ازین روشها شناخته شده۴ نیست و با وجود حل اغلب آن ها هنوز هم هیچکدام آنها امنیت بالای را به تنهایی تضمین نمیکنند.
با وجود نکته بالا، چون هدف اصلی ارائه خدمت یا سرویس است در بسیاری موارد چاره ای بجز استفاده از یکی ازین روشها نداریم.
هنگام انتخاب هریک ازین روشها باید ملاحظات امنیتی مربوط به ابزارهای مدیریت و توسعه را نیز لحاظ کنیم.

طی بخش گذشته عموما توجه ما معطوف به این مطلب بود که چگونه جلوی دستیابی افراد غیر مجاز به سیستم و اطلاعات گرفته شود. اما هیچ گاه به این مطلب اشاره نکردیم که مجاز یا غیر مجاز بودن افراد را چگونه تشخیص میدهیم. در واقع روش شناسایی افراد در یک سیستم امن چگونه میتواند باشد.

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

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

در واقع این روش تنها تضمین کننده حداقل غیر قابل قبولی از امنیت در تصدیق اعتبار افراد است. بنابراین باید به دنبال روشهای جایگزینی بود که معایب فوق را نداشته باشند.