فایروال چیست و چرا به آن دیواره آتش می گویند؟ فایروال چگونه کار می کند و چند نوع دارد؟ اگر بخواهیم به زبان ساده صحبت کنیم باید بگوییم بعد از سویچ در انواع تجهیزات شبکه ، واژه فایروال را می توانیم یکی از پرکاربردترین واژه ها در حوزه کامپیوتر و شبکه معرفی کنیم. خیلی اوقات از اینور و آنور این جملات آشنا را می شنویم که فایروالت رو عوض کن ، برای شبکه فایروال بگیر ، توی فایروال فلان رول رو اضافه کنید ، فایروالتون رو خاموش کنید و ... امروز در این مقاله می خواهیم به ساده ترین شکل ممکن و البته با بیان تجربیات خودم در مورد فایروال و سیر تا پیاز این نرم افزار یا سخت افزار با هم صحبت کنیم. با ما تا انتهای مقاله باشید.
فایروال که به انگلیسی از ترکیب دو کلمه Fire به معنی آتش و Wall به معنی دیوار تشکیل شده است ، به زبان فارسی به عنوان دیواره آتش ترجمه شده است. با توجه به اینکه ماهیت دیواره آتش جلوگیری از تهدیدات و به نوعی پاکسازی ترافیک شبکه است ، می توان چنین تفسیر کرد که این نامگذاری با توجه به ماهیت پاکسازی و ضدعفونی کننده آتش در تاریخ ، برگرفته ای از همین مفهوم باشد .
به زبان ساده تر آتش پاکسازی می کند و ضدعفونی می کند و دیواره آتش در شبکه هم ترافیک آلوده و خطرناک را پاکسازی می کند. بد نیست بدانید که آتش نماد پاکی در ایران باستان هم بوده است. در ادامه این مقاله ما فرض را بر این می گذاریم که شما تعریف شبکه چیست را به خوبی می دانید و با مفاهیم شبکه آشنایی دارید.
در ابتدا چیزی به نام فایروال در انواع شبکه های کامپیوتری وجود نداشت. بعد از به وجود آمدن روترها یا مسیریاب های شبکه ، این نیاز احساس شد که بایستی بتوانیم ترافیک را در برخی شرایط محدود کنیم. در این شرایط چیزی به نام Access Rule یا ACL در روترها معرفی شدند که پایه و اساس خیلی از فایروال های امروزی هستند.
Access Rule ها تعریف می کردند که چه آدرسهایی از کجا به کجا بتوانند بروند و یا نروند. مکانیزم کاری فایروال های اولیه هم بر همین اساس بود و فیلترینگی که بر روی ترافیک ها انجام می شد با عنوان فیلترینگ بسته یا Packet Filtering می توانست مسیر بسته های اطلاعاتی شبکه را تعیین کند.
اولین نسل از فایروال های شبکه در اواخر دهه 1980 میلادی به دنیا معرفی شدند. با توسعه و پیشرفته تکنولوژی های فایروال نسل های مختلفی از فایروال به دنیا معرفی شدند که در ادامه نسل های فایروال ها را با هم مرور می کنیم :
این نسل از فایروال ها به عنوان Generation 1 Virus هم شناخته می شوند. فایروال هایی که قبل از نسل یک فایروال ها کار می کردند صرفا بصورت فیلترینگ بسته های اطلاعاتی یا Packet Filtering کار می کردند.
این اولین نسلی از فایروال ها بود که جلوی ورود و خروج انواع بدافزار هایی مثل ویروس های کامپیوتری و تهدیدات بدافزاری را نیز می گرفت. این نوع فایروال ها انقلابی در صنعت امنیت سایبری ایجاد کردند و اولین نسل فایروال ها در اواخر دهه 1980 به بازار ارائه شدند.
این نسل از فایروال ها به عنوان Generation 2 Networks هم شناخته می شوند. این نوع فایروال ها در اواسط دهه 1990 معرفی شدند و با گسترش ارتباطات و اینترنت و به تبع آن گسترش حملات تحت شبکه و حملات اینترنتی به بازار معرفی شدند و با همین هدف ، یعنی جلوگیری از تهدیدات شبکه اینترنت و مدیریت امنیتی ترافیک اینترنت به بازار ارائه شدند.
این نسل از فایروال ها به عنوان Generation 3 Applications هم شناخته می شوند. در نسل سوم از فایروال ها ، اینبار هدف حملات هکرها و بدافزار نویس ها اپلیکیشن ها یا برنامه ها بودند و به تبع همین نوع تهدیدات ، مکانیزم های جلوگیری از حملات به اپلیکیشن ها یا نرم افزارهای کاربردی نیز به فایروال ها اضافه شدند . این نوع فایروال ها از اوایل سال 2000 به بازار معرفی شدند و در خودشان مکانیزم های سیستم های تشخیص نفوذ ( Intrusion Detection Systems ) یا IDS ها را برای اولین بار معرفی کردند.
این نسل از فایروال ها به عنوان Generation 4 Payload هم شناخته می شوند.حملات روز به روز پیشرفته تر می شوند ، در سال 2010 فایروال های نسل چهارم با محوریت مقابله با حملات رباتیک ( زامبی ها و ... ) طراحی شدند ، حملاتی که چند منظوره ، هدفمند ، ناشناخته و ترسناک بودند و به شدت در حال رشد بودند. محصولات ضد ربات در فایروال ها از این نسل اضافه شدند.
این نسل از فایروال ها به عنوان Generation 5 Mega هم شناخته می شوند. این نسل را می توان تقریبا نسل فعلی اکثر فایروال های امروزی دانست که از سال 2017 به دنیا معرفی شدند. هدف این نوع فایروال ها مقابله با حملات با مقیاس های بزرگ و چند بعدی بود . در حال حاضر اکثر مکانیزم های کاری فایروال های نسل های قبلی در این نوع فایروال ها وجود دارند.
هدف من این نیست مکانیزم پیچیده ای برای شما از نحوه کارکرد فایرولها ارائه کنم و سعی می کنم به ساده ترین شکل این روند را توضیح بدهم. فایروال یک ترافیک ورودی دارد و یک ترافیک خروجی که در اصطلاح به ورودی Inbound و به خروجی Outbound گفته می شود.
فایروال ها دارای پا یا در اصطلاح Leg هستند که یک قسمت از شبکه یا سیستم عامل را به قسمت دیگری مرتبط می کنند. به زبان ساده تر اتصالات به شبکه های مختلف است. فایروال ها ترافیک را تجزیه و تحلیل می کنند و بر اساس قوانینی که بر روی آنها تعریف شده است تصمیم می گیرند که اجازه عبور ترافیک مربوطه را بدهند یا ندهند.
طبیعی است که ترافیک شبکه دارای قالب Packet است. بنابراین زمانیکه فایروال می خواهد تصمیم گیری کند ، بعد از باز کردن بسته اطلاعاتی به آدرس مبدا ( Source ) و آدرس مقصد ( Destination ) و محتوای بسته اطلاعاتی ( Data ) توجه می کند و بر اساس آن تصمیم می گیرد که ترافیک مجاز را عبور بدهد یا آن را مسدود کند.
چنین مکانیزمی برای تقریبا همه فایروال های دنیا یکسان است. توجه کنید که ممکن است فایروال دارای فقط یک پا یا Leg باشد یا در حالتی بصورت پروکسی یا واسط عمل کند که در هر صورت تجزیه و تحلیل ترافیک به همین شکل انجام می شود. در ادامه روشهای کلی که فایروال توسط آنها جلوی ترافیک آلوده را می گیرد را با هم بررسی می کنیم. مهمترین چیز در نحوه کار فایروال این است که بدانید ، فایروال همه چیز را می بندد مگر اینکه شما آن را باز کنید. این یکی از امنیتی ترین قوانینی است که در اکثر فایروال های قدرتمند دنیا وجود دارد.
ترجمه لغوی واژه Rule به معنی قوانین است . در فایروال ها هم اصلی ترین نوع تشخیص ترافیک آلوده ، استفاده از Rule های فایروال است. وقتی صحبت از یک Rule فایروال می شود شما به آن مبدا ، مقصد و نوع ترافیک را مشخص می کنید.
برای مثال شما می گویید که اگر از آدرس آیپی وب سایت توسینسو به شماره 89.23.13.45 درخواست ریموت دسکتاپ ( پورت 3389 ) به سمت سرور مقصد به آدرس آیپی 66.77.88.99 درخواست داده شد ، اجازه عبور این ترافیک را بده ، با توجه به صحبت های پاراگراف قبلی ، فایروال ها پیشفرض همه چیز را می بندند مگر عکس آن نوشته شود. در زیر نمونه ای از یک Rule که در آن همه ترافیک باز شده است را مشاهده می کنید :
Allow All From Internal To External
ترجمه لغوی Signature به معنی امضا است. بدافزارها ، تهدیدات سایبری ، آلودگی های اپلیکیشن ها و ... معمولا یک روش کار مشخص دارند ( تا قبل از تغییر روش ) . این روشهای کارکرد در قالب الگوریتم هایی به فایروال داده می شود و فایروال بر اساس نوع ترافیک و عملکرد و درخواست های ترافیکی ، تشخیص می دهد که Signature این درخواست مطابق با یک نوع حمله هکری است و جلوی آن ترافیک را می گیرد. برای مثال ابزاری به نام NetCat که ابزار هک و نفوذ است ، در نحوه برقراری ارتباط خود شناسه یا Signature ای دارد که فایروال با داده های خود می تواند ترافیک آن را تشخیص و جلوی فعالیتش را بگیرد.
ترجمه آن تشخیص ترافیک یا رفتار غیرعادی است. این روش یکی از خلاقانه ترین و البته دشوارترین نوع تشخیص ترافیک آلوده از طرف فایروال هاست. در این نوع تشخیص آلودگی کمی از هوش مصنوعی و تجزیه و تحلیل های هوشمندانه توسط فایروال استفاده می شد.
در این نوع تشخیص تهدید هیچ Rule و Signature ای وجود ندارد و صرفا فایروال بر اساس تصمیم گیری هوش مصنوعی ترافیک آلوده را تشخیص می دهد. برای مثال بصورت نرمال یک آدرس IP در شبکه روزانه 500 مگابایت دانلود داشته است و به یکباره این دانلود به 100 گیگابایت در روز می رسد !! این ترافیک از نظر این نوع فایروال ها آلوده و جلوی آنها گرفته می شود.
فایروال ها تهدیدات شبکه ها را به بهترین شکل درک می کنند ، چون در خط حمله مقابله با آنها هستند. ما بصورت کلی تهدیدات شبکه را به شکل های زیر دسته بندی می کنیم :
یکی از شاید سخت ترین طبقه بندی ها در بحث فایروال ها ، طبقه بندی انواع فایروال است. در وب سایت های ایرانی طبقه بندی های متنوعی از فایروال را می بینید اما من به عنوان یک کارشناس امنیت سایبری و هکر کلاه سفید ، یک طبقه بندی جالب تر از فایروال ها دارم که در ادامه برای شما مطرح می کنم :
اگر با لایه های شبکه یا همان لایه های OSI آشنا باشید ، حتما درک نحوه کارکردن فایروال ها برای شما ساده تر می شود. فایروال ها را می توان بر اساس لایه های OSI تقسیم بندی کرد. از لایه دو که اطلاعات در قالب Frame هستند و مفهوم IP وجود ندارد ما فایروال هایی به عنوان Transparent Firewall داریم.
در لایه سوم که با اساس IP مکانیزم کاری انجام می شود فایروال های Packet Filtering را داریم و به همین ترتیب فایروالهای هر لایه متفاوت هستند. هر چقدر لایه فایروال ها بالاتر برود ، تهدیدات پیچیده تر و فایروال قویتر باید باشد ، فایروال های لایه هفتم را به عنوان Web Application Firewall یا WAF هم می شناسند.
واقعیت اینجاست که در دنیای امنیت ، ما چیزی به نام فایروال واقعا سخت افزاری نداریم. اما چیزی که در بازار مرسوم شده است این هست که هر فایروالی که شکل روتر و سویچ باشد و رنگ باکس آن قرمزتر باشد پس قویتر است !! همه فایروالها نرم افزاری هستند و اگر چیزی به نام فایروال سخت افزاری مشاهده می کنید ، در واقع نصب شدن یک نرم افزار فایروال بر روی یک کامپیوتر به شکل سرور است.
برای مثال ما سخت افزاری به نام کریو کنترل هم در بازار داریم که دقیقا همان نرم افزار فایروال کریو کنترل است که بر روی یک باکس کامپیوتری آماده نصب شده است. برای اطلاعات بیشتر می توانید به مقاله تفاوت فایروال نرم افزاری و فایروال سخت افزاری مهندس نصیری مراجعه کنید.
فایروال ها از نظر محل قرارگیری در شبکه به دو دسته کلی تقسیم بندی می شوند. فایروال هایی که به عنوان واسط بین شبکه ها کار می کنند و ترافیک بین شبکه ای را امن می کنند که به عنوان Network Firewall شناخته می شوند و از طرف دیگر فایروالهایی که روی سیستم عامل ها نصب می شوند و ترافیک ورودی و خروجی از یک سیستم عامل را امن می کنند که در اصطلاح Host Based Firewall هم به آنها گفته می شود.
برای مثال فایروال کریو کنترل ( Kerio Control ) و فورتیگیت ( Fortigate ) دو نوع از فایروال های تحت شبکه هستند و فایروال ویندوز ( Windows Firewall ) و فایروال لینوکس یا Iptables از جمله فایروال های Host Based به حساب می آیند.
فرض کنید که شما یک سیستم عامل ، یک شبکه در ابعاد خانگی ، یک شبکه در ابعاد یک شرکت کوچک ، یک شبکه با ابعاد یک شرکت بزرگ ، یک شبکه با ابعاد یک سازمان کوچک ، یک شبکه با ابعاد یک سازمان بزرگ و در نهایت یک شبکه در سطح یک استان یا حتی یک کشور دارید.
سوال اینجاست که آیا مدیریت و نظارت بر ترافیک و تهدیدات این شبکه ها به یک اندازه است؟ طبیعتا خیر . تجهیزات فایروالی شبکه هم بر اساس ابعاد و اندازه های شبکه و ترافیک ورودی و خروجی یک شبکه متغیر هستند.
برای مثال شما برای سیستم عامل خود از یک فایروال رایگان در ویندوز استفاده می کنید اما برای مدیریت ترافیک اینترنت یک کشور به اندازه ایران به تجهیزات فایروالی مثل فایروال F5 با هزینه های میلیاردی نیاز خواهید داشت. بنابراین فایروال ها را از نظر ابعاد و اندازه و سطح عملکرد هم تقسیم بندی می کنیم.
اما انواع فایروالی که بیشتر وب سایت های اینترنتی از آن به عنوان طبقه بندی انواع فایروال نام می برند به پنج دسته بندی کلی تقسیم بندی می شوند. این طبقه بندی بر اساس نوع عملکرد فایروال هاست و تقریبا همه انواع فایروالهایی که تا به حال اسم بردیم در این دسته بندی قرار می گیرند ، در ادامه انواع فایروال از لحاظ مکانیزم کاری را برای شما عنوان می کنیم :
این فایروال اولین نسل فایروال ها محسوب می شود و قبلا بخشی از یک روتر محسوب می شدند و این روزها عملا درون روترهای خانگی هم این نوع فایروال وجود دارد. در لایه شبکه از مدل OSI و در لایه IP از مدل TCP/IP فعالیت می کند . قواعد و قوانین و رول های نوشته شده Header بسته اطلاعاتی را باز می کنند و بر اساس شرایط تعریف شده ترافیک را منتقل یا حذف می کنند .
در فایروال های فیلترینگ بسته یا Packet Filtering اساس کار آدرس IP و آدرس مبدا و مقصد است. این فایروال بسیار کم هزینه است و در عین حال سرعت بالایی دارد و به شدت ساده عمل می کند در عین حال این روزها این فایروال عملا کاری در حوزه امنیت انجام نمی دهند و اصلا امن نیستند.
این فایروال ها با توجه به اینکه هیچ درکی از لایه کاربردی یا Application از مدل OSI ندارند نمی توانند حملات لایه های بالاتر یا حتی پایینتر را شناسایی و درک کنند ، از دیگر معایب این نوع فایروال ها نداشتن قابلیت احراز هویت و از طرفی Stateless بودن است. این یعنی قابلیت گزارش گیری و درکی از ترافیک مشکوک در شبکه ندارند. فایروالی که در خانه به عنوان وای فای خانگی استفاده می کنید یک نوع از فایروالهای Stateless و Packet Filtering است.
این نوع فایروال در لایه انتقال از مدل OSI یا لایه TCP از مدل TCP/IP کار می کند. یکی از مهمترین چیزهایی که این فایروال درک می کند فرآیند دست دادن سه مرحله ای در پروتکل TCP یا Three-way Handshake است که می تواند Session های ارتباطی را مانیتور یا نظارت کند. اطلاعاتی مثل آدرس آیپی مبدا و آیپی مقصد ، شماره پورت مبدا و مقصد ، Session ID و Session Sequence و حتی آدرس MAC مبدا و مقصد در این فایروال ذخیره می شوند.
از مزیت های این فایروال سرعت بیشتر نسبت به فایروال های لایه Application و البته به دلیل کمتر بودن بررسی روی بسته های اطلاعاتی است. این نوع فایروال ها در فیلترینگ ضعف دارند و برای محدود کردن ترافیک های خاص به مشکل می خورند.
یکی از پیشرفته ترین مکانیزم های کاری در بین فایروال ها قطعا فایروال های لایه هفت یا Application Level Gateways هستند ، این نوع فایروال ها را به عنوان Web Application Gateway یا WAF هم می شناسند و در لایه هفتم از مدل OSI کار می کند. به این نوع فایروال ها با توجه به اینکه دارای قابلیت احراز هویت هستند در اصطلاح پروکسی سرور هم گفته می شود.
این فایروالها بصورت اختصاصی برای نرم افزارهای تحت وب و جلوگیری از حمله به Web Application ها طراحی شده اند. تنظیمات این فایروال به نسبت سایر فایروال ها پیچیده است. با توجه به پیچیدگی کار و بررسی های زیاد روی حملات ، این فایروال کمی کند است.
این فایروال ها به عنوان فایروال های چند لایه هم شناخته می شوند. در اصطلاح فنی تر به آنها Multilayer Inspection یا شناسایی کننده چند لایه هم گفته می شود. تقریبا می توان آن را ترکیبی از فایروال های Packet Filtering و فایروالهای Circuit Filtering دانست . این فایروال بر روی Session های کاری بسیار متمرکز است و تنظیمات بسیار پیچیده ای به نسبت رقبای خود دارد.
فایروال های نسل بعد یا NGFW ها متمرکز بر روی بدافزارها و ترافیک های مشکوک نرم افزاری هستند. طبیعی است که این نوع فایروال ها دارای بانک اطلاعاتی برای بررسی و تحلیل نوع ترافیک بدافزارهای مختلف هستند. این نوع فایروال ها می توانند ترافیک را بازرسی کنند و با مانیتور کردن ترافیک پالیسی های ترافیکی روی آنها اعمال کنند.
این فایروال ها توانایی بسیار زیادی در شناسایی فرستندگان ترافیک دارند و برای امن کردن سرویس ها و اپلیکیشن ها بسیار توصیه می شوند. نویسنده : محمد نصیری ، منبع : وب سایت توسینسو