فایروال یک سیستم امنیتی شبکه است که ترافیک ورودی و خروجی شبکه را بر اساس قوانین امنیتی از پیش تعیین شده نظارت و کنترل می کند. فایروال ها مانعی بین یک شبکه داخلی قابل اعتماد و یک شبکه خارجی غیرقابل اعتماد مانند اینترنت هستند. آنها به جلوگیری از دسترسی غیرمجاز به شبکه و محافظت در برابر تهدیدات مبتنی بر شبکه، مانند بدافزارها، ویروسها و تلاشهای هک کمک میکنند.
این سیستم های امنیتی میتوانند مبتنی بر سختافزار یا مبتنی بر نرمافزار باشند. همچنین میتوانند به گونهای پیکربندی شوند که بر اساس معیارهای مختلف، مانند آدرسهای IP، شماره پورتها و پروتکلها، ترافیک را مجاز یا مسدود کنند. قوانین فایروال را می توان ایجاد کرد تا به ترافیک خاصی اجازه عبور از فایروال را بدهد و در عین حال ترافیک دیگری را مسدود کند. به عنوان مثال، یک قانون فایروال ممکن است به ترافیک ایمیل ورودی در پورت ۲۵ اجازه دهد در حالی که ترافیک ورودی را در پورت ۸۰ مسدود کند. چنین قوانینی معمولا برای ترافیک وب استفاده می شوند.
می توان آنها را به گونه ای پیکربندی کرد که در سطوح مختلف پشت شبکه کار کنند. فایروالهای سطح برنامه میتوانند محتوای ترافیک شبکه را بررسی کنند تا مطمئن شوند که با قوانین یا سیاستهای خاصی مطابقت دارد. فایروال های سطح حمل و نقل می توانند ترافیک را بر اساس شماره پورت ها و پروتکل ها فیلتر کنند. در حالی که فایروال های سطح شبکه می توانند ترافیک را بر اساس آدرس های IP و سایر معیارهای سطح شبکه فیلتر کنند.
کاربردهای فایروال
فایروال ها می توانند در برابر طیف وسیعی از آسیب پذیری ها و تهدیدها محافظت کنند، از جمله:
۱- دسترسی غیرمجاز
فایروال ها می توانند با مسدود کردن ترافیک ورودی از آدرس های IP غیرمجاز یا مسدود کردن پورت های خاصی که توسط آسیب پذیری های شناخته شده استفاده می شوند، در برابر دسترسی غیرمجاز به شبکه محافظت کنند.
۲- بدافزارها و ویروس ها
فایروال ها می توانند ترافیک ورودی از آدرس های IP مخرب شناخته شده را مسدود کنند یا ترافیک حاوی بدافزار یا ویروس های شناخته شده را مسدود کنند.
۳- حملات انکار سرویس (DoS)
فایروال ها می توانند با محدود کردن میزان ترافیک مجاز برای ورود به شبکه یا مسدود کردن ترافیک از منابع شناخته شده حملات به محافظت در برابر حملات DoS کمک کنند.
۴- اسکن پورت
فایروال ها می توانند تلاش های اسکن پورت را شناسایی و مسدود کنند، که مهاجمان اغلب از آن برای شناسایی سرویس های آسیب پذیر در حال اجرا در شبکه استفاده می کنند.
۵- حملات Man-in-the-Middle (MitM)
فایروال ها می توانند با نظارت و مسدود کردن ترافیکی که به نظر می رسد دستکاری شده یا از منابع غیرمجاز می آیند، در برابر حملات MitM محافظت کنند.
۶- استخراج داده ها
فایروال ها می توانند ترافیک خروجی را کنترل کنند تا از استخراج داده های حساس از شبکه جلوگیری کنند.
انواع رایج فایروال ها
انواع مختلفی از فایروال ها معمولا در شبکه ها استفاده می شوند، از جمله:
فایروال های Packet Filtering
فایروالهای فیلترینگ بسته نوعی فایروال هستند که در لایه شبکه مدل OSI عمل میکنند و بستههای جداگانه دادهها را هنگام عبور از دیوار آتش بررسی میکنند. آنها را می توان طوری پیکربندی کرد که بر اساس معیارهایی مانند آدرس IP مبدا و مقصد، شماره پورت و پروتکل ها، ترافیک را مجاز یا مسدود کند.
فایروال های فیلترینگ بسته با مقایسه بسته های داده های ورودی و خروجی با قوانین یا سیاست های از پیش تعریف شده کار می کنند. اگر یک بسته با یک قانون مطابقت داشته باشد، یا مجاز به عبور است یا از عبور از فایروال مسدود می شود. این قوانین را می توان به گونه ای پیکربندی کرد که ترافیک آدرس های IP مخرب شناخته شده را مسدود کند یا ترافیکی را که از پورت های خاص مرتبط با آسیب پذیری ها استفاده می کند مسدود کند.
در ادامه چند نمونه از فایروال های فیلترینگ بسته را ارائه می دهیم:
۱- Cisco ASA
Cisco ASA (Adaptive Security Appliance) یک فایروال فیلترینگ بسته مبتنی بر سخت افزار است که معمولاً در محیط های سازمانی استفاده می شود. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر کردن بسته ها، جلوگیری از نفوذ و اتصال VPN را ارائه می دهد.
۲- فایروال ویندوز
فایروال ویندوز یک فایروال فیلتر کننده بسته مبتنی بر نرم افزار است که در سیستم عامل مایکروسافت ویندوز تعبیه شده است. این قابلیتهای اولیه فیلتر کردن بستهها را فراهم میکند، از جمله مسدود کردن ترافیک ورودی بر اساس شماره پورت و پروتکلها.
نحوه پیکربندی فایروال ویندوز برای اجازه دادن به یک برنامه خاص
می توانید فایروال ویندوز را طوری پیکربندی کنید که به یک برنامه خاص از طریق تنظیمات آن اجازه دهد. در اینجا نحوه انجام آن آمده است:
۱- برنامه Windows Security را با جستجوی “Windows Security” در منوی Start و کلیک بر روی نتیجه جستجو باز کنید.
۲- در پنجره باز شده، بر روی “Firewall & Network protection” کلیک کنید.
۳- سپس گزینه “Allow an app through firewall” در زیر “Firewall & network protection” را انتخاب نمایید. به این ترتیب پنجره “Allowed apps” باز می شود.
۴- روی دکمه “Change Settings” کلیک کنید. سپس به پایین اسکرول کنید، برنامه موردنظر را انتخاب و کادرهای “Public” و “Private” را تیک بزنید.
۵- با کلیک بر روی دکمه “Allow another app” میتوانید برنامه مورد نظر خود را انتخاب کرده و همین تنظیمات را انجام دهید.
۶- در آخر برای ذخیره تغییرات روی “OK” کلیک کنید.
برای مشاهده ویدئوی این آموزش، اینجا را کلیک کنید.
۳- iptables
Iptables یک فایروال فیلتر کننده بسته است که معمولاً در سیستم های مبتنی بر لینوکس استفاده می شود. طیف وسیعی از قابلیتهای فیلتر بسته را فراهم میکند، از جمله مسدود کردن ترافیک بر اساس آدرسهای IP، شماره پورتها و پروتکلها.
فایروال های فیلترینگ بسته شکل نسبتاً ساده و مؤثری از امنیت شبکه هستند. آنها معمولاً همراه با سایر اقدامات امنیتی مانند سیستم های تشخیص نفوذ و پیشگیری برای ارائه امنیت شبکه جامع استفاده می شوند. با این حال، آنها می توانند محدودیت هایی مانند عدم توانایی در بازرسی محتویات بسته ها یا شناسایی تهدیدهای پیشرفته تر داشته باشند. به این ترتیب، استفاده از فایروال های فیلتر کننده بسته در ارتباط با سایر اشکال امنیت شبکه برای ارائه حفاظت جامع مهم است.
محدودیتهای فایروالهای Packet Filtering
در حالی که در برخی سناریوها موثر است، فایروال های فیلتر بسته می توانند محدودیت هایی را در هنگام اجرای اقدامات امنیتی شبکه اعمال کنند. در اینجا برخی از محدودیت های فایروال فیلتر بسته ها را می آوریم:
۱- قابلیت های بازرسی محدود
فایروالهای فیلترکننده بستهها تنها بستههای داده جداگانه را هنگام عبور از دیوار آتش بررسی میکنند. آن ها نمی توانند محتویات بسته ها را بازرسی کنند یا تهدیدات پیشرفته تر را تشخیص دهند.
۲- عدم توانایی در شناسایی حملات مبتنی بر پروتکل
آنها فقط می توانند ترافیک را بر اساس پروتکل و شماره پورت مسدود کنند. آنها نمی توانند محتویات بسته ها را برای شناسایی حملات مبتنی بر پروتکل، مانند حملات SQL injection یا cross-site scripting (XSS) بررسی کنند.
۳- ناتوانی در شناسایی تهدیدات مبتنی بر کاربر
فایروال های فیلتر کننده بسته نمی توانند تهدیدهای مبتنی بر کاربر، مانند دسترسی غیرمجاز یا سرقت داده ها را شناسایی کنند، مگر اینکه برای مسدود کردن ترافیک آدرس های IP مخرب شناخته شده پیکربندی شده باشند.
۴- مقیاس پذیری محدود
آنها می توانند تحت تأثیر حجم بالای ترافیک قرار گیرند که منجر به کاهش عملکرد می شود. به این ترتیب خطر دور زدن فایروال توسط مهاجمان افزایش می یابد.
به طور کلی، فایروال های فیلتر بسته در برخی سناریوها مؤثر هستند و معمولاً با سایر اقدامات امنیتی برای تأمین امنیت شبکه جامع استفاده می شوند. با این حال، محدودیتهای فایروال فیلتر بستهها باید در هنگام اجرای اقدامات امنیتی شبکه در نظر گرفته شود و انواع دیگر فایروالها، مانند فایروالهای بازرسی حالت و فایروالهای سطح برنامه، باید برای نیازهای امنیتی پیشرفتهتر در نظر گرفته شوند. علاوه بر این، مهم است که به طور منظم قوانین فایروال را بررسی و به روز کنید تا اطمینان حاصل شود که آنها محافظت کافی در برابر تهدیدات شناخته شده را ارائه می دهند.
فایروال های Stateful inspection
فایروالهای Stateful inspection نوعی فایروال هستند که در لایه انتقال مدل OSI کار میکنند و برای ارائه امنیت شبکه پیشرفتهتری نسبت به فایروالهای فیلترینگ بسته طراحی شدهاند. آنها وضعیت اتصالات شبکه را پیگیری می کنند. آنها می توانند بسته های داده را بررسی کرده و آنها را با پایگاه داده ای از اتصالات شناخته شده و قابل اعتماد مقایسه کنند تا تعیین کنند که آیا ترافیک مجاز است یا مسدود شود.
فایروال های Stateful inspection با پیگیری وضعیت اتصالات شبکه، از جمله آدرس IP مبدا و مقصد، شماره پورت و پروتکل استفاده شده کار می کنند. هنگامی که بسته ای از داده دریافت می شود، فایروال آن را با پایگاه داده ای از اتصالات شناخته شده و قابل اعتماد مقایسه می کند تا تعیین کند که آیا ترافیک مجاز است یا مسدود شود.
در ادامه چند نمونه از فایروال های Stateful inspection را معرفی می کنیم:
۱- Check Point Firewall
Check Point Firewall یک فایروال بازرسی وضعیتی مبتنی بر سخت افزار است که معمولاً در محیط های سازمانی استفاده می شود. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر کردن بسته ها، جلوگیری از نفوذ و اتصال VPN را ارائه می دهد.
۲- فایروال Juniper Networks
فایروال Juniper Networks یک فایروال بازرسی وضعیتی مبتنی بر سخت افزار است که برای تامین امنیت شبکه پیشرفته طراحی شده است. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر کردن بسته ها، جلوگیری از نفوذ و اتصال VPN را ارائه می دهد.
۳- فایروال Fortinet
فایروال Fortinet یک فایروال بازرسی مبتنی بر سخت افزار است که برای تامین امنیت شبکه پیشرفته طراحی شده است. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر کردن بسته ها، جلوگیری از نفوذ و اتصال VPN را ارائه می دهد.
چنین فایروال هایی امنیت شبکه پیشرفته تری را نسبت به فایروال های فیلتر کننده بسته فراهم می کنند. آنها وضعیت اتصالات شبکه را پیگیری می کنند و بسته های داده را با پایگاه داده ای از اتصالات شناخته شده و قابل اعتماد مقایسه می کنند. این ویژگی به آنها اجازه می دهد تا محافظت جامع تری در برابر تهدیدات مبتنی بر شبکه، مانند حملات DoS و تلاش برای اسکن پورت، ارائه دهند. با این حال، فایروالهای Stateful inspection همچنان میتوانند محدودیتهایی داشته باشند. مانند ناتوانی در شناسایی تهدیدات پیشرفتهتر، مانند حملات روز صفر و بدافزارهای پنهان در ترافیک قانونی.
محدودیت های فایروال های Stateful inspection
در حالی که این فایروالها پیشرفتهتر از فایروالهای Packet Filtering هستند، اما همچنان محدودیتهایی دارند که باید هنگام اجرای اقدامات امنیتی شبکه در نظر بگیرند. در اینجا به برخی از محدودیت های فایروال های Stateful inspection اشاره می کنیم:
۱- ناتوانی در شناسایی تهدیدات پیشرفته
آنها فقط می توانند بسته های داده را با یک پایگاه داده اتصالات شناخته شده و قابل اعتماد مقایسه کنند. آنها نمی توانند تهدیدات پیشرفته تری مانند حملات روز صفر یا بدافزارهای پنهان در ترافیک قانونی را شناسایی کنند.
۲- عدم توانایی در شناسایی حملات مبتنی بر پروتکل
فایروال های Stateful inspection فقط می توانند بسته های داده را بازرسی کرده و آنها را با یک پایگاه داده اتصالات شناخته شده و قابل اعتماد مقایسه کنند. آنها نمی توانند محتویات بسته ها را برای شناسایی حملات مبتنی بر پروتکل، مانند حملات SQL injection یا cross-site scripting (XSS) بررسی کنند.
۳- شناسایی کاربر محدود
آنها فقط می توانند کاربران را بر اساس آدرس های IP شناسایی کنند و نمی توانند شناسایی دقیق یا احراز هویت کاربر را ارائه دهند.
۴- مقیاس پذیری محدود
Stateful inspection ممکن است تحت فشار حجم بالای ترافیک قرار گیرند که منجر به کاهش عملکرد و به طور بالقوه مهاجمان برای دور زدن فایروال می شود.
فایروال های سطح برنامه
فایروال های lication-Level که به عنوان فایروال های لایه ۷ نیز شناخته می شوند، نوعی فایروال هستند که در لایه کاربردی مدل OSI کار می کنند. آنها محتویات بسته های داده های ورودی و خروجی را بررسی می کنند تا اطمینان حاصل کنند که آنها با قوانین یا سیاست های خاص مطابقت دارند. مانند مسدود کردن ترافیک حاوی کلمات کلیدی یا الگوهای خاص. آنها همچنین می توانند محتوای ترافیک وب را بررسی کنند تا اطمینان حاصل کنند که با سیاست های امنیتی خاص مطابقت دارد. از جمله مسدود کردن ترافیک حاوی کدهای مخرب یا دسترسی به وب سایت های خاص.
در ادامه چند نمونه از فایروال های سطح برنامه آورده شده اند:
۱- Barracuda WAF
Barracuda WAF (Web Application Firewall) یک فایروال در سطح برنامه مبتنی بر سخت افزار است که برای محافظت از برنامه های وب در برابر حملاتی مانند تزریق SQL و اسکریپت بین سایتی (XSS) طراحی شده است. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر محتوا، مدیریت ترافیک لایه برنامه و بارگذاری SSL را ارائه می دهد.
۲- ModSecurity
ModSecurity یک فایروال در سطح برنامه منبع باز است که می تواند با سرورهای وب مانند Apache و NGINX ادغام شود. همچنین، طیف وسیعی از ویژگی های امنیتی از جمله فیلتر محتوا، جلوگیری از نفوذ و رمزگذاری SSL/TLS را ارائه می دهد.
۳- سرور مایکروسافت ISA
سرور Microsoft ISA (امنیت و شتاب اینترنت) یک فایروال در سطح برنامه مبتنی بر نرم افزار است که برای ارائه امنیت شبکه پیشرفته برای محیط های مبتنی بر مایکروسافت طراحی شده است. طیف وسیعی از ویژگی های امنیتی از جمله فیلتر محتوا، مدیریت ترافیک لایه برنامه و اتصال VPN را ارائه می دهد.
فایروالهای سطح برنامه با بازرسی محتوای ترافیک شبکه و اعمال سیاستهای امنیتی خاص، امنیت شبکه پیشرفتهتری را نسبت به فایروالهای فیلتر بسته و فایروالهای Stateful inspection فراهم میکنند. این به فایروال های سطح برنامه اجازه می دهد تا محافظت جامع تری در برابر تهدیدات خاص برنامه، مانند تزریق SQL و اسکریپت بین سایتی (XSS) ارائه دهند. با این حال، مانند انواع دیگر فایروالها، فایروالهای سطح برنامه همچنان میتوانند محدودیتهایی داشته باشند. مانند ناتوانی در شناسایی تهدیدهای پیشرفتهتر، مانند حملات روز صفر یا بدافزارهای پنهان در ترافیک قانونی.
محدودیت های فایروال های سطح برنامه
در حالی که فایروالهای سطح برنامه پیشرفتهتر از فیلتر کردن بستهها و فایروالهای بازرسی وضعیتی هستند، اما همچنان محدودیتهایی دارند که باید هنگام اجرای اقدامات امنیتی شبکه در نظر گرفته شوند. در اینجا برخی از محدودیت های فایروال های سطح برنامه وجود دارد:
۱- ناتوانی در شناسایی تهدیدات پیشرفته
فایروال های سطح برنامه فقط می توانند محتویات بسته های داده را بازرسی کنند و سیاست های امنیتی خاصی را اعمال کنند. آنها نمی توانند تهدیدات پیشرفته تری مانند حملات روز صفر یا بدافزارهای پنهان در ترافیک قانونی را شناسایی کنند.
۲- مقیاس پذیری محدود
فایروالهای سطح برنامه میتوانند در حجم بالای ترافیک غرق شوند که منجر به کاهش عملکرد شده و به طور بالقوه مهاجمان را قادر میسازد که دیوار آتش را دور بزنند.
۳- پشتیبانی از پروتکل محدود
فایروال های سطح برنامه برای محافظت از برنامه های خاص طراحی شده اند و ممکن است از همه پروتکل های استفاده شده توسط برنامه ها پشتیبانی نکنند.
۴- پیکربندی پیچیده
فایروال های سطح برنامه می توانند برای پیکربندی پیچیده باشند و نیاز به درک کامل برنامه های محافظت شده و سیاست های امنیتی در حال اجرا دارند.
به طور کلی، فایروال های سطح برنامه جزء مهم امنیت شبکه هستند، به ویژه برای محیط هایی که به شدت به برنامه های کاربردی وب متکی هستند. لازم است که به طور منظم قوانین فایروال را بررسی و به روز کنید. به این ترتیب مطمئن میشوید که آنها محافظت کافی در برابر تهدیدات شناخته شده ارائه می دهند. همچنین، لازم است بررسی کنید فایروال برای تأمین امنیت مطلوب برای نیازهای خاص شبکه پیکربندی شده باشد.