لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 45
امنیت در شبکه ها
معماری
همانند بسیاری از حوزه هایی که تاکنون مورد مطالعه قرار داده ایم. طرح ریزی می تواند قدرتمندترین کنترل باشد. خصوصاً هنگامیکه سیستم های مبتنی بر کامپیوتر را ایجاد کرده و یا تغییر می دهیم، می توانیم معماری کلی آنها را مورد بررسی قرارداده و امنیت” توکار“ را بعنوان یکی از سازه های کلیدی، طرح ریزی نماییم. به همین ترتیب، معماری یا طراحی یک شبکه نیز میتواند تاثیر قابل ملاحظه ای بر روی امنیت آن داشته باشد.
تقسیم بندی
تقسیم بندی (Segmentation) همانطور که در سیستم های عامل یک کنترل امنیتی قدرتمند بود، می تواند از دو طریق احتمال آسیب در یک شبکه را محدود نماید : تقسیم بندی باعث کاهش تعداد تهدیدها شده و میزان خسارتی که از طریق یک آسیب پذیری واحد امکانپذیر است را محدود می سازد.
فرض کنید که شبکه شما، تجارت الکترونیک را برای کاربران اینترنت اجرا می نماید. بخشهای بنیادی شبکه شما می توانند عبارت باشند از:
- یک سرور وب، برای اداره نشست های (Sessions) HTTP کاربران.
- کد نرم افزار کاربردی، برای قرار دادن کالاها و سرویس های شما در معرض خرید.
- یک بانک اطلاعاتی از کالاها و احتمالاً یک فهرست ضمیمه موجودی کالا برای شمارش اقلامی که در دسترس هستند و آنهایی که بایستی از تامین کنندگان درخواست شوند.
- یک بانک اطلاعاتی از سفارش های دریافت شده.
اگر قرار است تمام این فعالیت ها بر روی یک ماشین انجام شوند، شبکه شما دچار مشکل میشود : هر گونه نقصان و یا خطایی در این ماشین می تواند تمام قابلیت های تجاری شما را به نابودی بکشاند.
همانطور که در شکل (1) نمایش داده شده است، یک طراحی امن تر از بخش های متعددی استفاده می کند. فرض کنید یکی از بخش های سخت افزاری، یک سیستم سرور وب است که برای دسترسی عمومی در معرض دید قرار گرفته است ( کاربران می توانند بصورت الکترونیکی به آن دسترسی داشته باشند). برای کاهش خطر حمله ازخارج سیستم، این سیستم نبایستی وظایف حساستر دیگری نظیر تعیین اعتبار کاربران و یا دسترسی به مخزن داده های حساس را برعهده داشته باشد.تفکیک سرورها وبخش های جداگانه(مطابق با اصول حداقل اولویت وEncapsulation) احتمال آسیبی که هر سیستم فرعی در معرض آن قرار می گیرد را کاهش می دهد.
تفکیک دسترسی نیز یکی دیگر از راه های تقسیم بندی شبکه است. برای مثال، فرض کنید که یک شبکه برای استفاده جهت سه منظور درنظر گرفته شده است : استفاده از سیستم تولید “live” ، آزمایش نسخه بعدی تولید و توسعه سیستم های ثانویه. اگر شبکه به خوبی تقسیم بندی شده باشد، کاربران خارجی تنها می توانند به سیستم “live” دسترسی داشته باشند. آزمایش کنندگان تنها باید به سیستم آزمایش دسترسی پیدا کنند و برنامه نویسان نیز تنها به سیستم توسعه دسترسی خواهند داشت. تقسیم بندی به این سه گروه اجازه می دهد که بدون ریسک با یکدیگر همزیستی داشته باشند. برای نمونه یک برنامه نویس سهواً باعث تغییر در سیستم تولید نخواهد شد .
افزونگی (Redundancy )
” افزونگی“ یکی دیگر از کنترل های کلیدی در معماری است : ایجاد امکان برای یک تابع بصورتی که بر روی بیش از یک گره اجرا شود تا از گذشتن تمام تخم مرغ ها در یک سبد اجتناب شود. برای مثال، طراحی شکل (1) تنها دارای یک سرور وب است. کافی است این سرور وب را از دست بدهید تا تمام ارتباط از دست برود . یک طراحی بهتر دارای دو سرور وب خواهد بود که از چیزی به نام “Mode Failover” استفاده می کنند. در حالت Failover ، سرورها بطور متناوب با یکدیگر ارتباط برقرار کرده و هر یک از آنها تشخیص می دهد که دیگری هنوز در حال فعالیت است. اگر یکی از آنها تشخیص می دهد که دیگری هنوز در حال فعالیت است. اگر یکی از آنها از کار بیفتد، دیگری مسئولیت پردازشی هر دو را بر عهده می گیرد. با وجود آنکه در هنگام بروز یک خسارت، عملکرد تا حدود نصف کاهش می یابد، اما برخی از کارها همچنان انجام می شوند.
رمزگشایی نیز درست هنگام رسیدن ارتباط و ورود آن به کامپیوتر گیرنده، روی می دهد. مدلی از رمزگذاری لینک در شکل (2) نمایش داده شده است.
شکل(2)رمزگذاری لینک
رمزگذاری از پیغام در حال انتقال مابین دو کامپیوتر محافظت می کند. اما پیام در داخل کامپیوترهای میزبان بصورت متن عادی (Plaintext) نگهداری می شود. توجه داشته باشید از آنجائیکه روزگذاری در لایه های پروتکل تحتانی اضافه شده است، پیام برای تمام لایه های دیگر میزبان های فرستنده و گیرنده، آشکار است. اگر از امنیت فیزیکی خوبی برخوردار باشیم، نباید نگرانی زیادی در مورد این آشکاری داشته باشیم. برای مثال، این آشکاری بر روی کامپیوترهای فرستنده یا گیرنده ای روی می دهد که توسط آژیر و یا دربهای قفل شده، محافظت می شوند. با اینحال باید توجه داشته باشید که پیام در دو لایه از تمام میزبان های میانجی که پیام از آنها عبور نموده است، آشکار می شود. پیام در داخل میزبان های میانجی آشکار می شود و این امکان وجود دارد که یکی از این میزبانهای میانجی قابل اعتماد نباشد.
رمزگذاری لینک از دید کاربر پنهان است. رمزگذاری به یک سرویس انتقال تبدیل می شود که توسط یک لایه پروتکل سطح پائین از شبکه انجام می پذیرد. درست همانند هدایت پیام و یا تشخیص خطای انتقال.
رمزگذاری لینک خصوصاً هنگامی مناسب است که خط انتقال دارای بیشترین آسیب پذیری باشد. اگر تمامی میزبانهای موجود بر روی یک شبکه دارای امنیت قابل قبولی باشد، اما رسانه ارتباطی با سایر کاربران به اشتراک گذاشته شده و یا امن نباشد، می توان از رمزگذاری لینک به عنوان یک کنترل آسان استفاده نمود.
End-toEnd Encryption
رمزگذاری end-to-end همانطور که نام آن نشان می دهد، امنیت را از یک انتهای انتقال تا انتهای دیگر آن فراهم می کند. رمزگذاری با استفاده از یک ابزار سخت افزاری مابین کاربر و میزبان، قابل اعمال است. همچنین می توان رمزگذاری را از طریق نرم افزاری که بر روی کامپیوتر میزبان اجرا می شود، انجام داد. در هر حالت، رمز گذاری در بالاترین سطوح ( لایه 7، Application و یا شاید در لایه 6 یعنی Presentation ) مدل OSI انجام می پذیرد.
از آنجائیکه رمزگذاری بر تمام پردازش های هدایتی و انتقالی لایه تقدم دارد، پیغام در سرتاسر شبکه با یک قالب رمزگذاری شده منتقل می شود. رمزگذاری، رخنه های احتمالی در لایه های پایین تر مدل انتقال را برطرف می نماید. اگر یک لایه پایین تر قادر به حفظ امنیت نبوده و داده های دریافت شده را فاش نماید، قابلیت اعتماد داده ها به خطر نمی افتد. شکل 3 یک پیغام نمونه را با رمزگذاری end-to-end نمایش میدهد که در آن قسمتهای رمزگذاری شده خاکستری هستند.
نقاط واحد خرابی
بطور ایده آل، معماری بایستی موجب مصونیت شبکه در برابر خرابیها گردد . درواقع، معماری حداقل باید اطمینان پیدا کند که سیستم به شیوه قابل قبولی خرابی ها را تحمل خواهد نمود ( برای مثال کاهش سرعت بدون متوقف نمودن پردازش، یا بازیابی و شروع مجدد تعاملات ناتمام). یکی از راه های ارزیابی تحمل خطا توسط معماری شبکه، جستجوی نقاط واحد خرابی است . به عبارت دیگر، ما باید بررسی کنیم که آیا یک نقطه واحد در شبکه وجود دارد که در صورت خرابی ( از کار افتاد ) آن، امکان قطع دسترسی به تمام یا بخش قابل ملاحظه از شبکه وجود داشته باشد. پس برای مثال، یک بانک اطلاعاتی دریک محل نسبت به تمام خساراتی که می تواند بر آن محل تاثیر بگذارد، آسیب پذیر است. یک طراحی شبکه مناسب، نقاط واحد خرابی را برطرف می سازد. توزیع بانک اطلاعاتی (قرار دادن کپی هایی از آن بر روی بخش های مختلف شبکه، احتمالاً حتی در مکان های فیزیکی متفاوت) می تواند باعث کاهش خطر آسیب های جدی از خرابی یک نقطه واحد گردد. غالباً سربار قابل توجهی در پیاده سازی چنین طراحی وجود دارد. برای مثال، بانک های اطلاعاتی مستقل بایستی با یکدیگر هماهنگ شوند. اما معمولا سروکار داشتن با ویژگی های تحمل خطا از مواجه شدن با آسیب های ایجاد شده بخاطر خرابی در یک لینک واحد، آسانتر است .
معماری، نقش مهمی را درپیاده سازی بسیاری از کنترل های دیگر بازی می کند. ما ویژگی های معماری را همزمان با معرفی سایر کنترل ها در ادامه مقاله، مورد بحث قرار خواهیم داد .
رمزگذاری(Encryption )
” رمزگذاری“ احتمالاً مهمترین و فراگیرترین ابزار برای یک متخصص امنیت شبکه است . همانطور که در قسمتهای قبل دیدیم، رمزگذاری در تامین حریم، اعتبار، سلامت و دسترسی محدود شده به داده بسیار قدرتمند است. از آنجائیکه شبکه ها با ریسک های بزرگتری سروکار دارند، غالباً امنیت داده ها را از طریق رمزگذاری تامین می کنند، احتمالاً در ترکیب با سایر کنترل ها.
درکاربردهای شبکه، رمزگذاری می تواند مابین دو میزبان(رمزگذاری لینک) ومابین دو نرم افزار کاربردی (رمزگذاریend-to-end) اعمال شود. ما درادامه به بررسی هردو مورد خواهیم پرداخت. در هر دو شکل رمزگذاری، توزیع کلید همیشه مشکل سازاست. کلیدهای رمزگذاری بایستی در یک وضعیت امن به فرستنده و گیرنده تحویل داده شوند. در این بخش ما به بررسی تکنیک های امن توزیع کلید در شبکه ها نیز خواهیم پرداخت.
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
دانلود تحقیق کامل درمورد امنیت در شبکه ها