PDA

نسخه کامل مشاهده نسخه کامل : Firewall چيست؟



icscs.info
10-08-2007, 20:45
Firewall چيست؟
وقتي قرار باشد از يك ساختمان و وسايل داخل آن محافظت كنيم، اولين كاري كه انجام می دهيم، كنترل مبادي ورود و خروج ساختمان است. به بيان ديگر فقط به افراد منتخبي ، اجازه وارد شدن (و يا خارج شدن) از ساختمان را می دهيم. معيار انتخاب افراد براي كسي كه مامور كنترل ورود و خروج است بايستي در چارچوب يك خط مشي امنيتي، از قبل مشخص باشد.

در مورد شبكه*هاي كامپيوتري نيز بطور مشخص، همين روال را پيش می گيريم. يعني مرزهاي شبكه داخلي خود را كنترل مي*كنيم. منظور از مرز شبكه، لبه تماس شبكه داخلي با شبكه(هاي) خارجي نظير اينترنت، شبكه يكي از شعب سازمان و يا شبكه يك سازمان ديگر است.


براي كنترل اين مرزها از Firewall استفاده مي*شود

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

در شكل*هاي زير يك نمونه از پياده سازي Firewallها را مشاهده می كنيد.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Implementation1.gif

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

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Implementation2.gif

در شكل*هاي فوق، 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 لايه*اي است كه به لايه*هاي امنيتي اضافه شده و دسترسي غير مجاز به اين ناحيه را مشكل*تر مي*كند:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Implementation3.gif



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


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Implementation4.gif

همانطور كه ملاحظه مي*كنيد، 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) و اعمال تنظيمات اوليه و همچنين مهمتر از آن به روزرسانی قواعد برمبنای تكنيكهای نفوذ و حملات جديد است.

با ذکر منبع : [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

shohreh.p
09-10-2007, 16:00
دیواره آتشین (Fire wall) سیستمی است بین کاربران یک شبکه محلی و یک شبکه بیرونی (مثل اینترنت) که ضمن نظارت بر دسترسی ها، در تمام سطوح، ورود و خروج اطلاعات را تحت نظر دارد. بر خلاف تصور عموم کاربری این نرم افزارها صرفاً در جهت فیلترینگ سایت ها نیست. برای آشنایی بیشتر با نرم افزارهای دیواره های آتشین، آشنایی با طرز کار آنها شاید مفیدترین راه باشد. در وهله اول و به طور مختصر می توان گفت بسته های TCP/IP قبل و پس از ورود به شبکه وارد دیواره آتش می شوند و منتظر می مانند تا طبق معیارهای امنیتی خاصی پردازش شوند. حاصل این پردازش احتمال وقوع سه حالت است:
۱) اجازه عبور بسته صادر می شود.
۲) بسته حذف می شود.
۳) بسته حذف می شود و پیام مناسبی به مبدا ارسال بسته فرستاده می شود.

● ساختار و عملکرد

با این توضیح، دیواره آتش محلی است برای ایست بازرسی بسته های اطلاعاتی به گونه ای که بسته ها براساس تابعی از قواعد امنیتی و حفاظتی پردازش شده و برای آنها مجوز عبور یا عدم عبور صادر شود. همانطور که همه جا ایست بازرسی اعصاب خردکن و وقت گیر است دیواره آتش نیز می تواند به عنوان یک گلوگاه باعث بالا رفتن ترافیک، تاخیر، ازدحام و بن بست شود. از آنجا که معماری TCP/IP به صورت لایه لایه است (شامل ۴ لایه: فیزیکی، شبکه، انتقال و کاربردی) و هر بسته برای ارسال یا دریافت باید از هر ۴ لایه عبور کند بنابراین برای حفاظت باید فیلدهای مربوطه در هر لایه مورد بررسی قرار گیرند. بیشترین اهمیت در لایه های شبکه، انتقال و کاربرد است چون فیلد مربوط به لایه فیزیکی منحصر به فرد نیست و در طول مسیر عوض می شود. پس به یک دیواره آتش چند لایه نیاز داریم. سیاست امنیتی یک شبکه مجموعه ای از قواعد حفاظتی است که بنابر ماهیت شبکه در یکی از سه لایه دیواره آتش تعریف می شوند. کارهایی که در هر لایه از دیواره آتش انجام می شود عبارت است از:
۱) تعیین بسته های ممنوع (سیاه) و حذف آنها یا ارسال آنها به سیستم های مخصوص ردیابی (لایه اول دیواره آتش)
۲) بستن برخی از پورت ها متعلق به برخی سرویس ها مثلTelnet، FTP و... (لایه دوم دیواره آتش)
۳) تحلیل برآیند متن یک صفحه وب یا نامه الکترونیکی یا .... (لایه سوم دیواره آتش)
۱) در لایه اول
فیلدهای سرآیند بسته IP مورد تحلیل قرار می گیرد:
▪ آدرس مبدأ:
برخی از ماشین های داخل یا خارج شبکه حق ارسال بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود.
▪ آدرس مقصد:
برخی از ماشین های داخل یا خارج شبکه حق دریافت بسته را ندارند، بنابراین بسته های آنها به محض ورود به دیواره آتش حذف می شود. IP آدرس های غیرمجاز و مجاز برای ارسال و دریافت توسط مدیر مشخص می شود. شماره شناسایی یک دیتا گرام تکه تکه شده:
بسته هایی که تکه تکه شده اند یا متعلق به یک دیتا گرام خاص هستند حذف می شوند.
▪ زمان حیات بسته:
بسته هایی که بیش از تعداد مشخصی مسیریاب را طی کرده اند حذف می شوند. بقیه فیلدها:
براساس صلاحدید مدیر دیواره آتش قابل بررسی اند. بهترین خصوصیت لایه اول سادگی و سرعت آن است چرا که در این لایه بسته ها به صورت مستقل از هم بررسی می شوند و نیازی به بررسی لایه های قبلی و بعدی نیست. به همین دلیل امروزه مسیریاب هایی با قابلیت انجام وظایف لایه اول دیواره آتش عرضه شده اند که با دریافت بسته آنها را غربال کرده و به بسته های غیرمجاز اجازه عبور نمی دهند. با توجه به سرعت این لایه هر چه قوانین سختگیرانه تری برای عبور بسته ها از این لایه وضع شود بسته های مشکوک بیشتری حذف می شوند و حجم پردازش کمتری به لایه های بالاتر اعمال می شود.
۲) در لایه دوم
فیلدهای سرآیند لایه انتقال بررسی می شوند:
▪ شماره پورت پروسه مبدأ و مقصد:
با توجه به این مسئله که شماره پورت های استاندارد شناخته شده اند ممکن است مدیر دیواره آتش بخواهد مثلاً سرویس FTP فقط برای کاربران داخل شبکه وجود داشته باشد بنابراین دیواره آتش بسته های TCP با شماره پورت ۲۰ و ۲۱ که قصد ورود یا خروج از شبکه را داشته باشند حذف می کند و یا پورت ۲۳ که مخصوص Telnet است اغلب بسته است. یعنی بسته هایی که پورت مقصدشان ۲۳ است حذف می شوند.
▪ کدهای کنترلی:
دیواره آتش با بررسی این کدها به ماهیت بسته پی می برد و سیاست های لازم برای حفاظت را اعمال می کند. مثلاً ممکن است دیواره آتش طوری تنظیم شده باشد که بسته های ورودی با SYN=۱ را حذف کند. بنابراین هیچ ارتباط TCP از بیرون با شبکه برقرار نمی شود.
▪ فیلد شماره ترتیب و :
Acknowledgement بنابر قواعد تعریف شده توسط مدیر شبکه قابل بررسی اند. در این لایه دیواره آتش با بررسی تقاضای ارتباط با لایه TCP، تقاضاهای غیرمجاز را حذف می کند. در این مرحله دیواره آتش نیاز به جدولی از شماره پورت های غیرمجاز دارد. هر چه قوانین سخت گیرانه تری برای عبور بسته ها از این لایه وضع شود و پورت های بیشتری بسته شوند بسته های مشکوک بیشتری حذف می شوند و حجم پردازش کمتری به لایه سوم اعمال می شود.
۳) در لایه سوم
حفاظت براساس نوع سرویس و برنامه کاربردی صورت می گیرد:
در این لایه برای هر برنامه کاربردی یک سری پردازش های مجزا صورت می گیرد. بنابراین در این مرحله حجم پردازش ها زیاد است. مثلاً فرض کنید برخی از اطلاعات پست الکترونیکی شما محرمانه است و شما نگران فاش شدن آنها هستید. در اینجا دیواره آتش به کمک شما می آید و برخی آدرس های الکترونیکی مشکوک را بلوکه می کند، در متون نامه ها به دنبال برخی کلمات حساس می گردد و متون رمزگذاری شده ای که نتواند ترجمه کند را حذف می کند. یا می خواهید صفحاتی که در آنها کلمات کلیدی ناخوشایند شما هست را حذف کند و اجازه دریافت این صفحات به شما یا شبکه شما را ندهد.

