فایروال چیست؟
فایروال (برابر فرهنگستان زبان: بارو) یا دیوار آتش نام عمومی برنامههایی است که در از دستیابی غیر مجاز به یک سیستم رایانه جلوگیری میکنند. در برخی از این نرم افزارها، برنامهها بدون اخذ مجوز قادر نخواهند بود از یک رایانه برای سایر رایانهها، داده ارسال کنند. به این گونه نرم افزارها، دیوار آتش دو طرفه گویند، زیرا علاوه بر درگاه ورودی (Incoming)، درگاههای خروجی (Outing) هم کنترل میشوند. بستههای اطلاعاتی که حاوی اطلاعات بدون مجوز هستند، به وسیله دیوار آتش متوقف میشوند.
امکانات
یکی از استفادههای معمول فایروال دادن اختیار ویژه به گروهی خاص از کاربران جهت استفاده از یک منبع بوده و باز داشتن کسانی که از خارج از گروه سعی برای دسترسی به منبع را دارند. استفاده دیگر فایروال جلوگیری از ارتباط مستقیم یک سری از رایانهها با دنیای خارج میباشد. هر چند فایروال بخش مهمی از سیستم امنیتی را تشکیل می دهد ولی طراحان به این نکته نیز توجه می ورزند که اکثر حملات از درون شبکه میآیند و نه از بیرون آن.
نحوه عملکرد بسیاری از سیستم های فایروال اینگونه است تمامی ارتباطات ازطریق یک سرویس دهنده پروکسی به سمت فایروال هدایت شده وهمین سرویس دهنده درباره امن بودن یا نبودن عبور یک پیام یا یک فایل از طریق شبکه تصمیم گیری میکند.
نمایش شماتیک یک سرویس دهنده پروکسی

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