فایروال نرمافزاری و سختافزاری از نظر هدف یکی هستن؛ هر دو قراره جلوی ترافیک غیرمجاز رو بگیرن، اما از نظر معماری، محل قرارگیری، قدرت پردازش و امکانات امنیتی تفاوتهای خیلی بزرگی با هم دارن. اگر بخوای از دید یک مهندس شبکه نگاه کنی، فایروال نرمافزاری روی خود سیستمعامل نصب میشه، یعنی داخل Endpoint قرار داره. هر بستهای که وارد کارت شبکه سیستم میشه، قبل یا بعد از رسیدن به برنامهها توسط استک شبکه سیستمعامل بررسی میشه. این فایروال معمولاً با Windows Filtering Platform در ویندوز یا Netfilter و nftables در لینوکس کار میکنه و قوانینش روی همون سیستم اعمال میشه. یعنی میتونه بگه مرورگر اجازه خروج روی پورت 443 رو داره ولی یک برنامه ناشناس حق برقراری اتصال به اینترنت رو نداره، یا فقط IPهای مشخصی اجازه اتصال به سرویس SSH داشته باشن.
اما فایروال سختافزاری اصلاً روی کلاینت نصب نیست، بلکه بین اینترنت و شبکه داخلی قرار میگیره؛ یعنی تمام ترافیک ورودی و خروجی قبل از اینکه به کامپیوترها یا سرورها برسه، از داخل فایروال عبور میکنه. در واقع تبدیل میشه به Gatekeeper شبکه. هر Packet وارد Interface فایروال میشه، Headerهای لایه 3 و 4 مثل Source IP، Destination IP، Protocol، Source Port و Destination Port بررسی میشن و اگر Rule اجازه بده وارد شبکه میشه، در غیر این صورت Drop یا Reject میشه. به همین دلیل اگر یک شرکت ۵۰۰ سیستم هم داشته باشه، فقط یک فایروال سختافزاری میتونه از کل شبکه محافظت کنه.
از نظر امنیت هم تفاوت خیلی زیاده. فایروال نرمافزاری معمولاً اگر خود سیستم آلوده بشه، بدافزار با دسترسی Administrator یا Root ممکنه قوانینش رو تغییر بده یا حتی کاملاً غیرفعالش کنه. ولی فایروال سختافزاری سیستمعامل مستقلی داره و خارج از کامپیوترها کار میکنه، بنابراین حتی اگر یکی از کلاینتها آلوده بشه، هنوز یک لایه امنیتی بین اون سیستم و اینترنت وجود داره.
از نظر پردازش هم تفاوت مهمیه. فایروال نرمافزاری از CPU و RAM همون کامپیوتر استفاده میکنه، بنابراین هرچه ترافیک بیشتر باشه، منابع بیشتری مصرف میکنه. اما فایروالهای سختافزاری پردازنده، حافظه و حتی در مدلهای حرفهای ASIC یا Network Processor اختصاصی دارن که برای پردازش میلیونها Packet در ثانیه طراحی شدن و بدون اینکه فشار روی کلاینتها بیاد، ترافیک رو تحلیل میکنن.
نکته مهم دیگه اینه که فایروالهای امروزی فقط بر اساس IP و Port تصمیم نمیگیرن. بیشتر فایروالهای سختافزاری سازمانی از نوع Stateful Firewall هستن؛ یعنی فقط بستهها رو جداگانه بررسی نمیکنن، بلکه وضعیت کامل Session رو داخل یک State Table نگه میدارن. مثلاً اگر یک کلاینت از داخل شبکه اتصال TCP به اینترنت برقرار کنه، فایروال مراحل Three-Way Handshake رو ثبت میکنه و فقط بستههایی رو قبول میکنه که متعلق به همون Session باشن. به همین خاطر خیلی از حملات مبتنی بر Packetهای جعلی یا Spoof شده همون اول رد میشن.
در مدلهای پیشرفتهتر که بهشون Next Generation Firewall (NGFW) میگن، دیگه فقط Packet Filtering انجام نمیشه. این دستگاهها میتونن Deep Packet Inspection (DPI) انجام بدن؛ یعنی علاوه بر Header، محتوای Packet رو هم بررسی کنن، برنامهها رو تشخیص بدن، کاربران رو شناسایی کنن، حملات IDS/IPS رو متوقف کنن، بدافزارها رو اسکن کنن، VPN راهاندازی کنن، دسترسی به سایتها رو فیلتر کنن، SSL/TLS Inspection انجام بدن و حتی بر اساس نوع برنامه مثل Telegram، WhatsApp یا BitTorrent تصمیم بگیرن که اجازه عبور داشته باشن یا نه.
از نظر محل استفاده هم معمولاً فایروال نرمافزاری برای محافظت از یک سیستم یا سرور استفاده میشه، اما فایروال سختافزاری در مرز شبکه (Perimeter) قرار میگیره و از کل شبکه محافظت میکنه. به همین دلیل تقریباً تمام سازمانها از هر دو به صورت همزمان استفاده میکنن. مثلاً ممکنه روی لپتاپ کارمند فایروال ویندوز فعال باشه، ولی قبل از خروج ترافیک از شرکت، همه چیز دوباره از داخل فایروال سازمانی مثل Fortinet، Palo Alto Networks، Cisco یا Sophos عبور کنه.
در دنیای امنیت هیچوقت به یک لایه دفاعی اکتفا نمیکنن. اگر مهاجم از فایروال سختافزاری عبور کنه، فایروال نرمافزاری روی سیستم هنوز میتونه جلوی ارتباط مخرب رو بگیره، و اگر بدافزار فایروال نرمافزاری رو دور بزنه، فایروال سختافزاری همچنان میتونه ارتباطش با سرور فرماندهی (C2) یا خروج اطلاعات از شبکه رو مسدود کنه. به همین دلیل استفاده همزمان از هر دو، یکی از اصول مهم امنیت شبکه و همون مفهوم Defense in Depth یا دفاع چندلایه محسوب میشه و در شبکههای حرفهای تقریباً همیشه اجرا میشه.
@ITSecurityComputer