● انواع دیواره های آتش دیواره های آتش هوشمند:

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

● دیواره های آتش مبتنی بر ------:

دیواره های آتش هوشمند فقط نقش ایست بازرسی را ایفا می کنند و با ایجاد ارتباط بین کامپیوترهای داخل و خارج شبکه کاری از پیش نمی برد. اما دیواره های آتش مبتنی بر ------ پس از ایجاد ارتباط فعالیت خود را آغاز می کند. در این هنگام دیواره های آتش مبتنی بر ------ مانند یک واسطه عمل می کند، به نحوی که ارتباط بین طرفین به صورت غیرمستقیم صورت می گیرد. این دیواره های آتش در لایه سوم دیواره آتش عمل می کنند، بنابراین می توانند بر داده های ارسالی در لایه کاربرد نیز نظارت داشته باشند. دیواره های آتش مبتنی بر ------ باعث ایجاد دو ارتباط می شود:
۱) ارتباط بین مبدا و ------
۲) ارتباط بین ------ و مقصد حال اگر هکر بخواهد ماشین هدف در داخل شبکه را مورد ارزیابی قرار دهد در حقیقت ------ را مورد ارزیابی قرار داده است و نمی تواند از داخل شبکه اطلاعات مهمی به دست آورد. دیواره های آتش مبتنی بر ------ به حافظه بالا و CPU بسیار سریع نیاز دارند و از آنجایی که دیواره های آتش مبتنی بر ------ باید تمام نشست ها را مدیریت کنند گلوگاه شبکه محسوب می شوند. پس هرگونه اشکال در آنها باعث ایجاد اختلال در شبکه می شود. اما بهترین پیشنهاد برای شبکه های کامپیوتری استفاده همزمان از هر دو نوع دیواره آتش است. با استفاده از ------ به تنهایی بارترافیکی زیادی بر ------ وارد می شود.
با استفاده از دیواره های هوشمند نیز همانگونه که قبلاً تشریح شد به تنهایی باعث ایجاد دیواره نامطمئن خواهد شد. اما با استفاده از هر دو نوع دیواره آتش به صورت همزمان هم بار ترافیکی ------ با حذف بسته های مشکوک توسط دیواره آتش هوشمند کاهش پیدا می کند و هم با ایجاد ارتباط واسط توسط ------ از خطرات احتمالی پس از ایجاد ارتباط جلوگیری می شود.

esmailgol
11-12-2007, 23:25
خیلی عالیه.در صورت امکان کاملترش کنید. تشکر از زحمات شما دوست عزیز.

chogha
15-01-2008, 03:13
واقعا خسته نباشی عالی بود...

S0R3N4
17-01-2008, 21:58
ممنون
عالی بود

samanvilli
17-01-2008, 22:33
يك فايروال از شبكه شما در برابر ترافيك ناخواسته و همچنين نفوذ ديگران به كامپيوتر شما حفاظت مي كند. توابع اوليه يك فايروال به اين صورت هستند كه اجازه مي دهند ترافيك خوب عبور كند و ترافيك بد را مسدود مي كنند! مهمترين قسمت يك فايروال ويژگي كنترل دستيابي آن است كه بين ترافيك خوب و بد تمايز قائل مي شود.

وقتي آن را نصب مي كنيد فايروال بين كامپيوتر شما و اينترنت قرار مي گيرد. فايروال به شما اجازه مي دهد صفحات وب را ببينيد و به آنها دسترسي داشته باشيد، فايل download كنيد، چت كنيد و ... . در حاليكه مطمئن هستيد افراد ديگري كه در اينترنت مشغول هستند نمي توانند به كامپيوتر شما دست درازي كنند. بعضي از فايروالها نرم افزارهايي هستند كه روي كامپيوتر اجرا مي شوند اما فايروالهاي ديگر به صورت سخت افزاري ساخته شده اند و كل شبكه را از حمله مصون مي كنند.

هر كسي كه از اينترنت استفاده مي كند بايد از بعضي از انواع فايروالها استفاده كند. برنامه هايي هستند كه مي توانند از اينترنت download شوند اين برنامه ها مي توانند تعداد زيادي آدرسهاي IP آسيب پذير براي نفوذ را پيدا مي كنند اين برنامه ها به راحتي download شده و اجرا مي شوند و براي سوء استفاده يا مشكل دار كردن كامپيوتر شما از طريق اين برنامه ها احتياجي به دانش شبكه نيست معمولاً همه انواع فايروالها از شما در برابر اين حملات حفاظت مي كنند.


فايروالهاي نرم افزاري

فايروالهاي نرم افزاري برنامه هايي هستند كه خود را بين درايو كارت شبكه (يا مودم) و كامپيوتر شما قرار مي دهند. آنها حملات را قبل از اينكه حتي سيستم شما آن را تأييد كند قطع مي كنند. تعداد زيادي فايروالهاي مجاني از اين نوع روي اينترنت وجود دارند. در اين در اينجا چند لينك براي download فايروال وجود دارد.



فايروال NAT ساده

فايروالهايي كه براي broadband router ها ساخته شده اند و نرم افزارهايي مانند Microsoft ICS فايروالهاي بسيار ساده اي هستند. و اين فايروالها شبكه را با جلوگيري از ارتباط مستقيم هر كامپيوتر با كامپيوترهاي ديگر شبكه محافظت مي كنند. اين نوع فايروالها تقريباً هر نوع هكري را متوقف مي كنند. هكرهاي حرفه اي ممكن است بتوانند از اين فايروالها عبور كننداما تعداد چنين اشخاصي كم و احتمال آن ضعيف است.



فايروالهاي با ويژگي stateful packet inspection

