فایروال یا دیوار آتش یک دستگاه شبکه است که روی بسته هایی که وارد یک شبکه یا از آن خارج میشوند نظارت میکنند. یک فایروال مانند یک مانع یا حصار بین یک شبکه قابل اطمینان و دیگر شبکه های غیرقابل اطمینان قرار میگیرد و از طریق یک مدل کنترلی، دسترسی به منابع شبکهای را کنترل میکند. این بدان معناست که تنها ترافیکی میتواند اجازه ورود و خروج را داشته باشد که منطبق بر سیاست های امنیتی فایروال باشد و بقیه ترافیک غیر مجاز است.
فایروال های مبتنی بر فیلترینگ بسته، بسته هایی را که بین کامپیوترهای درون اینترنت جابجا میشوند را بررسی میکنند. زمانی که یک بسته از یک
Packet-Filter Firewall عبور میکند، آدرس مبدا و مقصد، پروتکل و شماره پورت مقصد آن بر اساس مجموعه قوانین فایروال بررسی میشود. بسته هایی که اجازه عبور در شبکه را ندارند
Drop میشوند (به مقصدشان هدایت نمیشوند).
چرا باید از فایروالها استفاده کرد؟ با توجه به استفاده روزافزون از اینترنت ، کاربران اینترنت همواره در تیررس مهاجمان هستند و همیشه امکان بروز حملات وجود خواهد داشت . برای استفاده ایمن از اینترنت ، میبایست اقدامات متعددی را انجام داد . قطعا" استفاده از
فایروال یکی از اقدامات اولیه و در عین حال بسیار مهم در این زمینه است . استفاده از اینترنت بدون بکارگیری یک فایروال ، نظیر بازنگهداشتن درب ورودی یک ساختمان است که هر لحظه ممکن است افراد غیرمجاز از فرصت ایجاد شده برای ورود به ساختمان استفاده نمایند . با نصب و استفاده از یک فایروال ، ضریب مقاومت و ایمنی کاربران در مقابل انواع حملات افزایش خواهد یافت .
شیوه کاری یک فایروال - فایروال، ترافیک را از ورودی های خود که هر کدام به یک شبکه متصل است، دریافت میکند و آن را با معیارهای تعیین شده بر روی خود مقایسه و بر اساس این معیارها تصمیم گیری میکند .
- فایروال بستهها را بین شبکهها رد و بدل و مسیریابی (Route) می کند.
- می تواند هم ترافیک ورودی (Inbound) و هم ترافیک خروجی (Outbound) را مدیریت و فیلتر کند .این نرم افزار دسترسی عمومی از طریق شبکه های بیرونی را به منابع داخلی مانند اتوماسیون اداری یا مثل آن را مدیریت میکند .
- تمامی درخواست های دسترسی به شبکه داخلی را Log برداری کرده و در صورت مشاهده مورد مشکوک بصورت ارسال هشدار (Alarm) مدیر سیستم را در جریان میگذارد.
مشخصه های مهم یک فایروالمشخصه های مهم یک فایروال قوی و مناسب جهت ایجاد یک شبکه امن عبارتند از:
۱
. توانایی ثبت و اخطارثبت وقایع یکی از مشخصه های بسیار مهم یک فایروال به شمار میشود و به مدیران شبکه این امکان را میدهد که انجام حملات را کنترل کنند. همچنین مدیر شبکه میتواند با کمک اطلاعات ثبت شده به کنترل ترافیک ایجاد شده توسط کاربران مجاز بپردازد. در یک روال ثبت مناسب ، مدیر میتواند براحتی به بخشهای مهم از اطلاعات ثبت شده دسترسی پیدا کند. همچنین یک فایروال خوب باید بتواند علاوه بر ثبت وقایع، در شرایط بحرانی، مدیر شبکه را از وقایع مطلع کند و برای وی اخطار بفرستد
. ۲
. بازدید حجم بالایی از بسته های اطلاعاتیکی از تستهای یک فایروال ، توانایی آن در بازدید حجم بالایی از بسته های اطلاعاتی بدون کاهش چشمگیر کارایی شبکه است. حجم دادهای که یک فایروال میتواند کنترل کند برای شبکه های مختلف متفاوت است اما یک فایروال قطعا نباید به گلوگاه شبکه تحت حفاظتش تبدیل شود.عوامل مختلفی در سرعت پردازش اطلاعات توسط فایروال نقش دارند. بیشترین محدودیتها از طرف سرعت پردازنده و بهینه سازی کد نرم افزار بر کارایی فایروال تحمیل میشوند. عامل محدودکننده دیگر میتواند کارتهای واسطی باشد که بر روی فایروال نصب میشوند. فایروالی که بعضی کارها مانند صدور اخطار ، کنترل دسترسی مبنی بر
URL و بررسی وقایع ثبت شده را به نرم افزارهای دیگر میسپارد از سرعت و کارایی بیشتر و بهتری برخوردار است
. ۳
. سادگی پیکربندیسادگی پیکربندی شامل امکان راه اندازی سریع فایروال و مشاهده سریع خطاها و مشکلات است.در واقع بسیاری از مشکلات امنیتی که دامنگیر شبکه های میشود به پیکربندی غلط فایروال بر میگردد. لذا پیکربندی سریع و ساده یک فایروال ، امکان بروز خطا را کم میکند. برای مثال امکان نمایش گرافیکی معماری شبکه و یا ابزرای که بتواند سیاستهای امنیتی را به پیکربندی ترجمه کند ، برای یک فایروال بسیار مهم است
. ۴
. امنیت و افزونگی فایروالامنیت فایروال خود یکی از نکات مهم در یک شبکه امن است.فایروالی که نتواند امنیت خود را تامین کند ، قطعا اجازه ورود هکرها و مهاجمان را به سایر بخشهای شبکه نیز خواهد داد. امنیت در دو بخش از فایروال ، تامین کننده امنیت فایروال و شبکه است:
الف- امنیت سیستم عامل فایروال : اگر نرم افزار فایروال بر روی سیستم عامل جداگانهای کار میکند، نقاط ضعف امنیتی سیستم عامل ، میتواند نقاط ضعف فایروال نیز به حساب بیاید. بنابراین امنیت و استحکام سیستم عامل فایروال و بروزرسانی آن از نکات مهم در امنیت فایروال است
. ب- دسترسی امن به فایروال جهت مقاصد مدیریتی : یک فایروال باید مکانیزمهای امنیتی خاصی را برای دسترسی مدیران شبکه در نظر بگیرد. این روشها میتواند رمزنگاری را همراه با روشهای مناسب تعیین هویت بکار گیرد تا بتواند در مقابل نفوذگران تاب بیاورد
. انواع فایروالانواع مختلف فایروال کم و بیش کارهایی را که اشاره کردیم ، انجام میدهند، اما روش انجام کار توسط انواع مختلف ، متفاوت است که این امر منجر به تفاوت در کارایی و سطح امنیت پیشنهادی فایروال میشود.بر این اساس فایروالها را به ۵ گروه تقسیم میکنند
. ۱
. فایروالهای سطح مدار (Circuit-Level) این فایروالها به عنوان یک رله برای ارتباطات
TCP عمل میکنند. آنها ارتباط
TCP را با رایانه پشتشان قطع میکنند و خود به جای آن رایانه به پاسخگویی اولیه میپردازند.تنها پس از برقراری ارتباط است که اجازه میدهند تا داده به سمت رایانه مقصد جریان پیدا کند و تنها به بسته های دادهای مرتبط اجازه عبور میدهند. این نوع از فایروالها هیچ داده درون بسته های اطلاعات را مورد بررسی قرار نمیدهند و لذا سرعت خوبی دارند. ضمنا امکان ایجاد محدودیت بر روی سایر پروتکلها
( غیر از
TCP) را نیز نمیدهند
. ۲
. فایروالهای پروکسی سرورفایروالهای پروکسی سرور به بررسی بسته های اطلاعات در لایه کاربرد میپردازد. یک پروکسی سرور درخواست ارائه شده توسط برنامه های کاربردی پشتش را قطع میکند و خود به جای آنها درخواست را ارسال میکند.نتیجه درخواست را نیز ابتدا خود دریافت و سپس برای برنامه های کاربردی ارسال میکند. این روش با جلوگیری از ارتباط مستقیم برنامه با سرورها و برنامه های کاربردی خارجی امنیت بالایی را تامین میکند. از آنجایی که این فایروالها پروتکلهای سطح کاربرد را میشناسند ، لذا میتوانند بر مبنای این پروتکلها محدودیتهایی را ایجاد کنند. همچنین آنها میتوانند با بررسی محتوای بسته های دادهای به ایجاد محدودیتهای لازم بپردازند. البته این سطح بررسی میتواند به کندی این فایروالها بیانجامد. همچنین از آنجایی که این فایروالها باید ترافیک ورودی و اطلاعات برنامه های کاربردی کاربر انتهایی را پردازش کند، کارایی آنها بیشتر کاهش مییابد. اغلب اوقات پروکسی سرورها از دید کاربر انتهایی شفاف نیستند و کاربر مجبور است تغییراتی را در برنامه خود ایجاد کند تا بتوان داین فایروالها را به کار بگیرد.هر برنامه جدیدی که بخواهد از این نوع فایروال عبور کند ، باید تغییراتی را در پشته پروتکل فایروال ایجاد کرد
. ۳
. فیلترهای Nosstateful packet این فیلترها روش کار سادهای دارند. آنها بر مسیر یک شبکه مینشینند و با استفاده از مجموعهای از قواعد ، به بعضی بستهها اجازه عبور میدهند و بعضی دیگر را بلوکه میکنند. این تصمیمها با توجه به اطلاعات آدرس دهی موجود در پروتکلهای لایه شبکه مانند
IP و در بعضی موارد با توجه به اطلاعات موجود در پروتکلهای لایه انتقال مانند سرآیندهای
TCP و
UDP اتخاذ میشود. این فیلترها زمانی میتوانند به خوبی عمل کنند که فهم خوبی از کاربرد سرویسهای مورد نیاز شبکه جهت محافظت داشته باشند. همچنین این فیلترها میتوانند سریع باشند چون همانند پروکسیها عمل نمیکنند و اطلاعاتی درباره پروتکلهای لایه کاربرد ندارند
. ۴
. فیلترهای ٍStateful Packet این فیلترها بسیار باهوشتر از فیلترهای ساده هستند. آنها تقریبا تمامی ترافیک ورودی را بلوکه میکنند اما میتوانند به ماشینهای پشتشان اجازه بدهند تا به پاسخگویی بپردازند. آنها این کار را با نگهداری رکورد اتصالاتی که ماشینهای پشتشان در لایه انتقال ایجاد میکنند، انجام میدهند.این فیلترها ، مکانیزم اصلی مورد استفاده جهت پیاده سازی فایروال در شبکه های مدرن هستند.این فیلترها میتوانند رد پای اطلاعات مختلف را از طریق بسته هایی که در حال عبورند ثبت کنند. برای مثال شماره پورت های
TCP و
UDP مبدا و مقصد، شماره ترتیب
TCP و پرچمهای
TCP. بسیاری از فیلترهای جدید
Stateful می توانند پروتکلهای لایه کاربرد مانند
FTP و
HTTP را تشخیص دهند و لذا میتواننداعمال کنترل دسترسی را با توجه به نیازها و سرعت این پروتکلها انجام دهند
. ۵
. فایروالهای شخصیفایروالهای شخصی ، فایروالهایی هستند که بر روی رایانه های شخصی نصب میشوند.آنها برای مقابله با حملات شبکهای طراحی شده اند. معمولا از برنامه های در حال اجرا در ماشین آگاهی دارند و تنها به ارتباطات ایجاد شده توسط این برنامهها اجازه میدهند که به کار بپردازند نصب یک فایروال شخصی بر روی یک
PC بسیار مفید است زیرا سطح امنیت پیشنهادی توسط فایروال شبکه را افزایش میدهد. از طرف دیگر از آنجایی که امروزه بسیاری از حملات از درون شبکه حفاظت شده انجام میشوند ، فایروال شبکه نمیتواند کاری برای آنها انجام دهد و لذا یک فایروال شخصی بسیار مفید خواهد بود. معمولا نیازی به تغییر برنامه جهت عبور از فایروال شخصی نصب شده (همانند پروکسی) نیست.