PDA

View Full Version : فايروال ( firewall ) چيست؟ آشنايي با فايروال و تفاوت آن با آنتی ویروس


مسعود رهجو
November 12th, 2009, 18:19
يك فايروال از شبكه شما در برابر ترافيك ناخواسته و همچنين نفوذ ديگران به كامپيوتر شما حفاظت مي كند. توابع اوليه يك فايروال به اين صورت هستند كه اجازه مي دهند ترافيك خوب عبور كند و ترافيك بد را مسدود مي كنند! مهمترين قسمت يك فايروال ويژگي كنترل دستيابي آن است كه بين ترافيك خوب و بد تمايز قائل مي شود.

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

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


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

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



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

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



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

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

منبع : meta-guard

مسعود رهجو
November 12th, 2009, 18:24
تعريف ديواره‌هاي آتش

ديواره‌هاي آتش يكي از مؤثرترين و مهمترين روشهاي پياده سازي "مصونيت شبكه" هستند و قادرند تا حد زيادي از دسترسي غير مجاز دنياي بيرون به منابع داخلي جلوگيري كنند.ديواره‌هاي آتش، مانند خندق‌هاي دور قلعه‌هاي دوران قرون وسطي عمل مي‌كنند. شكل 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 است. آموزش کاربران و آگاه کردن آنها از خطرات ويروسها نيز مي تواند مؤثر باشد.

منبع : meta-guard

ادامه دارد .......

مسعود رهجو
November 12th, 2009, 20:36
تاريخچه

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

اولين نسل از ديواره هاي آتش در حدود سال 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 هايي که سرويس ***** را اجرا مي کردند شد. نتايج اين تحقيقات به سرعت در اولين محصول تجاري شکل عيني يافت و به کار گرفته شد. اين محصول که 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 ***** ارائه داد. ديواره آتش Cisco Centri که درسال 1997 پياده سازي شد اولين محصول تجاري بر اساس معماري اين نسل بود.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ديواره‌هاي آتش شخصي (كه به آنها 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)

Outpost

ادامه دارد ........

مسعود رهجو
November 12th, 2009, 20:45
پياده سازي ديواره های آتش

هر كاربر با تجربه اينترنت مي داند كه يك ديواره آتش چيست و چه كاربردي دارد.


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

با وجود اين كه ويندوز 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 مثالي در سايت [Only registered and activated users can see links] وجود دارد.

اين تكنولوژي، تکنولوژي معروفي است که در تعدادي از محصولات تجاري (مثل 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 و نسخه هاي بالاتر قابل استفاده است. مثالي در اين زمينه در [Only registered and activated users can see links] وجود دارد.



5) NDIS HOOKING FILTER DRIVER

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


6) Miniport Hooking

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


منبع : meta-guard

مسعود رهجو
November 12th, 2009, 20:50
روش­هاي مختلف پياده­سازي ديواره آتش، مزايا و معايب :

سيستم عامل ويندوز با توجه به موارد استفاده فراواني كه دارد، نسبت به همتايان خود بيشتر مورد توجه هكرها قرار دارد. در اين ميان سرويس­هايي نظير 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 " در هنگام نصب

منبع : meta-guard