نسل جديد فايروالهاي خانگي stateful packet inspection ناميده مي شوند. اين يك شكل پيشرفته از فايروال است كه هر پاكت اطلاعاتي را كه از فايروال عبور مي كند بازرسي مي كند. فايروال هر پاكت اطلاعاتي را براي رديابي هر نوعي از هك اسكن مي كند.بيشتر افراد هرگز با اين نوع حمله ها روبرو نمي شوند اما نواحي در اينترنت وجود دارند كه بيشتر مورد حمله هكرهاي حرفه اي واقع مي شوند.

samanvilli
17-01-2008, 22:36
بوسيله FireWall، اسپم را مسدود كنيد

از: PCWorldIran
مترجم: كتايون واثقى

اين ترفند در ويندوز XP كاربرد دارد.

اگر از يك مودم كابلى يا ISP ديگرى كه مرتبا به اينترنت وصل است استفاده مىكنيد كامپيوتر شما بسيار نسبت به اسپم و يا هكرها آسيب پذير است. هر زمانى كه كامپيوتر شما به شبكه وصل مىشود اينترنت يك شماره به خصوص را به كامپيوتر شما تخصيص مىدهد. هر گاه كه مودم شما شماره اينترنت را بگيرد يا به شبكه وصل شود شماره شما تغيير مىكند. اما اگر به طور مرتب به وسيله يك مودم كابلى يا ديگر اتصالات 24 ساعته به اينترنت وصل مىشويد. شماره شما تغيير نمىكند. اين باعث مىشود كه هكرها بتوانند راحت تر كامپيوتر شما را پيدا كنند و اگر آسيب پذير است شماره آن را بين ديگر هكرها پخش كنند.

اينجاست كه يك فايروال (برنامه حفاظتى) بكار مىآيد. نرم افزار فايروال بين كامپيوتر شما و اينترنت قرار مىگيرد و به عنوان يك گذرگاه عمل مىكند. و به شما امكان را مىدهد كه تصميم بگيريد چه نرم افزارى و در چه زمانى به كامپيوتر شما راه يابد.

ويندوز XP يك فايروال خود ساخته دارد براى نصب آن كارهاى زير را انجام دهيد:

1- StartMenu را باز كرده و روى MyNetwork Places كليك راست نماييد و properties را انتخاب كنيد. اينترنت يك شبكه وسيع مىباشد. و براى اينكه كامپيوترها بتوانند با هم ارتباط برقرار كنند طراحى شده. براى همين مهم است كه مطمئن شويم تنها كامپيوترهاى شناخته شده ارتباط برقرار مىكنند.

2- روى اتصالى كه مىخواهيد از آن حفاظت شود كليك راست كرده و properties را برگزينيد. اگر از يك اشتراك dial-up استفاده مىكنيد، روى آيكن كليك راست كنيد و اگر داراى يك شبكه در منزل و يا محل كار خود هستيد روى Local Area Connection كليك راست نماييد در هر دو صورت properties را انتخاب كنيد.

3- بخش Asvanced را انتخاب كرده و فايروال را فعال كنيد.

روى پنجره كليك كنيد تا Windows XP Firewall فعال شود.

اگر يك شبكه را اداره مىكنيد و از internet Connection Sharing براى اينكه تمام كامپيوترهاى متصل به شبكه از مودم استفاده كنند، استفاده مىكنيد. فايروال فقط بايد در كامپيوتر ميزبان فعال شود. كامپيوتري كه به اينترنت متصل است. كامپيوترهاى ديگر كه به كامپيوتر اصلى وصل هستند و از مودم آن استفاده مىكنند ضرورتى ندارد كه فايروال داشته باشند.

samanvilli
17-01-2008, 22:37
منبع :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تعريف ديواره‌هاي آتش

ديواره‌هاي آتش يكي از مؤثرترين و مهمترين روشهاي پياده سازي "مصونيت شبكه" هستند و قادرند تا حد زيادي از دسترسي غير مجاز دنياي بيرون به منابع داخلي جلوگيري كنند.ديواره‌هاي آتش، مانند خندق‌هاي دور قلعه‌هاي دوران قرون وسطي عمل مي‌كنند. شكل 1 يكي از اين قلعه‌ها را نشان مي‌دهد. خندق دور قلعه باعث مي‌شود نفوذ به قلعه مشكل باشد.

انجمن Network Computer Security Association) NCSA) تعريف زير را از ديواره‌هاي آتش ارائه داده است."ديواره آتش يک سيستم يا ترکيبي از چندين سيستم است که يک سري محدوديت را بين دو يا چند شبکه اعمال مي‌كند."در واقع يك ديواره آتش با محدودكردن دسترسي بين دو شبكه سعي مي‌كند يكي را از ديگري محافظت كند. عموماً ديواره‌هاي آتش به منظور محافظت شبكه خصوصي ‌كه به يك شبكه عمومي يا مشترك متصل است به كار گرفته مي‌شوند. ديواره‌هاي آتش يك نقطه محدود كننده‌‌ را بين دو شبكه ايجاد مي‌كند.

عملكرد ديواره‌هاي آتش را مي‌توان در سه جمله خلاصه كرد:

- آنها افراد را موقع ورود در يك نقطه كاملاً كنترل شده محدود مي‌سازد.

- آنها از نزديك شدن خرابكاران به منابع داخلي جلوگيري مي‌كنند.

- آنها افراد را موقع خروج در يك نقطه كاملاً كنترل شده محدود مي‌سازند.

در واقع اين نقطه كاملاً كنترل شده در مثال قلعه‌هاي قرون وسطايي همان پل متحركي است كه تنها در مواقع ورود و خروج افراد مشخص بر روي خندق قرار مي‌گيرد و در ديگر موارد بسته است و در نقش درب قلعه عمل مي‌كند. ديواره آتش اغلب در نقطه‌اي ‌كه شبكه ‌داخلي به شبكه خارجي متصل است قرار داده مي‌شود (شكل 2). تمام ترافيكي كه از سمت شبكه خارجي به شبكه داخلي وارد مي‌‌شود و يا از شبکه داخلي به سمت شبکه خارجي، خارج مي‌‌شود از ديواره آتش عبور مي‌كند، به همين علت ديواره آتش فرصت و موقعيت مناسبي را داراست كه تشخيص دهد آيا ترافيك عبوري مورد پذيرش هست يا خير. اينكه چه ترافيكي مورد پذيرش هست به "سياست امنيتي" (Security Policy)شبكه باز مي‌گردد. سياستهاي امنيتي تعيين مي‌كنند كه چه نوع ترافيكهايي مجوز ورود و يا خروج را دارا هستند.

مي‌توان گفت يك ديواره آتش:

- يك جداساز است.

- يک محدودساز (Restrictor) است.

- يك آناليزكننده (Analyzer) است.

يك ديواره آتش ممكن است:

- مسيريابي با چند ليست كنترل دسترسي باشد.

- نرم افزاري که روي يک PC يا يک سيستم Unix اجرا مي شود، باشد.

- يك جعبه سخت افزاري اختصاصي باشد.

انواع پيچيده تر ديواره هاي آتش به صورت ترکيبي از چندين سيستم و راه حلهاي Multi-computer و Multi-router پياده سازي مي‌شوند. شبکه هاي مختلف بسته به نيازهاي امنيتي مختلف و هزينه اي که براي تأمين امنيت در نظر گرفته اند از ديواره‌هاي آتش مختلف و روشهاي پياده سازي مختلف آنها استفاده مي‌كنند.

