فایروال حالتمند

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در رشتهٔ کامپیوتر ، یک فایروال حالتمند(هر فایروالی که برنامهٔ بررسی حالتمند بسته (SPI) یا بررسی حالتمند را اجرا می کند) فایروالی می باشد که وضعیت اتصالات روی شبکه را نگه می دارد(شبیه ارتباطات UDP و جریان های TCP). فایروال طوری برنامه ریزی شده تا بسته های مشروع مربوط به اتصالات مختلف تمیز داده شوند. تنها بسته های مربوط به اتصالات فعال شناخته شده، توسط فایروال مجوز می گیرند و دیگر بسته ها رد می شوند.

تاریخچه[ویرایش]

قبل از ورود فایروال حالتمند، فایروال غیرحالتمند، فایروالی که در انزوا با هر فریم شبکه ( بسته) رفتار می کند، متعارف بود. مثل فیلتر بسته که در لایه شبکه کار می کند و کارایی مؤثرتری دارد زیرا تنها به سرآیند یک بسته نگاه می کند. غیر حالتمند بودن یکی از اشکالات فیلترهای محض بسته می باشد.آن ها هیچ سابقه ای از بسته های قبلی نگه نمی‌دارند که باعث آسیب پذیر بودن آن ها در مقابل حمله های جاعلانه می شود. یک چنین فایروالی گاهی نمی‌تواند تعیین کند که آیا بستهٔ دریافتی مربوط به اتصال حاضر می باشد یا اینکه سعی در برقراری اتصال جدید دارد یا بسته ای ولگرد است. فایروال های مدرن اتصال آگاه به سرپرست شبکه امکان کنترل دقیق تر ترافیک شبکه را می دهد.
مثال قدیمی از عملکرد شبکه در پروتکل انتقال فایل ممکن است که با فایروال های غیرحالتمند شکست بخورد. با این طراحی، این پروتکل ها برای درست کار کردن نیاز به توانایی برقراری اتصال به پورت های دلخواه بالا دارند. از آنجا که فایروال غیرحالتمند راهی برای شناخت بسته های عازم به شبکهٔ امن (برای مثال، به پورت ۴۹۷۰ میزبان مقصد) که بخشی از یک نشست FTP مشروع است، راندارد، این بسته را دور می ریزد. فایروال های حالتمند این مشکلات را با نگهداری جدولی از اتصالات باز و دایر و مرتبط کردن هوشمندانهٔ درخواست های اتصال جدید به اتصال مشروع موجود، حل می کنند.
اختراع فایروال های حالتمند معمولاً به Nir Zuk و تیم او در Check Point در اواسط دههٔ ۱۹۹۰ نسبت داده شده است.
تلاش های اولیه برای تولید فایروال در لایهٔ کاربرد، بالاترین لایه از مدل هفت لایهٔ OSI شروع شد. این متد به حد بالا و گزافی از قدرت محاسباتی نیاز دارد و به ندرت در پیاده سازی های مدرن استفاده می شود.

توصیف[ویرایش]

یک فایروال حالتمند قادر به نگهداری ویژگی های ضروری هر اتصال، از برقراری تا اختتام در حافظه می باشد. این ویژگی ها، که معروف به وضعیت اتصال می باشند، شامل جزئیاتی مانند آدرس IP و پورت درگیر در اتصال و شماره ترتیب بسته هایی که در حال پیمایش اتصال هستند، می باشد.
بررسی پرقدرت CPU، در زمان راه اندازی اتصال انجام می شود. پس از این همهٔ بسته ها (برای این نشست) به علت سادگی و سرعت تعیین کردن تعلق بسته به نشست موجود یا از پیش برقرار شده، به سرعت پردازش می شوند. به محض اینکه این نشست اختتام یافت، مدخل آن از جدول وضعیت دور انداخته می شود.
فایروال حالتمند براساس دست دهی سه طرفه کار می کند که گاهی اوقات زمانیکه پروتکل استفاده شده TCP باشد با "SYN ,SYN-ACK ,ACK" (استفاده از بیت های همزمانی و تایید را نشان می دهد.) موجود در پروتکل TCP، توصیف می شود و زمانیکه پروتکل UDP باشد، فایروال حالتمند وابسته به چیزی مرتبط با TCPنیست.
زمانیکه یک مشتری اتصالی را برقرار می کند، بسته ای را ارسال می کند که بیتِ SYN (ی که در سرآیند بسته قرار گرفته است) آن یک شده است. همهٔ بسته های با بیت SYN یک شده برای فایروال به عنوان اتصال جدید در نظر گرفته می شوند. اگر سرویس مورد درخواست مشتری روی سرور قابل دسترس باشد، سرویس به بستهٔ SYN با بسته ای که بیت SYN و ACK آن یک شده باشد، پاسخ می دهد.
سپس مشتری با بسته ای که تنها بیت ACK آن یک شده است، جواب می دهد و اتصال وارد وضیت STSBLISHED می شود. همچنین یک فایروال همهٔ بسته های خروجی را از خود عبور می دهد اما تنها اجازهٔ ورود بسته هایی را می دهد که بخشی از اتصال برقرار هستند، این گونه تضمین می کنند که هکرها نمی‌توانند اتصالاتی که از داخل شبکه درخواست نشده اند را با ماشین مورد حفاظت برقرار کنند.
برای جلوگیری از پرشدن جدول وضعیت، اگر برای دورهٔ معینی ترافیکی از آن اتصال عبور نکند، زمان نشست ها به پایان خواهد رسید. اتصالات تاریخ گذشته از جدول وضعیت دور ریخته می شوند. به همین علت تعدادی از برنامه های کاربردی پیام های Keep alive را در زمان های معینی ارسال می کنند تا فایروال اتصال را در فواصل زمانی ای که کاربر فعالی وجود ندارد، قطع نکند، گرچه بعضی از فایروال ها طوری سازماندهی شده اند که می توانند این پیام ها را به برنامه های کاربردی ارسال کنند.
تعدادی از فایروال های حالتمند قادر به ردیابی جریان ها در پروتکل های غیراتصال گرا هستند. تکنیک UDP hole punching مرتبط با UDP می باشد. در این ها معمولاً بعد از اولین بسته ای که توسط فایروال دیده شود، نشست ها فوراً به وضعیت STABLISHED می رسند. نشست ها در پروتکل های غیراتصال گرا تنها با به پایان رسیدن زمان نشست ها،به پایان خواهد رسید.
با نگهداری مسیر وضعیت اتصال، فایروال های حالتمند با بازرسی بسته ها،بازده و کارایی افزوده فراهم می کنند. به این دلیل است که فایروال به جای بررسی هر بسته در برابرمجموعهٔ قوانینش (که بسیار گسترده می باشد)، تنها احتیاج به بررسی جدول وضعیت دارد. همچنین، از آنجا که در فایروال های حالتمند، در برابر ترافیک ورودی ابتدا بررسی جدول وضعیت به جای پرش به مجموعه قوانین فایروال، انجام می شود، مفهوم بازرسی عمیق بسته غیرمرتبط با فایروال های حالتمند می باشد. در این مورد اگر جدول وضعیت با تغییرات مطابقت پیدا کرده باشد، آنگاه دیگر نیازی به بازرسی عمیق بسته نیست.
بازرسی عمیق بسته با استفاده از ASIC- دستگاه های شتاب داده شده ای که به طور خاص برای اداره کردن تراکنش های لایه کاربرد مهندسی شده، حاصل شده است.

