سیستمی‌ها
فایروال یا دیوار آتش چیست؟ - نسخه‌ی قابل چاپ

+- سیستمی‌ها (http://forums.systemiha.ir)
+-- انجمن: عرفان (http://forums.systemiha.ir/forumdisplay.php?fid=8)
+--- انجمن: تجربه های شخصی بچه های انجمن (http://forums.systemiha.ir/forumdisplay.php?fid=20)
+--- موضوع: فایروال یا دیوار آتش چیست؟ (/showthread.php?tid=951)



فایروال یا دیوار آتش چیست؟ - youka - 2017/09/16

فایروال (Firewall) یا دیوار آتش به نرم افزارها یا سخت افزارهایی گفته می‌شود که از دسترسی‌های غیرمجاز به کامپیوتر فرد در یک شبکه یا اینترنت جلوگیری کرده و داده‌های ورودی و خروجی را کنترل می‌کند. درواقع کار فایروال بسیار شبیه به در خانه شماست. کسانی که مجوز ورود را دارند می‌توانند وارد خانه شوند و برعکس کسانی که حق ورود به خانه را ندارند، نمی‌توانند به آن وارد شوند (با این تفاوت که معمولاً در فایروال‌ها هر دو جهت ورودی و خروجی کنترل می‌شود). یعنی فایروال به عنوان یک لایه امنیتی داده‌ها و ارتباطات را فیلتر می‌کند.
دیوار آتش یکی از مهمترین لایه‌های امنیتی شبکه‌های کامپیوتری است که وجود نداشتن آن موجب می‌شود هکرها و افراد خراب کار بدون وجود داشتن محدودیتی به شبکه وارد شده و کار خود را انجام دهند. یک فیلتر هوای خودرو را فرض کنید که از ترکیبات بسیار موجود در هوا، فقط اکسیژن را عبور می‌دهد حال آن که اگر ذرات دیگر مانند گرد و غبار نیز به داخل موتور وارد شوند، به آن آسیب خواهند رساند. بنابراین وجود یک فایروال (حتی اگر آنتی ویروس یا اینترنت سکیوریتی داشته باشید) برای همه کاربرانی که به یک شبکه وصل هستند یا از اینترنت استفاده می‌کنند، کاملاً ضروری است.
فایروال چگونه کار می‌کند؟
حال که فهمیدیم فایر وال چه کاری می‌کند، بهتر است به نحوه کار آن بپردازیم. داده‌ها در یک ارتباط شبکه‌ای (چه اینترنت باشد چه یک شبکه محلی) در رفت و برگشت از محلی به نام دروازه (Gateway) عبور می‌کنند. فایروال‌ها برای بالاترین امنیت ممکن، در این قسمت قرار می‌گیرند. اگر مقیاس را کوچک تر کرده و یک کامپیوتر مستقل را در نظر بگیرید، فایروال درست بعد از درایور کارت شبکه قرار می‌گیرد بنابراین در هر دو حالت، همه داده‌های ورودی و خروجی از فایروال باید بگذرند.
فایروال‌ها طبق معیارهایی (که به آن‌ها Rule گفته می‌شود) که برای آن تعیین می‌شود داده‌ها را فیلتر می‌کنند. برای درک بهتر یک دربان کنفرانسی را در نظر بگیرید. این دربان طبق لیستی که دارد (همان معیارهای فایروال) به اشخاص دارای مجوز امکان ورود را می‌دهد و از ورود سایر افراد غیرمجاز به کنفرانس جلوگیری می‌کند. فایروال نیز مانند همین دربان کار می‌کند یعنی داده‌های ورودی و خروجی را با لیست Rule های خود مطابقت داده و آن‌هایی که اجازه گذشتن از فایروال را دارند، عبور می‌دهد (Allow کند) یا آن‌ها را عبور ندهد (Deny کند).
از جمله Rule های فایروال می‌توان به باز بودن یا بسته بودن یک درگاه (پورت - Port)، اجازه داشتن یک برنامه خاص برای ارتباط با شبکه، محدود کردن یا آزاد کردن پروتکل‌ها (مانند HTTP یا FTP)، مقایسه کردن بسته‌های داده با محتوای مشخص و ... .
انواع فایروال:
فایروال‌ها به سه نوع "لایه شبکه"، "لایه اپلیکیشن یا کاربردی" و "فایروال پراکسی" از لحاظ نحوه عملکرد تقسیم می‌شوند که کاربر می‌تواند در یک زمان از همه یا هیچ کدام از آن‌ها استفاده کند:
• دیوار آتش لایه شبکه یا فیلتر بسته‌ها (Network layer or packet filters):
فایروال‌های شبکه (Network Firewall) یا فیلتر بسته‌ها نوعی دیوار آتش هستند که تنها وظیفه دارند تا با توجه به سربرگ (Header) پکت‌های TCP/IP و مقایسه معیارهای خود با اطلاعاتی نظیر آدرس IP فرستنده ویا گیرنده، پورت انتقالی فرستنده ویا گیرنده، زمان دریافت، نوع سرویس (ToS) و پارامترهای مشابه تصمیم به عبور دادن و مسیر دهی بسته‌ها بگیرد یا آن‌ها را بلاک کند. فایروال لایه شبکه می‌تواند تا حداکثر چهار لایه (از ۱ تا ۴) از مدل OSI را فیلتر کند. از مرحله یک تا سوم که لایه فیزیکی تا شبکه است و لایه چهارم (انتقال) که برای فهمیدن پورت مقصد استفاده می‌کند.
در این نوع، فایروال هیچ کاری به محتوای بسته‌های ارسالی یا دریافتی نداشته و فقط طبق سربرگ‌ها و هدرهای بسته‌ها تصمیم گیری می‌کند. مثلاً بسته‌هایی که فقط در هدر آن‌ها ذکر شده باشد که به پورت ۸۰ (پورت وب یا HTTP) فرستاده شوند را اجازه عبور دهد. این نوع فایروال‌ها معمولاً به دلیل این که مقایسات کلی را انجام نمی‌دهند، سرعت بسیار بالاتری نسبت به سایر دیوارهای آتش دارند. اینگونه فایروال را تقریباً می‌توان در هر دستگاه شبکه‌ای مثل مسیریاب‌ها (روترها - Routers)، سوئیچ‌ها (Switches) و ... یافت.
فایروال لایه کاربرد (Application firewall):
فایروال‌های لایه کاربردی (Application Firewalls) می‌توانند کل یک بسته را آنالیز کنند که شامل سربرگ‌ها و محتوای آن است. برعکس فایروال لایه شبکه که به محتوا کاری نداشت، در این نوع فایروال فیلتر اصلی بر روی محتوای پکت‌ها داده اعمال می‌شود بنابراین می‌توان گفت که این فایروال می‌تواند در تمامی لایه‌های مدلینگ OSI کار کند یعنی ۷ لایه. از لایه ۱ تا ۴ که عمل مسیریابی و انتقال انجام می‌شود و از لایه ۵ تا ۷ نیز که لایه محتوای داده‌هاست. به همین دلیل این نوع فایروال می‌تواند بسیار امن تر و قابل اعتماد تر باشد.
فهمیدیم که هدرهای بسته‌ها چگونه بررسی می‌شوند حال به بررسی و فیلترینگ محتوای بسته‌ها می‌پردازیم. می‌دانیم که بخش اصلی پکت‌ها همان محتوای آن است پس این همان قسمت است که باید آنالیز شود. منظور از محتوای پکت‌ها همان داده‌هایی هستند که درحال انتقال اند مثلاً ممکن است داده‌های مربوط به یک فایل، صفحه اینترنتی، ایمیل و ... باشد. این نوع فایروال‌ها قابلیت ایجاد معیارهای فیلترینگ دارند که محتوا و هدرهای بسته‌ها را طبق آن معیارها فیلتر کند. مثلاً فرض کنید که این داده‌ها خود آلوده باشند (یعنی فایلی که منتقل می‌شود ویروسی باشد) در اینجاست که برخی از فایروال‌های لایه کاربرد به بررسی و فیلتر کردن این داده‌ها می‌پردازد. از جمله این فایروال‌های اسکنر می‌توان به بخشی از اینترنت سکیوریتی‌ها اشاره کرد.
طبیعی است که چک کردن کل محتوای منتقل شده زمان بر است بنابراین سرعت کار این نوع فایروال‌ها نیز کند است. از جمله فایروال‌های لایه اپلیکیشن می‌توان ویندوز فایروال (Windows Firewall)، کومودو (Comodo) و ... را نام برد.
فایروال‌های پراکسی (Proxies):
سرورهای پراکسی (یا پروکسی - Proxy) نوعی رابط بین یک شبکه و یک شبکه دیگر یا یک کاربر و اینترنت است که برای مواردی نظیر حفظ امنیت، پنهان کردن هویت و ... استفاده می‌شود در واقع کاربر بجای این که درخواست خود را مستقیماً به یک شبکه یا یک سرور دیگر در اینترنت بفرستد و پاسخ آن را نیز مستقیماً دریافت کند، آن را به یک سرور به نام پراکسی فرستاده و سرور پراکسی آن بسته را به مقصد اصلی می‌رساند. در هنگام دریافت پاسخ نیز ابتدا به سرور پراکسی فرستاده شده و پراکسی در صورت نیاز پردازش‌هایی را بر روی آن انجام داده و به کاربر اصلی بر می‌گرداند.
فایروال‌ پراکسی یا پروکسی (Proxy Firewalls) نوعی از فایروال‌هاست که بر روی سرور پراکسی اجرا می‌شود و کاربر با وصل شدن به آن، در واقع به یک فایروال وصل شده است چون همه داده‌های رد و بدل شده از سرور پراکسی می‌گذرد و ما یک فایروال پراکسی بر روی آن نصب کرده‌ایم، داده‌ها در طول مسیر انتقال فیلتر خواهند شد. این نوع فایروال معایب خود را نیز دارد از جمله آن که می‌توان داده‌ها را در طول مسیر بین پراکسی و کاربر یا پراکسی و اینترنت دزدید یا سایر حملات را بر روی آن عملی کرد. درصورتی که ارتباط بین کاربر و فایروال پراکسی رمزگذاری شده باشد، این احتمال به حداقل خود خواهد رسید.
فایروال سخت افزاری و نرم افزاری:
فایروال‌ها می‌توانند "نرم افزاری" و "سخت افزاری" باشند که کاربر می‌تواند هر دوی آن‌ها را همزمان در کنار یکدیگر نیز استفاده کند. نرم افزاری یا سخت افزاری بودن فایروال به این معنا نیست که یک "نوع" دیگر از فایروال هستند (آن‌هایی که در بخش بالا ذکر شد) بلکه نشان دهنده قالبی است که شرکت‌های تولید کننده محصولات خود را ارائه کرده و می‌فروشند:
• فایروال‌های نرم افزاری:
فایروال‌های نرم افزاری (Software Firewall) در قالب برنامه‌های قابل نصب یا قابل حمل برای سیستم عامل‌های مختلف مثل ویندوز، لینوکس، OS X و ... ارائه شده و بهترین انتخاب برای کاربران خانگی است. این گونه فایروال‌ها را معمولاً به صورت تعبیه شده (Built-in) می‌توان در خود سیستم عامل‌ها پیدا کرد برای مثال در سیستم عامل ویندوز برنامه Windows Firewall (که به صورت پیش فرض فعال است) می‌تواند بیشتر نیازهای کاربران را تامین کند اگر چه پیشنهاد می‌شود از سایر فایروال‌های نرم افزاری مانند Comodo یا Zone Alarm در کنار آن استفاده شود.
از مهمترین مزایای این گونه فایروال‌ها به نصب آسان آن (مثل یک برنامه ساده) و امکان پیکربندی و ایجاد Rule های متنوع مورد نیاز اشاره کرد برای مثال می‌توان یک برنامه خاص را مجاز کرد و از اتصال یک برنامه دیگر به شبکه یا اینترنت جلوگیری کرد. همچنین کار با این فایروال‌ها بسیار ساده بوده و حتی کاربران مبتدی نیز می‌توانند با خیال راحت از آن‌ها استفاده کنند درحالی که نوع سخت افزاری فایروال‌ها نیاز به پیکربندی‌های دقیق تر دارند.
اما عیب این فایروال این است به دلیل ماهیت نرم افزاری بودن، فقط کامپیوتری را محافظت خواهد نمود که بر روی آن نصب شده باشد و هیچ اختلالی در فایل‌های فایروال وجود نداشته باشد به همین دلیل برای یک شبکه که از چندین کامپیوتر تشکیل شده باشد، استفاده از فایروال سخت افزاری در کنار فایروال نرم افزاری پیشنهاد می‌شود.
فایروال‌های سخت افزاری:
فایروال‌های سخت افزاری (Hardware Firewall) در قالب دستگاه‌های فیزیکی ارائه می‌شوند که به تنهایی و بدون نیاز به هیچ چیز اضافی (مثل سیستم عامل کامپیوتر فرد و ...) می‌تواند داده‌ها را فیلتر کرده و عمل محافظت را انجام دهد. معمولاً در روترهایی که قدیمی نیستند، یک فایروال در آن‌ها تعبیه شده است که توسط ارزیابی هدر پکت‌ها این کار را انجام می‌دهد.
برخلاف فایروال نرم افزاری، فایروال سخت افزاری می‌تواند بیش از یک کامپیوتر موجود در شبکه را محافظت کند چون هیچ وابستگی‌ای به کامپیوترهای شبکه نداشته و به تعداد پورت‌های آن می‌تواند کامپیوترهای شبکه را به وسیله یک فایروال سخت افزاری محافظت نمود.منبع : لیست قیمت فایروال
برای یک کاربر عادی، استفاده از فایروال نرم افزاری آن هم از فایروال‌های پیش فرض سیستم عامل می‌تواند کافی به نظر برسد اما استفاده از سایر فایروال‌های نرم افزاری را توصیه می‌کنیم. همچنین یک فایروال سخت افزاری به تنهایی نمی‌تواند لایه امنیتی قابل اعتمادی باشد به همین دلیل استفاده از فایروال‌های نرم افزاری را، اگر چه از نوع سخت افزاری نیز استفاده شود، پیشنهاد می‌کنیم.