ديواره‌هاي آتش اگر چه ‌كه از بروز مشكلات مختلف براي شبكه داخلي جلوگيري مي‌كنند اما بدون اشكال و عيب نيستند. در مثال ذكر شده، افراد ماهرتر قادر خواهند بود از خندق با شنا عبور كنند و در يك فرصت مناسب هنگامي كه پل باز است با لباس مبدل به قلعه وارد شوند. سؤال اينجاست كه با وجود اين اشكالات چرا ديواره‌هاي آتش مورد استفاده قرار مي‌گيرند؟ در پاسخ بايد گفت درست است كه در حالات خاصي ديواره آتش نفوذ پذير است و خرابكاران قادرند از آن عبور كنند، اما با اين حال اين ابزار از عبور بسياري از خرابكاران جلوگيري مي‌كند و موثرترين ابزار در كنترل دسترسي به شبكه به حساب مي‌آيد. در صورتي كه هيچ خندقي وجود نداشته باشد ورود افراد غير مجاز به قلعه بسيار آسانتر خواهد بود و آيا چون در حالات خاصي، افراد خاص ممكن است از خندق عبور كنند، هيچ خندقي وجود نداشته باشد؟

در هر حال يك ديواره آتش قادر است در جهت بالا رفتن سطح امنيتي شبكه اقدامات مفيدي را انجام دهد. در ادامه مواردي كه يك ديواره آتش قادر است انجام دهد و به امنيت شبكه كمك كند را مورد بررسي قرار مي‌دهيم.

توانايي‌هاي ديواره‌هاي آتش
در اين بخش توانايي‌هاي ديواره‌هاي آتش را مورد بررسي قرار مي‌دهيم.

يك ديواره آتش مي‌تواند اجراي تصميمات امنيتي را در يك نقطه متمركزكند: همانطوركه‌گفته شد، ديواره آتش يك نقطه محدود كننده بين دو شبكه است. تمام ترافيك به داخل و از خارج بايد از اين نقطه باريك عبوركند و راه ديگري براي عبور ترافيك وجود ندارد. بدين ترتيب ديواره آتش قابليت اعمال كنترل شديدي را دارا خواهد بود و مي‌تواند با اعمال ابزار مختلف تأمين‌كننده امنيت در اين نقطه سطح قابل قبولي از امنيت را تضمين كند. در واقع چون همه چيز در يك كانال ارتباطي قابل كنترل است مي‌توان تصميمات مختلفي را در ارتباط با امنيت شبكه گرفت و به اجرا در آوردن آنها را در يك نقطه متمركز ساخت.

يك ديواره آتش مي‌تواند سياست امنيتي شبكه را به اجرا در آورد: مي‌دانيم سرويسهاي مختلفي در شبكه‌ها وجود دارند و با گسترش اينترنت تنوع و تعداد آنها بسيار افزايش يافته است. اغلب اين سرويسها ناامن هستند و هنگام استفاده و ارائه آنها بايد دقت كرد. سياست امنيتي شبكه‌هاي مختلف تعيين مي‌كند كه چه سرويسهايي در شبكه ارائه مي‌شود و چه افرادي مجازند از اين سرويسها استفاده كنند. ديواره‌هاي آتش قادرند با پاسباني و كنترل سرويسهاي مختلف تنها به سرويسهاي مجاز تعريف شده در سياست امنيتي اجازه عبور دهند و بدين ترتيب سياست امنيتي شبكه را به اجرا در‌آورند. سياستهاي امنيتي نهايتاً به تعدادي قوانين اجرايي تبديل مي‌شوند كه ديواره‌هاي آتش قادر خواهند بود تعداد زيادي از آنها را اجرا كنند. ديواره‌‌‌‌هاي آتش ممكن است سرويسهاي خطرناك و ناامن و را با اعمال محدويت تنها در شبكه داخلي اجازه دهند.

سياستهاي امنيتي مختلفي قابل اتخاذ هستند. مديران يك شبكه ممكن است تنها به يك سيستم داخلي اجازه دهند. با دنياي بيرون در ارتباط باشد، در اين صورت ديواره آتش تنها ترافيك متعلق به آن سيستم را از خود عبور خواهد داد.

ذكر اين نكته ضروري است كه پياده‌سازيهاي مختلف از ديواره‌هاي آتش تواناييهاي متفاوت در به اجرا در آوردن سياستهاي امنيتي دارند و بنابراين با استفاده از برخي از ديواره‌هاي آتش ممكن است نتوان برخي از سياستها را به اجرا در آورد.

يك ديواره آتش مي‌‌تواند فعاليتهاي مهم را ثبت كند: به اين علت كه تمام ترافيك از ديواره آتش عبور مي‌كند، ديواره آتش يك مكان مناسب براي ثبت مجموعه‌هاي مختلف از فعاليتهاست. به عنوان تنها نقطه دسترسي، ديواره آتش مي‌تواند ثبت كند كه چه اتفاقاتي بين شبكه محافظت شده و شبكه بيروني رخ مي‌دهند. با دسته بندي اين اطلاعات مي‌توان به نتايج خوبي در ارتباط با استفاده از شبكه، تهاجم‌هاي در حال شكل‌گيري، مزاحمان و متخلفان داخلي و خارجي و.... دست يافت.

يك ديواره آتش قادر است سطوح مختلفي از امنيت را براي بخشهاي مختلف پياده‌سازي كند: از ديواره‌هاي آتش گاهي براي جدا نگه داشتن يك بخش از بخشهاي ديگر استفاده مي‌شود. اين حالت زماني اتفاق مي‌افتد كه يك بخش از شبكه بيشتر از بخشهاي ديگرحساس باشد و نيازمند امنيت بيشتري ‌باشد. بدين ترتيب با استفاده از ديواره‌هاي آتش مي‌توان بخشهاي مختلف با سطوح امنيتي مختلف را ايجاد نمود. اين مسأله باعث مي‌شود بروز مشكلات امنيتي نتواند تمام سرتاسر شبكه را تحت تأثير قرار دهد و برخي بخشهاي مهمتر و حساس‌تر مصون بمانند. ديواره‌هاي آتش در مجموع قادرند شبكه را در برابر تهديدات مختلف تا حد زيادي مورد محافظت قرار دهند، اما آنها راه حل امنيتي كامل و بدون عيبي نيستند. برخي از خطرات و مشكلات از كنترل ديواره آتش خارج هستند و براي مقابله با آنها بايد از روشهايي مانند ايجاد مكانيزم‌هاي قوي امنيت فيزيكي، ‍" مصونيت ميزبان" و آموزش كاربران و مديران و... استفاده كرد.

ناتواني‌هاي ديواره‌هاي آتش
در ادامه برخي از ناتواني‌هاي ديواره‌هاي آتش را مورد بررسي قرار مي‌دهيم:

