|
نویسنده terminator
|
|
۰۵ آبان ۱۳۸۶ |
|
Firewall چيست؟ وقتي قرار باشد از يك ساختمان و وسايل داخل آن محافظت كنيم، اولين كاري كه انجام می دهيم، كنترل مبادي ورود و خروج ساختمان است. به بيان ديگر فقط به افراد منتخبي ، اجازه وارد شدن (و يا خارج شدن) از ساختمان را می دهيم. معيار انتخاب افراد براي كسي كه مامور كنترل ورود و خروج است بايستي در چارچوب يك خط مشي امنيتي، از قبل مشخص باشد.
در مورد شبكه*هاي كامپيوتري نيز بطور مشخص، همين روال را پيش می گيريم. يعني مرزهاي شبكه داخلي خود را كنترل مي*كنيم. منظور از مرز شبكه، لبه تماس شبكه داخلي با شبكه(هاي) خارجي نظير اينترنت، شبكه يكي از شعب سازمان و يا شبكه يك سازمان ديگر است.
براي كنترل اين مرزها از Firewall استفاده مي*شود
با پياده*سازي تكنيك*هاي Packet Filtering، بخشي از وظايف يك Firewall را می توان به Router(هاي) لب مرز واگذار كرد. ولي Routerها به تنهايي قادر به انجام كل وظايف يك Firewall نيستند و استفاده از Firewallها امري اجتناب ناپذير است. دليل ناكافي بودن Packet Filtering در Router لب مرز دو چيز است: يكي اينكه اصولا" تمامي تكنيك*هايي كه در Firewallها پياده سازي مي*شوند، در Router قابل اجرا نيست و گذشته از آن، اصل دفاع لايه به لايه (يا دفاع در عمق) ميگويد كه محافظت بايستي در بيش از يك لايه انجام شود. (مانند دژهاي قديمي كه با لايه*هاي مختلف (خندق، دروازه اصلي، دروازه*هاي فرعي، برجها و ...) از آنها محافظت مي*شد.
در شكل*هاي زير يك نمونه از پياده سازي Firewallها را مشاهده می كنيد.

----------------------------------------------------------------------------------------------------------

در شكل*هاي فوق، Router لب مرز، ترافيك را در سطح IP كنترل می كند. اين Router اولين لايه دفاعي شبكه محسوب مي*شود. همانطور كه مشاهده مي*شود در اين Router فقط به كاربراني از اينترنت اجازه عبور داده مي* شود كه متقاضي يكي از سرويس*هاي وب، پست الكترونيك و يا DNS باشند.
در هر شكل ناحيه وجود دارد موسوم به DMZ مخفف DeMilitarized Zone كه در اين ناحيه سرورهايي را قرار ميدهيم كه بايستي از اينترنت ديده شوند مانند Web Server، E-Mail Server و DNS Server. اگر بخواهيم DMZ را با يك مثال روشنتر توصيف كنيم، بايستي بگوييم كه DMZ مانند نمايشگاه و فروشگاه يك شركت است كه تقريبا" به همه اجازه داده مي*شود به داخل آن بيايند و از محصولات ما ديدن كنند، اصولا" نمايشگاه به همين منظور ايجاد شده، فلسفه وجودي Web Server اين است كه از اينترنت ديده شود.
ناحيه ديگري كه در شبكه*ها وجود دارد، ناحيه Private Network است. هيچ بسته*اي از طريق اينترنت اجازه ورود به ناحيه اختصاصي شبكه ما را ندارد مگر آنكه يكي از طرف يكي از كاربران داخلي درخواست شده باشد.
پس در ساده*ترين شكل، شبكه ما از سه ناحيه Public Network، DMZ و Private Network تشكيل شده و در مرز هر كدام از اين نواحي بايستي تمهيدات كنترلي اتخاذ كرده و عبور و مرور بسته*هاي اطلاعاتي را كنترل كنيم. در ادامه مقاله از اين سه بخش تحت عناوين Internat، DMZ و LAN نام خواهيم برد.
ممكن است علاوه بر سه ناحيه فوق، در ناحيه LAN، بخشي داشته باشيم كه از نظر حساسيت در سطح بالاتري نسبت به ساير LAN باشد. اين ناحيه، ناحيه*ايست كه سرورهاي حساس شبكه مانند سرور مالي و يا فايل سرور بخش تحقيق و توسعه قرارداد. براي اين ناحيه لازم است Firewall مجزايي پياده سازي شود. اين Firewall لايه*اي است كه به لايه*هاي امنيتي اضافه شده و دسترسي غير مجاز به اين ناحيه را مشكل*تر مي*كند:

