امنیت در پایگاههای داده ای3 - وبسایت دکتر امیر مرتضی سعیدی

امنیت در پایگاههای داده ای3

یکشنبه 91/7/16
12:14 عصر
amirsaeedi

امنیت در پایگاههای داده ای 3

امنیت سرور

 

اما در داخل خود شبکه ، مابیت LAN داخلی و DMZ از فایروال دومی استفاده میشود. این فایروال دوم در حالت ایده آل تمامی ترافیک ورودی را سد میکند بجز ترافیک ورودی از وب سرور به پایگاه داده. با این تمهید خاص هم پچایگاه داده خدمات عمومی خود را ارائه میدهد و هم دستیابی عموم را به آن سد کرده ایم. درین صورت یک نفوذ گر حتی پس ازینکه کنترل کامل سرور وب را در اختیار گرفت ناچار است از قواعد سختگیرانه فایروال دوم نیز عبور کند و تازه پس ازان باید بتواند به سرور پایگاه داده نیز نفوذ کند که انجام این هر دو کار بسیار دشوار میباشد و ریسک چنین شبکه ای عملا پایین می باشد.

اما شاید در مقابل روش ما استدلالی اینچنین ارائه شود: میتوان تنها با استفاده از یک فایروال امنیت را تامین کرد. روش آنهم اینست که برای سرورهای پایگاه داده از IP مجازی استفاده کنیم. در واقع این سرورها پشت یک NAT قرار داشته باشند. درین صورت نفوذگر اساسا از وجود پایگاه داده خبر ندارد تا بخواهد به آن نفوذ کند. این استدلال یک ابراد عمده دارد و آنهم اینست که اگر نفوذ گر بتواند کنترل سرور وب را در اختیار بگیرد عملا در همان شبکه ای قرار گرفته است که سرور پایگاه داده دران قرار دارد و دارای همان رنج IP میشود. بنابراین پس ازینکار در واقع تمهید قبلی ما بلااثر میشود و نفوذ گر میتواند بسادگی مانند یک کاربر داخلی شبکه ما عمل کند.

حال که استدلالات فوق را پذیرفته ایم میتوانیم کمی ایده آل تر باشیم و شبکه را ایمن تر کنیم. فرض کنید که یک نفوذگر بتواند از لایه اول امنیتی شما عبور کرده وارد DMZ شود. اگر این نفوذ به دلیل نقص قواعد امنیتی فایروال شماره یک باشد احتمال نفوذ همین شخص به لایه دوم بسیار پایین است. اما اگر این نفوذ به دلیل وجود شکاف امنیتی خاصی بر روی فایروال باشد چطور؟ فرض کنید به عنوان مثال هردو فایروال شما Check Point است. آنوقت نفوذگر بهمان سادگی که از لایه اول عبور کرده از لایه دوم امنیتی شما نیز خواهد گذشت چون هر دو فایروال ما از یک نوع است و طبیعتا شکاف امنیتی هردو یکسان است. بنابراین میتوان پیشنهاد داد که فرضا اگر فایروال لاه اول شما Check Point است در لایه دوم بهتر است از PIX استفاده کنید. این مطلب باعث امنیت بالاتر شبکه شما خواهد شد.

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

راه حل دیگری که میتوان برای جداسازی بخش امن شبکه ارائه داد استفاده از بیش از یک کارت شبکه در فایروال است (شکل 2)

شکل 2: استفاده از دو کارت شبکه برای جداسازی DMZ

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

علاوه بر دو راهی که در فوق برای جداسازی پایگاه داده از مابقی شبکه ارائه دادیم راه حل سومی هم وجود دارد: اینکه اساسا پایگاه داده را از مابقی شبکه جدانکنیم! دقت کنید که با توجه به هزینه و نیز اندازه سازمان ممکن است جداسازی امکان پذیر نباشد و حتی مجبور شویم که این دو سرور را برروی یک ماشین اجرا کنیم. حتی درین صورت نیز بهتر است حداقل کارهایی که جهت ایمنی مضاعف پایگاه داده از دستمان بر می آید انجام دهیم. بعنوان مثال میتوانیم از یک فایروال نرم افزاری ارزان قیمت جهت ایمنی بیشتر استفاده کنیم. بهر حال این راه حل توصیه نمیشود مگر در شرایط اجبار.

ج. رمز نگاری اطلاعات مابین سرور وب و سرور پایگاه داده

برای جلوگیری از سرقت اطلاعات در بین راه(Sniffing) عموما از روشهای رمز نگاری استفاده میشود. متداول ترین روش تحت وب برای انجام این منظور استفاده از پروتکل SSL است. عموم اطلاعات امن که بر روی اینترنت منتقل میشوند از همین پروتکل استفاده میکنند . بعنوان مثال انتقال اطلاعات شناسایی با سرورهای معروف ایمیل، انتقال اطلاعات مربوط به کارت اعتباری و غیره.