يك ديواره آتش نمي‌تواند شبكه و منابع آن را از خرابكاران داخلي محافظت‌كند: ديواره آتش ممكن است بتواند از اينكه اطلاعات مفيد سازمان از طريق خط ارتباطي شبكه به بيرون انتقال يابند جلوگيري كند اما هنگامي كه اين اطلاعات از خط ارتباطي عبور نمي‌كنند نمي‌تواند هيچ‌كاري انجام دهد. كاربري ممكن است با استفاده از يك ديسك، Floppy، CD و يا تعدادي ورقه كه آنها را در كيفش قرار مي‌دهد اطلاعات حساس سازمان را به بيرون انتقال دهد. در مقابله با اين نوع كاربران (كه ممكن است اطلاعات داخل را عمداً و يا سهواً از روي غفلت افشا كنند)، ديواره‌هاي آتش ناتوان هستند و هيچ‌كاري از دستشان ساخته نيست. برخي از افراد داخلي سطوح دسترسي بالايي را در شبكه دارا هستند و مجازند به منابع مختلف در شبكه دسترسي داشته باشند، اين افراد قادر خواهند بود سخت افزارها را خراب كنند، نرم افزارها و برنامه‌هاي مختلف را دچار مشكل‌كنند، به طور ماهرانه‌اي برنامه‌ها را تغييردهند، سطوح دسترسي‌ها را دستكاري كنند و.... واقعيت اين است كه ديواره‌هاي آتش در مقابله با اين مشكلات كاري نمي‌توانند انجام دهند.

يك ديواره آتش نمي‌تواند از بروز تمام مشكلات امنيتي جلوگيري‌كند: ديواره آتش براي مقابله با خطرات شناخته شده طراحي شده است. مديران شبكه با شناختي كه از حملات و خطرات مختلف دارند و با تصويب تعدادي قوانين و اجراي آنها توسط ديواره آتش سعي مي‌كنند از بروز آنها جلوگيري كنند، اما واقعيت اين است كه روز به روز حملات و مشكلات امنيتي جديدي به وجود مي‌آيند و ديواره آتش نمي‌تواند به طور خودكار با اين خطرات مقابله كند. ديواره آتش نيز مانند تجهيزات ديگر توسط مدير سيستم پيكربندي مي‌شود و پيرو دستوراتي است كه مدير مي‌دهد. يك پيكربندي خوب تا حدودي قادر خواهد بود از خطرات جديد نيز جلوگيري‌كند. در اين پيكربندي هيچ ترافيكي عبور داده نمي‌شود غير از ترافيك مربوط به تعداد بسيار اندكي سرويس مطمئن. خرابكاران به طور مرتب راههاي جديدي براي نفوذ و خرابكاري پيدا مي‌كنند. آنها يا از سرويسهاي مطمئن شناخته شده سوء استفاده مي‌كنند ويا مشكلاتي كه تا كنون براي كسي رخ نداده (و بنابراين هيچ كس راجع به آنها چيزي نمي‌داند و به همين دليل در هيچ ديواره آتشي در نظر گرفته نشده) را به كار مي‌بندند. يك ديواره آتش را نمي‌توان يك بار پيكربندي كرد و انتظار داشت براي هميشه شبكه را از هر خطري مورد محافظت قرار دهد.

يك ديواره آتش معمولاً نمي‌تواند از ورود ويروسها جلوگيري كند: اغلب ديواره‌هاي آتش بخشهاي مربوط به آدرس مبدأ و آدرس مقصد و شماره پورت مبدأ ومقصد شبكه‌هاي ورودي را مورد بازرسي قرار مي‌دهند و به جزئيات داده توجهي ندارند. پياده‌سازي بخش تشخيص ويروس و بررسي كامل داده بسته‌ها در ديواره‌‌هاي آتش زياد عملي وكارا نيست. انواع بسيار زيادي از ويروسها وجود دارند و روشهاي زيادي براي آنكه ويروس خودش را در داخل داده مخفي‌كند وجود دارد. تشخيص ويروس (Virus Detection) در يك بسته تصادفي از داده‌اي كه از ديواره آتش عبور مي‌كند بسيار مشكل است. براي تشخيص ويروس در بسته‌ها نيازمنديهاي زير وجود دارد:

- تشخيص اين مطلب كه بخش داده بسته بخشي از يك برنامه است.

- مشخص كردن اين‌كه يك برنامه مجاز چگونه است و چه ويژگيهايي دارد.

- تشخيص اين كه تفاوتي بين اين برنامه و مدل برنامه‌هاي بدون مشكل و مجاز وجود دارد و بنابراين برنامه يك ويروس است.

اغلب ديواره‌هاي آتش ماشينهايي از انواع مختلف و با فرمتهاي اجرايي مختلف را مورد محافظت قرار مي‌دهند.

يك برنامه ممكن است يك برنامه كامپايل شده قابل اجرا و يا يك script باشد. علاوه بر اين، بسياري از برنامه‌ها قبل از اينکه انتقال يابند به شکل يک Package در مي‌آيند و به خوبي فشرده سازي مي‌شوند. اين مسايل باعث مي‌شود پيچيدگي مسأله تشخيص ويروسها بالاتر رود و پياده‌سازي آن مشكل باشد. با اين همه باز هم نمي‌توان تمامي منابع ديگر انتقال ويروسها را كنترل كرد. بسياري از برنامه‌ها ممكن است از طريق مودمهاي اشخاصي كه به اينترنت متصلند و از ديواره آتش رد نمي شوند download شوند و يا با يک floppy از محل سکونت به شبکه داخلي سازمان انتقال يابند و ... روش عملي تر مقابله با ويروسها استفاد از نرم افزارهاي host-base virus protection است. آموزش کاربران و آگاه کردن آنها از خطرات ويروسها نيز مي تواند مؤثر باشد.


تاريخچه

اگر چه تكنولوژي ديواره‌هاي آتش جوان است و تازه شكل گرفته اما بسيار سريع رشد كرده و در كمتر از بيست سال تحولات زيادي را پشت سر گذاشته است.