فیلترهای سطح کاربرد[ویرایش]

هرچند، فیلترینگ بسته به تنهایی نمی‌تواند فراهم کنندهٔ مقدار کافی از محافظت باشد. به منظور سد کردن مؤثر راه ترافیک شبکهٔ نظیر به نظیر فایروالی نیاز است که فیلترینگ کاربرد انجام دهد تا بتواند در ادامهٔ بازرسی حالتمند بسته انجام شود. بازرسی حالتمند بسته می تواند نوع پروتکلی که از روی آن اطلاعات به هر پورت ارسال شده را تعیین کند، اما فیلترهای سطح کاربرد به چیزی که پروتکل برای آن استفاده شده نگاه می کنند. برای مثال یک فیلتر سطح کاربرد ممکن است قادر به تشخیص تفاوت بین ترافیک HTTPای که برای دستیابی به صفحات وب استفاده می شود و ترافیک HTTPای که برای به اشتراک گذاری فایل استفاده می شود، باشد، درحالیکه یک فایروالی که تنها فیلترینگ بسته را اجرا می کند، با انواع مختلف ترافیک HTTP به طور یکسان برخورد می کند.
فایروال های سطح کاربرد از چند لحاظ با فیلترینگ حالتمند بسته و دروازه های سطح مدار فرق دارد. فایروال های سطح کاربرد از چندین پروکسی کاربرد بر روی یک فایروال منفرد حمایت می کند. پروکسی ها بین مشتری و سرور قرار می گیرند و داده را بین این دو نقطهٔ انتهایی ردو بدل می کند. دادهٔ مشکوک دور انداخته می شود و سرور و مشتری هرگز به طور مستقیم با هم ارتباط برقرار نمی‌کنند. ازآنجاکه پروکسی های سطح کاربرد آگاه هستند، می توانند پروتکل های پیچیده مانند H.323 (که برای فرستادن صدا در اینترنت و کنفرانس ویدیویی استفاده می شود ) را ساده تر اداره کنند. فایروال های کاربرد می تونند برای مشتری و سرور ناپیدا باشند بطوریکه نیاز به هیچ پیکربندی ای بر روی آن ها نیست، یا می توانند نمایان باشند بطوریکه آدرس مشتری و سرور را به طور مستقیم در اختیار سرور پروکسی می گذارد.

آسیب پذیری[ویرایش]

در کدگشاهای پروتکل های انفرادی آسیب پذیری وجود دارد، آن ها به مهاجم اجازه می دهند که فایروال ها را تحت کنترل خود دربیاورند. این نگرانی، نیاز به بروزآوری نرم‌افزار فایروال را برجسته می کند.
فایروال های حالتمند همچنین احتمال فریب خورن میزبان های انفرادی در درخواست خارجی اتصال را بالا می برند. این احتمال را می توان با بازرسی نرم‌افزار به طور کامل از بین برد. بعضی از فایروال ها با این روش یعنی با نگاه ساده به یک صفحهٔ وب شکست خوردند.

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Stateful firewall»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۸ ژوئیه ۲۰۱۲).