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