اولين نسل از ديواره هاي آتش در حدود سال 1985 بوجود آمدند و " ديواره هاي آتش پالايشگر بسته" (Packet filter firewalls) نام گرفتند. ايده اصلي آنها از امکانات نرم افزاري گرفته شده بود که متعلق به شرکت Cisco بود و تحت عنوان (IOS (Internetworking Operation system شناخته مي شد. اولين مقاله در ارتباط با فرآيند غربال کردن (Screening Process) که توسط اين نوع ديواره هاي آتش مورد استفاده قرار مي گرفت در سال 1988 منتشر شد.

در سال 1989 آزمايشگاه شركت AT&T براي اولين بار نسل دوم ديواره‌هاي آتش كه در آينده "ديواره‌هاي آتش سطح مدار" (Circuit level firewalls) لقب گرفتند را بوجود آوردند. در همان سال آنها همچنين اولين مدل عملي (Working Model) از نسل سوم ديواره‌هاي آتش يعني "ديواره‌‌‌‌هاي آتش لايه كاربرد" (Application layer firewalls) پياده‌سازي كردند اما نه هيچ مقاله‌اي در اين ارتباط منتشر شد و نه محصولي بر اساس اين مدل به بازار عرضه گشت.

در اواخر سال 1989 و اوايل دهه 90 تحقيقات مختلف و پراکنده اي در سطح کشور آمريکا بر روي نسل سوم ديواره هاي آتش انجام شد و بالاخره نتايج اين تحقيقات به صورت جداگانه درسال هاي 1990 و 1991 توسط Gene Spafford از دانشگاه Bill Cheswick,Purdue از لابراتوري Bell شرکت AT&T و Marcus Ranum انتشار يافتند. در سال 1991 تحقيقات Marcus Ranum بيشترين توجه را به خودش معطوف کرد و باعث بوجود آمدن Bastion host هايي که سرويس proxy را اجرا مي کردند شد. نتايج اين تحقيقات به سرعت در اولين محصول تجاري شکل عيني يافت و به کار گرفته شد. اين محصول که SEAL نام داشت توسط شرکت DEC عرضه شد.

در اواخر سال1991، Bill Cheswick و Steve Bellovin تحقيقاتي را در ارتباط با پالايش كردن بسته‌ ها به صورت پويا (Dynamic) شروع کردند و بر اين اساس محصولي داخلي را در لابراتوار Bell پياده‌سازي كردند كه البته هرگز به بيرون عرضه نشد. در سال 1992، Bob Barden و Annette DeSchon در مؤسسه USC’s Information Sience Institute تحقيقاتي را بر روي نسل چهارم ديواره‌هاي آتش تحت عنوان "ديواره‌هاي آتش پالايشگر بسته پويا" (Dynamic packet filter firewalls) براي سيستمي با نام Visas به طور جداگانه شروع كردند و در نهايت نرم افزار Chech Point، اولين محصول تجاري بر پايه معماري نسل چهارم ديواره هاي آتش، در سال 1994 به بازار عرضه شد.

در سال 1996، Scott Wiegel طرحي را براي نسل پنجم ديوارههاي آتش با عنوان Kernel Proxy ارائه داد. ديواره آتش Cisco Centri که درسال 1997 پياده سازي شد اولين محصول تجاري بر اساس معماري اين نسل بود.

در سال هاي اخير نياز به سيستم هاي امنيتي که پرسرعت و در عين حال قابل گسترش(Extensible)، قابل نگهداري(Maintainable) و انعطاف پذير (Flexible) باشند باعث شده است شرکت هاي فعال در زمينه امنيت در تکاپوي يافتن راه حلهايي مناسب و کاربردي براي پاسخگويي به اين نيازها باشند.

انواع ديواره‌هاي آتش

ديواره‌هاي آتش پالايشگر بسته

ديواره‌هاي آتش سطح مدار

ديواره‌هاي آتش لاية كاربرد

ديواره‏هاي آتش پالايشگر بسته پويا

ديواره‏‏هاي آتش Kernel Proxy

ديواره‌هاي آتش مخفي

ديواره‌هاي آتش توزيع شده

ديواره‌هاي آتش شخصي

ديواره‌هاي آتش با توسعه‌پذيري بالا

ديواره‌هاي آتش نرم‌افزاري.

ديواره‌هاي آتش اختصاصي

ديواره‌هاي آتش شخصي

ديواره‌هاي آتش شخصي (كه به آنها desktop firewalls نيز گفته مي‌شود) نرم‌افزارهايي هستند كه براي محافظت از يك كامپيوتر تنها كه به اينترنت متصل است مورد استفاده قرار مي‌گيرند. اين كامپيوتر ممكن است به طور دائمي (از طريق خطوط Cable modem , DSL) و يا موقت (از طريق ارتباطات Dial-up) به اينترنت متصل باشد. در مقایسه با برنامه های anti-virus دیواره های آتش در background و در سطحي پايين تر اجرا مي شوند. دیواره های آتش شخصی با چک کردن جامعیت فایل های سیستم، پالايش ترافيك ورودي و خروجي، اخطار به كاربر در ارتباط با حملات در حال شكل‌گيري و .... سعي مي‌كنند كامپيوتر مرتبط با اينترنت را مورد محافظت قرار دهند. در آيندة نزديك امن‌سازي سيستم‌ها با ديواره‌هاي آتش شخصي به يكي از استاندارد‌هاي كامپيوترهاي خانگي تبديل خواهد شد.

ديواره‌هاي آتش شخصي مانند ديواره‌هاي آتش توزيع شده كار مي‌كنند به جز چند مورد. در واقع قابليت‌هاي ديواره‌هاي آتش توزيع شده بيشتر از ديواره‌هاي آتش شخصي است. ديواره‌هاي آتش شخصي براي محافظت از يك كامپيوتر تنها كه به اينترنت متصل است استفاده مي‌شود در حالي كه ديواره‌هاي آتش توزيع شده براي محافظت از كامپيوترهاي موجود در يك شبكة بزرگ سازماني طراحي شده‌اند.يك شركت يا سازمان می تواند با خرید یک distributed firewall solution، كارمندان دور، شبكه‌هاي محلي سازمان و شبكه‌هاي گسترده‌اش را مورد محافظت قرار دهد. مديريت مركزي، قابليت logging در يك نقطة مركزي و ريز‌سازي كنترل دسترسي(Access Control Granularity) ويژگي‌هايي هستند كه در ديواره‌هاي آتش شخصي وجود ندارند. مي‌توان گفت ديواره‌هاي آتش شخصي مستقل و مجزا هستند در حالي كه ديواره‌هاي آتش توزيع شده با يك نقطة مركزي در ارتباطند و در صحبت با او قادرند اطلاعات سياست‌هاي امنيتي را دريافت و اطلاعات ثبت شده و جمع‌‌آوري شده را ارسال كنند (به اين علت به دیواره های آتش توزیع شده Firewall agent نیز گفته می شود). از ديواره‌هاي آتش شخصي عموماً براي كامپيوتر‌هاي شخصي و خانگي استفاده مي‌شود حال آن كه ديواره‌هاي آتش توزيع شده علاوه بر محافظت از كامپيوترهاي شخصي و ايستگاه‌هاي موجود در شبكه قادرند سرويسگرهاي مهم و حساس را نيز مورد محافظت قرار دهند. برخي از ديواره‌هاي آتش توزيع شده را مي‌توان به گونه‌اي پيكربندي كرد كه كاملاً شفاف عمل كنند. آنها هيچ رابط گرافيكي ندارند و سياست‌هاي امنيتي بدون اين كه كاربر از آنها اطلاعي داشته باشد به ديوارة آتش منتقل مي‌شود. بدين ترتيب درگيري كاربر نهايي حذف مي‌شود و او نمي‌تواند در سياست‌هاي امنيتي مداخله كرده يا ديوارة آتش را غير فعال كند. اين قابليت عموماً در ديواره‌هاي آتش شخصي وجود ندارد.

برخي از ديواره‌هاي آتش شخصي عبارتند از:

- ConSeal PC firewall

- ConSeal Private Desktop

- SyShield

- BlackICE Defender

- ZoneAlarm

- Norton Internet Security 2000 (firewall & virus protection)

- Internet Connection Firewall (Windows XP built-in personal firewall)


منبع فناوري اطلاعات ايران

samanvilli
17-01-2008, 22:37
پياده سازي ديواره های آتش

هر كاربر با تجربه اينترنت مي داند كه يك ديواره آتش چيست و چه كاربردي دارد. براي دانستن تعريف دقيق آن مي توانيد به مقاله ديواره آتش چيست مراجعه كنيد. در اين مقاله دسته بندي دقيقي از روش هاي توليد ديواره آتش ارائه نخواهد شد، بلکه تنها به مرور برخي از مهم ترين اين روش ها پرداخته مي شود. کليه اين روش ها مربوط به پياده سازي ديواره آتش تحت نسخه هاي مختلف سيستم عامل ويندوز مي باشد. از صحبت در مورد مزايا و معايب اين رويكردها در اين مقاله خودداري مي شود. براي اطلاعات بيشتر در اين زمينه مي توانيد به مقاله روش هاي مختلف پياده سازي ديواره آتش، مزايا و معايب رجوع کنيد.


تكنولوژيهاي -------- ترافيك شبكه در ويندوز

با وجود اين كه ويندوز 9X/ME و ويندوز XP/NT واسطهاي سوكت مشابه دارند و معماري NDIS نيز درايورهاي باينري miniport سازگار براي واسطهاي شبكه را پشتيباني مي كند، زير سيستمهاي داخلي شبكه آنها تفاوتهايي با هم دارند. در واقع، زيرسيستمهاي شبكه ويندوز NT/2000/XP خيلي پيچيده تر از ويندوز 9X/ME است، ولي هر دو قابل تقسيم به بخش هاي زير مي باشند:

NDIS- : در سال 1989 Microsoft و 3com با هم (Network Driver Interface Specification) NDIS را گسترش دادند كه به درايورهاي شبكه اجازه مي دهد از سرويسهاي واسط شبكه براي مخفي كردن جزئيات عملکرد خودشان استفاده كنند. درايور شبكه با مشخصات ذكر شده NDIS-miniport ناميده مي شود. NDIS-miniport با نسخه هاي مختلف ويندوز سازگار است.

-درايورهاي شبكه: توصيف جزئيات اين درايور خارج از حوصله اين مقاله مي باشد. به طور خلاصه يک درايور شبكه (به طور مثال TCP/IP ) در لايه پايين از توابع كتابخانه ايNDIS براي دستيابي به شبكه استفاده مي كند و ممکن است (TDI (Transport Data Information را در لايه بالايي ارائه دهد. واسط TDI ارائه شده مي تواند توسط Clientهاي متنوعي نظير بخشي از پياده سازي سوكت afd.sys (در ويندوزهاي NT/2000/XP) استفاده شود.

-DLL هاي سطح كار بر كه واسط سوكت ويندوز را تشكيل مي دهند و عبارتند از : WS2_32.DLL ،msafd.dll ، wshtcpip.dll

در زير به بررسي سريع روش هاي ممكن -------- ترافيك شبكه پرداخته خواهد شد. برخي از اين روش ها که در سطح کاربر کار مي کنند داراي محدوديت هاي فراواني هستند. به عنوان مثال نمي توانند از اتصال برنامه هايي که مستقيما از لايه TDI استفاده مي کنند جلوگيري نمايند.



-------- ترافيك در سطح كار بر

1)Winsock layered service provider (lsp) اين رويكرد در msdn به خوبي مستند سازي شده است و داراي يك مثال مناسب (SPI.CPP) مي باشد. از مزاياي اين روش مي توان به امكان تعيين فرآيند هايي كه سوكت هاي ويندوز را فراخواني مي كنند اشاره كرد. اين روش مي تواند براي انجام اعمالي از قبيل کنترل كيفيت سرويس، رمز نگاري جريان دادها و ... استفاده شود. البته همان طور که گفته شدTCP/IP مي تواند مستقيماً از طريق TDI فراخواني شود، بنابراين اين روش براي مراقبت در برابر ويروس ها و اسب هاي تروا و ... استفاده نمي شود. به علاوه اين رويكرد روي مسيرياب قابل استفاده نيست، زيرا بسته هاي اطلاعاتي در سطح TCP/IP مسيريابي مي شوند (يا حتي در سطح کارت شبکه)

2) Windows 2000 Packet Filtering Interface

ويندوز 2000 APIهايي را ارائه مي کند که برنامه هاي كاربردي سطح كاربر با استفاده از آن ها مي توانند مجموعه اي از فيلترها -كه توسط TCP/IP براي ----- كردن بسته ها استفاده مي شوند- را نصب كنند. البته قوانين -------- نسبتاً محدودند (بر مبناي عبور/انسداد براي آدرس هاي IP و اطلاعات port). هم چنين اين رويكرد فقط در ويندوز 2000 و نسخه هاي بالاتر قابل استفاده است.

3) جايگزيني Winsock DLL

اين رويكرد با توجه به داشتن مشکلات امنيتي متعدد قابل اعتماد نمي باشد و لذا از بحث در مورد آن خودداري مي شود.

4) قلاب کردن کليه توابع ناامن