به شكل زير توجه كنيد: (Routerها با R و Firewallها با F مشخص شده*اند)

همانطور كه ملاحظه مي*كنيد، R1 و R2 بعنوان Routerهاي لب مرز شبكه*ها را از اينترنت جدا كرده*اند. در كل مجموعه، يك DMZ داريم كه با F1 از بقيه مجموعه جدا شده است. F3 و F5 دو وظيفه بعهده دارند، يكي مرز بين اينترنت و LANهاي مربوط به خود را كنترل ميكنند، و ديگر اينكه ارتباط بين دو LAN را كنترل مي*كنند اين ارتباط ممكن است Lease Line، Wireless و يا يك زوج سيم مسي باشد. اين Firewalها با پشتيباني از سرويس VPN، ارتباط داخلي امني را بين دفترمركزي و شعبه برقرار ميكنند.
اما F2 و F4 نيز در شرايط مشابهي هستند، اين دو وظيفه جدا سازي منطقه حساس را از بقيه LAN بر عهده دارند و علاوه برآن F2 دو Subnet موجود در شبكه دفتر مركزي را نيز از هم جدا ميكند. جداسازي Subnetها از هم در راستاي محدود كردن حملات احتمالي است. اگر به نحوي يكي از Subnetها مورد حمله واقع شد، (مثلا" با Wormي كه از طريق e-mail و يا حتي از طريق ديسكت و CD وارد آن شده) اين آلودگي به همان Subnet محدود شده و ساير بخشهاي شبكه ايمن باقي بمانند.
نتيجه گيري:
ديديم كه برای تامين امنيت يك شبكه، Firewall اولين چيزی است كه بايستی پياده سازی شود. نكته حائز اهميت آنكه، نصب يك Firewall در شبكه به تنهايی امنيت آن شبكه را تامين نخواهد كرد، آنچه مهمتر است، تعريف قواعد كنترل (Rules) و اعمال تنظيمات اوليه و همچنين مهمتر از آن به روزرسانی قواعد برمبنای تكنيكهای نفوذ و حملات جديد است. بخش 2) دیواره آتشین (Fire wall) سیستمی است بین کاربران یک شبکه محلی و یک شبکه بیرونی (مثل اینترنت) که ضمن نظارت بر دسترسی ها، در تمام سطوح، ورود و خروج اطلاعات را تحت نظر دارد. بر خلاف تصور عموم کاربری این نرم افزارها صرفاً در جهت فیلترینگ سایت ها نیست. برای آشنایی بیشتر با نرم افزارهای دیواره های آتشین، آشنایی با طرز کار آنها شاید مفیدترین راه باشد. در وهله اول و به طور مختصر می توان گفت بسته های TCP/IP قبل و پس از ورود به شبکه وارد دیواره آتش می شوند و منتظر می مانند تا طبق معیارهای امنیتی خاصی پردازش شوند. حاصل این پردازش احتمال وقوع سه حالت است: ۱) اجازه عبور بسته صادر می شود. ۲) بسته حذف می شود. ۳) بسته حذف می شود و پیام مناسبی به مبدا ارسال بسته فرستاده می شود.
● ساختار و عملکرد
با این توضیح، دیواره آتش محلی است برای ایست بازرسی بسته های اطلاعاتی به گونه ای که بسته ها براساس تابعی از قواعد امنیتی و حفاظتی پردازش شده و برای آنها مجوز عبور یا عدم عبور صادر شود. همانطور که همه جا ایست بازرسی اعصاب خردکن و وقت گیر است دیواره آتش نیز می تواند به عنوان یک گلوگاه باعث بالا رفتن ترافیک، تاخیر، ازدحام و بن بست شود. از آنجا که معماری TCP/IP به صورت لایه لایه است (شامل ۴ لایه: فیزیکی، شبکه، انتقال و کاربردی) و هر بسته برای ارسال یا دریافت باید از هر ۴ لایه عبور کند بنابراین برای حفاظت باید فیلدهای مربوطه در هر لایه مورد بررسی قرار گیرند. بیشترین اهمیت در لایه های شبکه، انتقال و کاربرد است چون فیلد مربوط به لایه فیزیکی منحصر به فرد نیست و در طول مسیر عوض می شود. پس به یک دیواره آتش چند لایه نیاز داریم. سیاست امنیتی یک شبکه مجموعه ای از قواعد حفاظتی است که بنابر ماهیت شبکه در یکی از سه لایه دیواره آتش تعریف می شوند. کارهایی که در هر لایه از دیواره آتش انجام می شود عبارت است از: ۱) تعیین بسته های ممنوع (سیاه) و حذف آنها یا ارسال آنها به سیستم های مخصوص ردیابی (لایه اول دیواره آتش) ۲) بستن برخی از پورت ها متعلق به برخی سرویس ها مثلTelnet، FTP و... (لایه دوم دیواره آتش) ۳) تحلیل برآیند متن یک صفحه وب یا نامه الکترونیکی یا .... (لایه سوم دیواره آتش) ۱) در لایه اول فیلدهای سرآیند بسته IP مورد تحلیل قرار می گیرد: ▪ آدرس مبدأ: برخی از ماشین های داخل یا خارج شبکه حق ارسال بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود. ▪ آدرس مقصد: برخی از ماشین های داخل یا خارج شبکه حق دریافت بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود. IP آدرس های غیرمجاز و مجاز برای ارسال و دریافت توسط مدیر مشخص می شود. شماره شناسایی یک دیتا گرام تکه تکه شده: بسته هایی که تکه تکه شده اند یا متعلق به یک دیتا گرام خاص هستند حذف می شوند. ▪ زمان حیات بسته: بسته هایی که بیش از تعداد مشخصی مسیریاب را طی کرده اند حذف می شوند. بقیه فیلدها: براساس صلاحدید مدیر دیواره آتش قابل بررسی اند. بهترین خصوصیت لایه اول سادگی و سرعت آن است چرا که در این لایه بسته ها به صورت مستقل از هم بررسی می شوند و نیازی به بررسی لایه های قبلی و بعدی نیست. به همین دلیل امروزه مسیریاب هایی با قابلیت انجام وظایف لایه اول دیواره آتش عرضه شده اند که با دریافت بسته آنها را غربال کرده و به بسته های غیرمجاز اجازه عبور نمی دهند. با توجه به سرعت این لایه هر چه قوانین سختگیرانه تری برای عبور بسته ها از این لایه وضع شود بسته های مشکوک بیشتری حذف می شوند و حجم پردازش کمتری به لایه های بالاتر اعمال می شود. ۲) در لایه دوم فیلدهای سرآیند لایه انتقال بررسی می شوند: ▪ شماره پورت پروسه مبدأ و مقصد: با توجه به این مسئله که شماره پورت های استاندارد شناخته شده اند ممکن است مدیر دیواره آتش بخواهد مثلاً سرویس FTP فقط برای کاربران داخل شبکه وجود داشته باشد بنابراین دیواره آتش بسته های TCP با شماره پورت ۲۰ و ۲۱ که قصد ورود یا خروج از شبکه را داشته باشند حذف می کند و یا پورت ۲۳ که مخصوص Telnet است اغلب بسته است. یعنی بسته هایی که پورت مقصدشان ۲۳ است حذف می شوند. ▪ کدهای کنترلی: دیواره آتش با بررسی این کدها به ماهیت بسته پی می برد و سیاست های لازم برای حفاظت را اعمال می کند. مثلاً ممکن است دیواره آتش طوری تنظیم شده باشد که بسته های ورودی با SYN=۱ را حذف کند. بنابراین هیچ ارتباط TCP از بیرون با شبکه برقرار نمی شود. ▪ فیلد شماره ترتیب و : Acknowledgement بنابر قواعد تعریف شده توسط مدیر شبکه قابل بررسی اند. در این لایه دیواره آتش با بررسی تقاضای ارتباط با لایه TCP، تقاضاهای غیرمجاز را حذف می کند. در این مرحله دیواره آتش نیاز به جدولی از شماره پورت های غیرمجاز دارد. هر چه قوانین سخت گیرانه تری برای عبور بسته ها از این لایه وضع شود و پورت های بیشتری بسته شوند بسته های مشکوک بیشتری حذف می شوند و حجم پردازش کمتری به لایه سوم اعمال می شود. ۳) در لایه سوم حفاظت براساس نوع سرویس و برنامه کاربردی صورت می گیرد: در این لایه برای هر برنامه کاربردی یک سری پردازش های مجزا صورت می گیرد. بنابراین در این مرحله حجم پردازش ها زیاد است. مثلاً فرض کنید برخی از اطلاعات پست الکترونیکی شما محرمانه است و شما نگران فاش شدن آنها هستید. در اینجا دیواره آتش به کمک شما می آید و برخی آدرس های الکترونیکی مشکوک را بلوکه می کند، در متون نامه ها به دنبال برخی کلمات حساس می گردد و متون رمزگذاری شده ای که نتواند ترجمه کند را حذف می کند. یا می خواهید صفحاتی که در آنها کلمات کلیدی ناخوشایند شما هست را حذف کند و اجازه دریافت این صفحات به شما یا شبکه شما را ندهد.
● انواع دیواره های آتش دیواره های آتش هوشمند:
امروزه حملات هکرها تکنیکی و هوشمند شده است به نحوی که با دیواره های آتش و فیلترهای معمولی که مشخصاتشان برای همه روشن است نمی توان با آنها مقابله کرد. بنابراین باید با استفاده از دیواره های آتش و فیلترهای هوشمند با آنها مواجه شد. از آنجا که دیواره های آتش با استفاده از حذف بسته ها و بستن پورت های حساس از شبکه محافظت می کنند و چون دیواره های آتش بخشی از ترافیک بسته ها را به داخل شبکه هدایت می کنند، (چرا که در غیر این صورت ارتباط ما با دنیای خارج از شبکه قطع می شود)، بنابراین هکرها می توانند با استفاده از بسته های مصنوعی مجاز و شناسایی پورت های باز به شبکه حمله کنند. بر همین اساس هکرها ابتدا بسته هایی ظاهراً مجاز را به سمت شبکه ارسال می کنند. یک ***** معمولی اجازه عبور بسته را می دهد و کامپیوتر هدف نیز چون انتظار دریافت این بسته را نداشته به آن پاسخ لازم را می دهد. بنابراین هکر نیز بدین وسیله از باز بودن پورت مورد نظر و فعال بودن کامپیوتر هدف اطمینان حاصل می کند. برای جلوگیری از آن نوع نفوذها دیواره آتش باید به آن بسته هایی اجازه عبور دهد که با درخواست قبلی ارسال شده اند. حال با داشتن دیواره آتشی که بتواند ترافیک خروجی شبکه را برای چند ثانیه در حافظه خود حفظ کرده و آن را موقع ورود و خروج بسته مورد پردازش قرار دهد می توانیم از دریافت بسته های بدون درخواست جلوگیری کنیم. مشکل این فیلترها زمان پردازش و حافظه بالایی است که نیاز دارند. اما در عوض ضریب اطمینان امنیت شبکه را افزایش می دهند.
● دیواره های آتش مبتنی بر پروکسی:
دیواره های آتش هوشمند فقط نقش ایست بازرسی را ایفا می کنند و با ایجاد ارتباط بین کامپیوترهای داخل و خارج شبکه کاری از پیش نمی برد. اما دیواره های آتش مبتنی بر پروکسی پس از ایجاد ارتباط فعالیت خود را آغاز می کند. در این هنگام دیواره های آتش مبتنی بر پروکسی مانند یک واسطه عمل می کند، به نحوی که ارتباط بین طرفین به صورت غیرمستقیم صورت می گیرد. این دیواره های آتش در لایه سوم دیواره آتش عمل می کنند، بنابراین می توانند بر داده های ارسالی در لایه کاربرد نیز نظارت داشته باشند. دیواره های آتش مبتنی بر پروکسی باعث ایجاد دو ارتباط می شود: ۱) ارتباط بین مبدا و پروکسی ۲) ارتباط بین پروکسی و مقصد حال اگر هکر بخواهد ماشین هدف در داخل شبکه را مورد ارزیابی قرار دهد در حقیقت پروکسی را مورد ارزیابی قرار داده است و نمی تواند از داخل شبکه اطلاعات مهمی به دست آورد. دیواره های آتش مبتنی بر پروکسی به حافظه بالا و CPU بسیار سریع نیاز دارند و از آنجایی که دیواره های آتش مبتنی بر پروکسی باید تمام نشست ها را مدیریت کنند گلوگاه شبکه محسوب می شوند. پس هرگونه اشکال در آنها باعث ایجاد اختلال در شبکه می شود. اما بهترین پیشنهاد برای شبکه های کامپیوتری استفاده همزمان از هر دو نوع دیواره آتش است. با استفاده از پروکسی به تنهایی بارترافیکی زیادی بر پروکسی وارد می شود. با استفاده از دیواره های هوشمند نیز همانگونه که قبلاً تشریح شد به تنهایی باعث ایجاد دیواره نامطمئن خواهد شد. اما با استفاده از هر دو نوع دیواره آتش به صورت همزمان هم بار ترافیکی پروکسی با حذف بسته های مشکوک توسط دیواره آتش هوشمند کاهش پیدا می کند و هم با ایجاد ارتباط واسط توسط پروکسی از خطرات احتمالی پس از ایجاد ارتباط جلوگیری می شود.
|