کسانی که همیشه با ویندوز و اینترنت کار میکنند، احتمالا واژه فایروال (firewall) را بارها شنیده اند. عموما دیوار آتش یا firewall از حمله های خطرناک به شبکه محلی و کامپیوتر متصل به اینترنت، جلوگیری میکند. اگر بخواهیم به زبان ساده فایروال را تعریف کنیم به دیواری که مانع انتقال آتش از قسمتی به قسمت دیگر میشود firewall می گویند. به طور کلی یک فایروال اطلاعاتی که بین کامپیوترها و اینترنت انتقال پیدا می کند همیشه کنترل می شود.
فایروال (firewall) چیست؟
فايروال از کامپیوتر شما در مقابل ترافيک و همچنين دسترسی افراد دیگر به كامپيوتر شما محافظت میکند. مناطق اوليه فايروال به اين ترتیب است كه اجازه میدهند ترافيک سالم عبور کند و مقابل ترافيک ناسالم میایستد. یکی از مهمترین بخشهای فايروال خصوصیت كنترل دستيابی آن است كه ترافيک سالم و ناسالم را از یکدیگر متمایز میکند.
نمونههایی از روشهای کاری فایروال
فایروال همه ترافيكی كه وارد آن میشود و هرکدام به يک شبكه وصل هستند را دریافت میکند، و آن را با معيارهای تعیینشده بر روی خود مقايسه میکند و بر اساس اين معيارها تصميم میگیرد.
firewall میتواند، بستههایی را در بين شبکهها ردوبدل و تعیین مسیر (route) كند
قادر است، ترافيک ورودی (inbound) و همچنین ترافيک خروجی (outbound) را رهبری و فيلتر كند .
این نرمافزار قادر است، دسترسی عمومی از طريق شبکههای بيرونی را به منبعهای داخلی همانند اتوماسيون اداری يا مانند آن را مديريت كند همهی درخواستهای قابلدسترسی به شبكه داخلی را log برداری و در صورت دیده شدن نمونه مشكوک بهصورت فرستادن هشدار (alarm) مدير سيستم را با خبر میکند.
فایروالهای سختافزاری
این فایروالها که آنها را فایروالهای شبکه نیز مینامند، مابین کامپيوتر يا شبکه و کابل و يا خط DSL قرار میگیرند. تعدادی از تولیدکنندگان و بعضی از مراکز ISP دستگاههایی را با نام روتر ارائه میدهند که يک فايروال هم دارند. فایروالهای سختافزاری در مواردی مثل محافظت از چند کامپيوتر، مفيد بوده و يک روش حفاظتی را به وجود میآورند و امکان استفاده از آنان بهمنظور محافظت يک دستگاه کامپيوتر هم امکانپذیر است. اگر شما تنها دارای يک کامپيوتر پشت فايروال هستید و يا اگر مطمئن هستید که دیگر کامپیوترهای موجود بر روی شبکه نسبت به نصب تمامی patch ها، فاقد ویروسها و يا کرمها هستند، احتیاجی به استفاده از يک سطح اضافه حفاظتی (يک نرمافزار فايروال) ندارید.
فایروالهای سختافزاری، دستگاههای سختافزاری جدایی میباشند که دارای سیستمعامل اختصاصی خود هست. پس بهکارگیری آنها دلیل به وجود آمدن یک لایه دفاعی اضافه در مقابل حملهها شود.
فایروالهای نرمافزاری
بعضی از سیستمهای عامل دارای يک فايروال تعبیهشده داخل خود هستند. اگر که سیستمعامل نصبشده بر روی کامپيوتر شما دارای خصوصیت فوق هست، پيشنهاد میشود که آن را فعال کرده تا يک سطح حفاظتی اضافی در ارتباط با ایمنسازی کامپيوتر و اطلاعات، به وجود بیاید. هرچند از يک فايروال خارجی يا سختافزاری استفاده میکنید. اگر سیستمعامل نصبشده بر روی کامپيوتر شما دارای يک فايروال تعبیهشده نیست، میشود اقدام به تهيه يک فايروال نرمافزاری کرد. با وجود عدم اطمينان لازم در خصوص دريافت نرمافزار از اينترنت با استفاده از يک کامپيوتر محافظت نشده، بهتر است برای نصب فايروال از CD و يا DVD مربوطه استفاده شود.
فايروال NAT ساده
فایروالهایی كه برای broadband router ها به وجود آمدهاند و نرمافزارهایی مانند Microsoft ICS فایروالهای بسيار سادهای هستند. اين فایروالها شبكه را با جلوگيری از ارتباط مستقيم هر كامپيوتر با كامپيوترهای ديگر محافظت میکنند. در این نوع فایروالها تقریبا هیچ هکری نمیتواند به آنها آسیب بزند. هكرهای حرفهای امکان دارد موفق شوند از اين فایروالها عبور كنند، اما تعداد آنها كم و احتمال آن ضعيف است.
فایروالهای با ويژگی stateful packet inspection
نسل جديد فایروالهای خانگی stateful packet inspection ناميده میشوند. این یک نوع پيشرفته از فايروال است كه هر پاكت اطلاعاتی را كه از فايروال عبور میکند بررسی می كند. فايروال هر پاكت اطلاعاتی را برای رديابی هر نوعی از هک اسكن میکند. بسیاری از افراد هیچوقت با اين نوع حملهها برخورد نمیکنند اما مناطقی در اينترنت هست كه بيشتر موردحمله هكرهای حرفهای هستند.
کاربردهای پراهمیت یک فایروال قوی و مناسب
- توانایی ثبت و اخطار :
ثبت وقایع یکی از مشخصههای بسیار مهم یک فایروال بهحساب میآید و به مدیران شبکه این امکان را میدهد که انجام حملات را زیر نظر داشته باشند. همینطور مدیر شبکه قادر است با کمک اطلاعات ثبتشده به کنترل ترافیک ایجادشده توسط کاربران مجاز بپردازد. در یک روش ثبت مناسب، مدیر میتواند بهآسانی به بخشهای مهم از مطالب ثبتشده دسترسی پیدا کند. همینطور یک فایروال خوب علاوه بر ثبت وقایع، باید بتواند در شرایط بحرانی، مدیر شبکه را از اتفاقات مهم باخبر و برای او اخطار ارسال نماید.
- بازدید حجم بالایی از بستههای اطلاعات:
از آزمودنهای یک فایروال، قادر بودن آن در بازدید حجم بالایی از بستههای اطلاعاتی بدون کم شدن قابلتوجه از کارایی شبکه است. حجم دادهای که یک فایروال قادر است کنترل کند برای شبکههای مختلف متفاوت است ولی یک فایروال قطعا نباید به گلوگاه شبکه تحت محافظتش تبدیل شود. دلایل مختلفی در سرعت پردازش اطلاعات توسط فایروال نقش دارند. بیشترین محدودیتها از طرف سرعت پردازنده و بهینهسازی کد نرمافزار بر کارایی فایروال تحمیل میشوند. از عوامل محدودکننده دیگر میتواند کارتهای واسطی باشد که بر روی فایروال نصب میشوند. فایروالی که بعضی کارها مانند صدور اخطار، کنترل دسترسی مبنی بر URL و بررسی وقایع ثبتشده را به نرمافزارهای دیگر میدهد از سرعت و کارایی بیشتر و بهتری برخوردار است.
- سادگی پیکربندی:
سادگی پیکربندی مانند امکان راهاندازی سریع فایروال و مشاهده سریع خطاها و مشکلات است. در حقیقت خیلی از مشکلات امنیتی که دامنگیر کامپیوترها میشود به پیکربندی اشتباه فایروال مربوط است. پس پیکربندی سریع و آسان یک فایروال ، امکان به وجود آمدن خطا را کم میکند. مثلا امکان نمایش گرافیکی معماری شبکه و یا ابزاری که قادر باشد سیاستهای امنیتی را به پیکربندی ترجمه کند ، برای یک فایروال بسیار اهمیت دارد.
اساس کار Firewall برچه مبنایی است؟
Firewall بر اساس Rule یا قانون عمل میکند. Role ها قوانینی درباره ترافیک هستند که ترافیک یا Allow هست، (اجازه عبور دارد) یا Deny (اجازه عبور ندارد) ما توانایی این راداریم که تعریف کنیم ترافیک ما چه زمانی ردوبدل شود. مثلا ترافیک مربوط به یاهو مسنجر، میتوان همه نرمافزارها را محدود کرد و به آنها اجازه دسترسی به اینترنت را نداد بهغیر از آنهایی که ما مشخص میکنیم و این شامل پورتها، ترافیکها و سرویسها میشود. میتوانیم بگوییم چه کسی (user) اجازه عبور دارد. میتوانیم تعیین کنیم دسترسی به کجا باشد مثلا کسی که از بیرون به کامپیوتر ما وصل میشود به کدام قسمتها میتواند دسترسی داشته باشد.
انواع Firewall
فایروالها کم و زیاد کارهایی را که گفتیم، انجام میدهند، ولی طریقه انجام کار توسط انواع مختلف، فرق دارد که این موضوع منجر به تفاوت در کارایی و سطح امنیت پیشنهادی فایروال میشود. بر این اساس فایروالها به 5 گروه تقسیم میشوند.
- 1-فایروالهای سطح مدار (Circuit-Level)
این فایروالها بهعنوان یک رله برای ارتباطات TCP عمل میکنند. آنها ارتباط TCP را با رایانه پشتشان قطع میکنند و خود بهجای آن رایانه پاسخگو هستند. فقط پس از برقراری ارتباط است که اجازه میدهند تا داده به سمت رایانه مقصد جریان پیدا کند و تنها به بستههای دادهای مرتبط اجازه عبور میدهند. این نوع از فایروالها هیچ داده درون بسته اطلاعات را موردبررسی قرار نمیدهند پسسرعت خوبی دارند. در ضمن امکان ایجاد محدودیت بر روی سایر پروتکلها غیر از TCP را نیز نمیدهند.
- 2- فایروالهای پروکسی سرور
فایروالهای پروکسی سرور به بررسی بستههای اطلاعات در لایه کاربرد میپردازد. یک پروکسی سرور درخواست ارائهشده توسط برنامههای کاربردی پشتش را قطع میکند و خود بهجای آنها درخواست را ارسال میکند. نتیجه درخواست را نیز ابتدا خود گرفته و سپس برای برنامههای کاربردی میفرستند. این روش با جلوگیری از ارتباط مستقیم برنامه با سرورها و برنامههای کاربردی خارجی امنیت بالایی را به وجود میآورد. ازآنجاییکه این فایروالها پروتکلهای سطح کاربرد را میشناسند ، پس قادر هستند بر مبنای این پروتکلها محدودیتهایی را ایجاد کنند. در ضمن آنها قادر هستند با بررسی محتوای بستههای دادهای به ایجاد محدودیتهای لازم بپردازند. قابلذکر است این سطح بررسی میتواند بهکندی این فایروالها تمام شود. همچنین ازآنجاییکه این فایروالها باید ترافیک ورودی و اطلاعات برنامههای کاربردی کاربر انتهایی را پردازش کند، کارایی آنها بیشتر کم میشود. بیشتر مواقع پروکسی سرورها از دید کاربر انتهایی شفاف نیستند و کاربر مجبور است تغییراتی را در برنامه خود به وجود بیاورد تا بتوان داین فایروالها را استفاده کند. هر برنامه جدیدی که بخواهد از این نوع فایروال بگذرد، باید تغییراتی را در پشته پروتکل فایروال ایجاد کند.
- 3- فیلترهای Nosstateful packet
این فیلترها روش کار سادهای دارند. آنها در مسیر یک شبکه هستند و با استفاده از مجموعهای از قواعد، به بعضی بستهها اجازه عبور میدهند وعدهای دیگر را بلوکه میکنند. این تصمیمها با توجه به اطلاعات آدرسدهی موجود در پروتکلهای لایه شبکه مانند IP و در بعضی موارد با توجه به اطلاعات موجود در پروتکلهای لایه انتقال مانند سرآیندهای TCP و UDP اتخاذ میشود. این فیلترها زمانی میتوانند بهدرستی عمل کنند که فهم خوبی از کاربرد سرویسهای موردنیاز شبکه جهت محافظت داشته باشند. همچنین این فیلترها قادر هستند سریع باشند چون همانند پروکسی ها عمل نمیکنند و اطلاعاتی درباره پروتکلهای لایه کاربرد ندارند.
- 4- فیلترهای Stateful Packet
این فیلترها بسیار باهوشتر از فیلترهای ساده هستند. آنها تمامی ترافیک ورودی را بلوکه میکنند ولی قادر هستند به ماشینهای پشتشان اجازه بدهند تا جوابگو باشند. آنها این کار را با نگهداری رکورد اتصالاتی که ماشینهای پشتشان در لایه انتقال به وجود میآورند، انجام میدهند.این فیلترها، مکانیزم اصلی مورد استفاده جهت پیادهسازی فایروال در شبکههای مدرن هستند. این فیلترها میتوانند رد پای اطلاعات مختلف را از طریق بستههایی که در حال عبورند ثبت کنند. برای مثال شماره پورتهای TCP و UDP مبدا و مقصد، شماره ترتیب TCP و پرچمهای TCP است. بسیاری از فیلترهای جدید Stateful قادرند پروتکلهای لایه کاربرد مانند FTP و HTTP را تشخیص دهند و لذا میتوانند اعمال کنترل دسترسی را با توجه به نیازها و سرعت این پروتکلها انجام دهند.
- 5- فایروالهای شخصی
فایروالهای شخصی، که بر روی رایانههای شخصی نصب میشوند.آنها برای مقابله با حملات شبکهای طراحیشدهاند. معمولاً از برنامههای در حال اجرا در ماشین آگاه هستند و تنها به ارتباطات ایجادشده توسط این برنامهها اجازه میدهند که به کار بپردازند نصب یک فایروال شخصی بر روی یک PC بسیار اهمیت دارد زیرا سطح امنیت پیشنهادی توسط فایروال شبکه را زیاد میکند. از طرف دیگر ازآنجاییکه امروزه بسیاری از حملات از درون شبکه حفاظتشده انجام میشوند ، فایروال شبکه قادر نیست کاری برای آنها انجام دهد و لذا یک فایروال شخصی بسیار مفید خواهد بود. پسنیازی به تغییر برنامه جهت عبور از فایروال شخصی نصبشده (همانند پروکسی) نیست.