استفاده از اين رويكرد نسبتاً مشكل بوده و نيازمند احتياط فراوان مي باشد، زيرا ممكن است بر روي ثبات و امنيت سيستم تاثير بگذارد.

-------- ترافيك در سطح هسته ((kernel

1) kernel-mode sockets filter

اين تكنولوژي براي ويندوزهاي NT/2000 قابل استفاده است. اين رويکرد با قرار گرفتن در مسير تمامي فراخواني ها از msafd.dll (پائين ترين لايه سطح كاربر در Winsock ) به ماژول afd.sys در سطح هسته (TDI-client، که در بالاترين سطح هسته قرار دارد و به عنوان بخشي از سوكتهاي ويندوز شناخته مي شود) و کنترل يا تغيير آن ها کار مي کند. اين روش، روش جالبي است ولي امكانات بيش تري نسبت به روش LSP ندارد. به علاوه، واسط AFD در نسخه هاي مختلف ويندوز متغير بوده است كه اين مساله باعث افزايش تغييرات لازم براي استفاده از اين رويکرد در اين نسخه ها مي شود.

2) TDI-FILTER driver

اين تكنولوژي هم براي ويندوزهاي 9X/ME و هم براي ويندوزهايNT/2000 به كار مي رود. البته پياده سازي آن در اين دو تفاوت هاي فاحشي با هم دارد. براي ويندوز 98 مثالي در Vireo/Numega VtoolsD يافت مي شود. هم چنين براي ويندوز NT/2000 مثالي در سايت
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید وجود دارد.

اين تكنولوژي، تکنولوژي معروفي است که در تعدادي از محصولات تجاري (مثل outpost) استفاده شده است. البته همانند ساير روش هايي که تاکنون بيان شد، اين رويكرد فقط مي تواند براي ساختن محصولات ردة ديوارة آتش شخصي استفاده شود و نمي تواند از پشتة TCP/IP شما در برابر حملات خرابكاران مراقبت كند.

3) NDIS Intermediate Driver

Microsoft اين دسته از درايورها را دقيقا به منظور پياده سازي ديواره هاي آتش فراهم كرده است . البته اين درايورها براي ويندوز95 قابل پياده سازي نيست و در مورد ويندوزهاي 98/ME/NT نيز بهتر است از اين کار صرفنظر شود. نصب اين درايورها و هم چنين استفاده آنها براي كاربران خيلي راحت نيست.

پشتيباني از درايوهايIM در ويندوز 2000/XP بهبود يافته است، ولي مساله ديگري که در اين مورد وجود دارد آن است که چنين درايورهايي بايد داراي امضاي ديجيتال ازMicrosof باشد، در غير اين صورت در هنگام نصب کاربر با پيغامي مبني بر عدم داشتن امضاي ديجيتال مواجه مي شود. مثالي در اين زمينه در DDK ويندوزهاي 2000 به بعد وجود دارد.

4) windows 2000 filter hook driver

اين روش در مستندات DDK توضيح داده شده است و فقط براي ويندوز 2000 و نسخه هاي بالاتر قابل استفاده است. مثالي در اين زمينه در
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید وجود دارد.



5) NDIS HOOKING FILTER DRIVER

اين رويكرد بر مبناي قلاب کردن برخي توابع NDIS عمل مي کند بدين ترتيب کليه ترافيک ارسالي و دريافتي شبکه از مسير توابع قلاب شده عبور خواهد کرد. لذا مي توان محدوديت هاي مورد نظر را در اين نقطه اعمال نمود.


6) Miniport Hooking

پايين ترين سطح براي پياده سازي يک ديواره آتش، سطح miniport مي باشد. البته نوشتن کد در اين سطح، دشواري هاي فراواني دارد و به همين دليل توصيه نمي شود.