تا بدینجا این پروتکل که اغلب سرورهای وب و نیز مرورگرها ازان پشتیبانی میکنند سطحی از امنیت را تامین میکند. اما آیا همین کافی ست؟

اغلب این اشتباه پیش می آید که همین سطح از رمز نگاری را در مقابل حمله Sniffing کافی میدانند. باید دقت کرد که SSL به صورت عام تنها برای رمزنگاری اطلاعات مابین Client و سرور وب به کار میرود و به صورت عادی اطلاعات مابین وب سرور و سرور پایگاه داده به صورت عادی و بدون رمزنگاری (Plain Text) منتقل میشوند. بنابراین حتی اگر همه جوانب را در شبکه بیرونی رعایت کرده باشیم، یک نفوذگر داخلی به سادگی میتواند اطلاعات در حال انتقال مابین این دو سرور را شنود کند. این مطلب زمانی بسیار جدی میشود که بدانیم بر اساس داده های موجود، بالاتر از 60? حملات موجود حملات درون سازمانی می باشد.

چاره کار استفاده از یک روش رمز نگاری مابین سرور وب و سرور پایگاه داده است. اغلب سرور های پایگاه داده امروزه از SSL حمایت میکنند. MS SQL Server2000 ، Oracle،Sybase ازین جمله اند. البته استفاده از SSL برای ارتباط مابین این دو سرور لازمه اش اینست که برنامه اصلی شما (Web Application) با همین ملاحظه طراحی و پیاده سازی شده باشد.

اما در صورتی که برنامه شما از قبل موجود باشد یا از SSL پشتیبانی نکند یا به هر صورت شما مایل به ایجاد هزینه اضافی نباشید چه؟ آیا راه حل دیگری برای رمزنگاری مابین دو سرور وجود دارد؟ خوشبختانه چنین راه حلی وجود دارد: استفاده از SSH یا یک برنامه مشابه.

اصولا SSH برنامه ای شبیه Telnet است اما نسخه امن آن. یکی از قابلیتهای SSH ایجاد یک تونل امن است. به این صورت که میتوان برنامه SSH را به گونه ای اجرا کرد که بر روی یک پورت شنود کند کل اطلاعات آن را رمز کرده به کامپیوتر مقصد ارسال کند و آنجا پس از تبدیل به حالت عادی به پورت مقصد تحویل دهد. با استفاده از این روش (SSH Port Forwarding) یک تونل امن به صورت شفاف مابین دو سرور ایجاد شده است(شکل 3).

شکل 3: استفاده از SSH برای برقراری تونل امن

 

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

د. عدم استفاده از Hub و بهره گیری از Switch

به صورت عادی زمانی که از Hub استفاده میکنیم تمامی اطلاعات عبوری در هریک از سیستمهای موجود در شبکه داخلی قابل شنود است. یک نفوذ گر معمولی با استفاده از یکی از ابزارهای Sniffing میتواند اینترفیس شبکه با به حالت Promiscuous برده ، تمامی اطلاعات در حال جابجایی بر روی LAN را دریافت کند. البته استفاده از رمز نگاری خطر بالقوه بهره گیری ازین روش را کم میکند اما هیچگاه نمیتوان مطمئن بود که کل اطلاعات رمز نگاری شده است. بنابراین بهتر است حتی المقدور امکان بهره گیری از Sniffing را بر روی شبکه کاهش دهیم. استفاده از سوپیچها به جای هاب یکی از روشهای حل این مساله است. با استفاده از سوئیچ در واقع یک مدار مجازی (Virtual Circuit) مابین دو نود در حال مکالمه ایجاد میشود و دیگران به اطلاعات در حال انتقال مابین آن دو دسترسی ندارند.


2-6. ارائه امن اطلاعات

از دید کلی امنیت اطلاعات برای ارائه خدمات اطلاع رسانی بر روی وب به صورت عمده دو راه وجود دارد:

  • تولید اطلاعات به صورت استاتیک
  • تولید اطلاعات به صورت دینامیک

 

1-2-6. تولید اطلاعات به صورت استاتیک و مسائل امنیتی آن

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

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

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

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

2-2-6. تولید اطلاعات به صورت دینامیک

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

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

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

?

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

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

·        تمامی اطلاعات در بین راه قابل شنود هستند.

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

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



طراح صفحات وب - برنامه نویس تحت سی پلاس پلاس و دلفی و ویبی - طراح نرم افزار های تبلیغاتی - تدریس خصوصی - ارائه پروپوزال و پایان نامه - ارائه مقالات علمی (برای ارتباط نظر بگذارین)
تمامی حقوق این وب سایت متعلق به وبسایت دکتر امیر مرتضی سعیدی است. || طراح قالب avazak.ir