منبع فناوري اطلاعات ايران

samanvilli
17-01-2008, 22:38
روش­هاي مختلف پياده­سازي ديواره آتش، مزايا و معايب :

سيستم عامل ويندوز با توجه به موارد استفاده فراواني كه دارد، نسبت به همتايان خود بيشتر مورد توجه هكرها قرار دارد. در اين ميان سرويس­هايي نظير IISوSMB SHARING بيشترين توجه را به خود جلب كرده­اند. بنابراين لازم است كه تا حد ممكن تدابيري براي مبارزه با این نفوذ­ها انديشيده شود. ديواره­ها­ي آتش از جمله معروف­ترين روش­ها در اين زمينه مي­باشند. اولين قدم براي هك كردن يك سيستم يافتن اطلاعات كافي در مورد آن مي­باشد. اين اطلاعات به هكر نشان مي­دهند كه توپولوژي شبكه مقصد او چيست و ضعيف­ترين يا در حقيقت مناسب­ترين نقطه جهت انجام حمله كدام است. براي جلوگيري از دستيابي هكر به چنين اطلاعاتی، ديواره­هاي آتش شيوه­هاي متفاوتي دارند كه در ادامه به معرفي آنها می­پردازيم.

----- بسته­ها

----- بسته­ها بر اساس پارامتر­هاي مختلف بسته نظير IP وPORT مبدا و مقصد، پروتكل ارتباطي و.... صورت مي­پذيرد. در چنين حالتي ديواره­ آتش روی محتويات بسته نظارتي ندارد و تنها به بررسي پارامتر­هاي فوق مي­پردازد. مزيت اصلي این روش سرعت بالاي آن است، ولي در كنار اين مزيت مشكل اصلي چنين روشي عدم توجه به محتويات بسته است كه مي­تواند حاوي يك برنامه مخرب باشد. اكثر ديواره­هاي آتشی كه به صورت سخت­افزاري طراحي مي­شوند از اين تكنيك استفاده مي­­كنند.

بررسی stateful

در اين روش جدولي تحت عنوان جدول وضعيت (state table) در ديواره آتش وجود دارد كه وضعيت فعلي كليه اتصالات را درخود نگاه مي­­دارد. در اين صورت تنها بسته­هايي مجوز عبور مي­يابندكه از نظر جدول وضعيت، در وضعيت درستي باشند. به عنوان مثال، اجازه عبور يك پيغام ACK در پروتكل TCP پيش از ورود يك پيغام SYN داده نمي­شود. با استفاده از اين تكنيك، هكرها نمي­توانند به سادگي و تنها با تغييرIP مبدا خود، ديواره آتش را فريفته و آن را دوربزنند همچنين در اين روش با توجه به آنكه تنها بسته­ها در زمان برقراري ارتباط چك مي­شوند (در مورد پروتكل­هاي اتصال-گرا (Connection Oriented) نظيرTCP ) و پس از آنكه يك ارتباط مجاز برقرار شد ديگر ساير بسته‌هاي ارتباط مد نظر مورد پردازش قرار نمي‌‌گيرد. بار پردازش كمتري وجود داشته و لذا كارايي ديواره آتش افزايش خواهد يافت.

----- در سطح برنامه­هاي كار بردی

چنين فيلتر­هايي ميان شبكه ارتباطي و برنامه­هاي كار­بردي مختلف نظيرInternet Explorer قرارگرفته و محتويات بسته­ها را مورد پردازش قرار مي­دهند تا از وجود كدهاي خرابكار URL­هاي غير مجاز و ... در آنها مطلع شده و مانع از فعاليت آنها شوند.

پياده­سازي ديواره آتش

پياده­سازي ديواره­هاي آتش تحت سيستم عامل­هاي مبتني بر Unix كار نسبتاً ساده­اي است. اين سادگي نتيجه كدهاي رايگان متعددي است كه در اين زمينه وجود دارند. نمونه­هايي از اين دست pf براي سيستم عامل OpenBSD و iptable براي سيستم عامل Linux مي­باشند. برخلاف وجود منابع گوناگون و متعدد براي سيستم­هاي مبتني بر UNIX براي پياده­سازي يك ديواره آتش تحت ويندوز منابع چندان زيادي در دست
نمي­باشد و اكثر منابع موجود نيز هزينه­هاي زيادي را براي اجازه استفاده از خود تحميل مي­كنند. همچنين روش استاندارد و مشخصي نيز براي انجام اين كار در ويندوز وجود ندارد. تكنيكهاي مختلفي در اين زمينه وجود دارند كه براي آگاهي از جزئيات آنها مي­توانيد به مقاله پياده­سازي ديواره آتش مراجعه نماييد. در ادامه تنها به بيان مزايا و معايب هر يك از اين تكنيكها پرداخته مي­شود.

Layered Socket Provide (LSP

مزايا :
- تحت كليه ويندوزها به صورت يكسان قابل استفاده است

- ديواره آتش به بسته­هاي كامل دسترسي خواهد داشت. يعني بسته­هايي كه براي عبور از شبكه ناگزير به تكه­هاي متعددي شكسته شده­اند به صورت سر هم شده به ديواره آتش خواهند رسيد و لذا ديواره آتش مجبور به انجام عمل سر هم كردن بسته­ها نيست.

معايب :
- نصب و پاك­سازي چنين ديواره آتشي به سادگي امكان پذير نيست و عدم دقت كافي به اين مساله ممكن است نياز به نصب مجدد ويندوز داشته باشد.
- اسبهاي تراوا مي­توانند به سادگي و با استفاده از همان مكانيزم مورد استفاده ديواره آتش در سطحي پائين­تر از آن قرار گرفته و به فعاليت بپردازند.


قلاب TDI

مزايا :
- قابليت كنترل برنامه­هاي كاربردي در اين سطح وجود دارد.
- دسترسي مستقيم به جريان بسته­ها وجود دارد و به همين دليل عمده فيلتر­ينگ در اين لايه قابل انجام است.

معايب :
- كليه بسته­ها به اين لايه نمي­رسند به عنوان مثال، بسته­هاي پروتكل ICMP در اين لايه قابل پردازش نيستند.

- پشته TCP از حملات خارجي نظير حمله DOS مصون نيست، زيرا لايه TDI بالاي پشته پروتكلهاي ويندوز قرار دارند.

قلاب NDIS
مزايا :
- دسترسي مستقيم به بسته­هاي دريافتي از شبكه
- جلوگيري از ورود بسته­ها پيش از آنكه به پشته TCP دسترسي پيدا كنند.

معايب :
- راهي براي يافتن نام پروسه­اي كه بسته دريافت شده متعلق به آن است وجود ندارد.

قلاب Miniport
مزايا :
- دريافت بسته­ها در پائين­ترين سطح ممكن در معماري ويندوز

معايب :
- مشكل بودن برنامه نويسي و خطا­يابي در اين سطح


----- ( Intermediate(IM

مزايا :
- وجود مثال در این زمینه به همراه DDK
- وجود اطلاعات مناسب و كافي براي برنامه نويسي در اين سطح

معايب :
- نياز به ثبت ديواره آتش در شركت مايكروسافت براي جلوگيري از پيغام خطاي "sign with Microsoft " در هنگام نصب






منبع فناوري اطلاعات ايران

naissim
29-01-2008, 10:55
واقعا مطالب جالبي رو مطرح كرديد دستتون درد نكنه