در رشتهٔ کامپیوتر، یک فایروال حالتمند ( هر فایروالی که برنامهٔ بررسی حالتمند بسته ( 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 آن یک شده است، جواب می دهد و اتصال وارد وضعیت STABLISHED می شود. همچنین یک فایروال همهٔ بسته های خروجی را از خود عبور می دهد اما تنها اجازهٔ ورود بسته هایی را می دهد که بخشی از اتصال برقرار هستند، این گونه تضمین می کنند که هکرها نمی توانند اتصالاتی که از داخل شبکه درخواست نشده اند را با ماشین مورد حفاظت برقرار کنند. برای جلوگیری از پرشدن جدول وضعیت، اگر برای دورهٔ معینی ترافیکی از آن اتصال عبور نکند، زمان نشست ها به پایان خواهد رسید. اتصالات تاریخ گذشته از جدول وضعیت دور ریخته می شوند. به همین علت تعدادی از برنامه های کاربردی پیام های Keep alive را در زمان های معینی ارسال می کنند تا فایروال اتصال را در فواصل زمانی ای که کاربر فعالی وجود ندارد، قطع نکند، گرچه بعضی از فایروال ها طوری سازماندهی شده اند که می توانند این پیام ها را به برنامه های کاربردی ارسال کنند. تعدادی از فایروال های حالتمند قادر به ردیابی جریان ها در پروتکل های غیراتصال گرا هستند. تکنیک UDP hole punching مرتبط با UDP می باشد. در این ها معمولاً بعد از اولین بسته ای که توسط فایروال دیده شود، نشست ها فوراً به وضعیت STABLISHED می رسند. نشست ها در پروتکل های غیراتصال گرا تنها با به پایان رسیدن زمان نشست ها، به پایان خواهد رسید. با نگهداری مسیر وضعیت اتصال، فایروال های حالتمند با بازرسی بسته ها، بازده و کارایی افزوده فراهم می کنند. به این دلیل است که فایروال به جای بررسی هر بسته در برابرمجموعهٔ قوانینش ( که بسیار گسترده می باشد ) ، تنها احتیاج به بررسی جدول وضعیت دارد. همچنین، از آنجا که در فایروال های حالتمند، در برابر ترافیک ورودی ابتدا بررسی جدول وضعیت به جای پرش به مجموعه قوانین فایروال، انجام می شود، مفهوم بازرسی عمیق بسته غیرمرتبط با فایروال های حالتمند می باشد. در این مورد اگر جدول وضعیت با تغییرات مطابقت پیدا کرده باشد، آنگاه دیگر نیازی به بازرسی عمیق بسته نیست. بازرسی عمیق بسته با استفاده از ASIC - دستگاه های شتاب داده شده ای که به طور خاص برای اداره کردن تراکنش های لایه کاربرد مهندسی شده، حاصل شده است.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفقبل از ورود فایروال حالتمند، فایروال غیرحالتمند، فایروالی که در انزوا با هر فریم شبکه ( بسته ) رفتار می کند، متعارف بود. مثل فیلتر بسته که در لایه شبکه کار می کند و کارایی مؤثرتری دارد زیرا تنها به سرآیند یک بسته نگاه می کند. غیر حالتمند بودن یکی از اشکالات فیلترهای محض بسته می باشد. آن ها هیچ سابقه ای از بسته های قبلی نگه نمی دارند که باعث آسیب پذیر بودن آن ها در مقابل حمله های جاعلانه می شود. یک چنین فایروالی گاهی نمی تواند تعیین کند که آیا بستهٔ دریافتی مربوط به اتصال حاضر می باشد یا اینکه سعی در برقراری اتصال جدید دارد یا بسته ای ولگرد است. فایروال های مدرن اتصال آگاه به سرپرست شبکه امکان کنترل دقیق تر ترافیک شبکه را می دهد. مثال قدیمی از عملکرد شبکه در پروتکل انتقال فایل ممکن است که با فایروال های غیرحالتمند شکست بخورد. با این طراحی، این پروتکل ها برای درست کار کردن نیاز به توانایی برقراری اتصال به پورت های دلخواه بالا دارند. از آنجا که فایروال غیرحالتمند راهی برای شناخت بسته های عازم به شبکهٔ امن ( برای مثال، به پورت ۴۹۷۰ میزبان مقصد ) که بخشی از یک نشست FTP مشروع است، راندارد، این بسته را دور می ریزد. فایروال های حالتمند این مشکلات را با نگهداری جدولی از اتصالات باز و دایر و مرتبط کردن هوشمندانهٔ درخواست های اتصال جدید به اتصال مشروع موجود، حل می کنند. اختراع فایروال های حالتمند معمولاً به Nir Zuk و تیم او در Check Point در اواسط دههٔ ۱۹۹۰ نسبت داده شده است. تلاش های اولیه برای تولید فایروال در لایهٔ کاربرد، بالاترین لایه از مدل هفت لایهٔ OSI شروع شد. این متد به حد بالا و گزافی از قدرت محاسباتی نیاز دارد و به ندرت در پیاده سازی های مدرن استفاده می شود.
یک فایروال حالتمند قادر به نگهداری ویژگی های ضروری هر اتصال، از برقراری تا اختتام در حافظه می باشد. این ویژگی ها، که معروف به وضعیت اتصال می باشند، شامل جزئیاتی مانند آدرس IP و پورت درگیر در اتصال و شماره ترتیب بسته هایی که در حال پیمایش اتصال هستند، می باشد. بررسی هایی که نیاز به پردازش زیاد CPU دارند، در زمان راه اندازی اتصال انجام می شود. پس از این همهٔ بسته ها ( برای این نشست ) به علت سادگی و سرعت تعیین کردن تعلق بسته به نشست موجود یا از پیش برقرار شده، به سرعت پردازش می شوند. به محض اینکه این نشست اختتام یافت، مدخل آن از جدول وضعیت دور انداخته می شود. فایروال حالتمند براساس دست دهی سه طرفه کار می کند که گاهی اوقات زمانی که پروتکل استفاده شده TCP باشد با "SYN , SYN - ACK , ACK" ( استفاده از بیت های همزمانی و تأیید را نشان می دهد ) موجود در پروتکل TCP، توصیف می شود و زمانی که پروتکل UDP باشد، فایروال حالتمند وابسته به چیزی مرتبط با TCPنیست. زمانیکه یک مشتری اتصالی را برقرار می کند، بسته ای را ارسال می کند که بیتِ SYN ( ی که در سرآیند بسته قرار گرفته است ) آن یک شده است. همهٔ بسته های با بیت SYN یک شده برای فایروال به عنوان اتصال جدید در نظر گرفته می شوند. اگر سرویس مورد درخواست مشتری روی سرور قابل دسترس باشد، سرویس به بستهٔ SYN با بسته ای که بیت SYN و ACK آن یک شده باشد، پاسخ می دهد. سپس مشتری با بسته ای که تنها بیت ACK آن یک شده است، جواب می دهد و اتصال وارد وضعیت STABLISHED می شود. همچنین یک فایروال همهٔ بسته های خروجی را از خود عبور می دهد اما تنها اجازهٔ ورود بسته هایی را می دهد که بخشی از اتصال برقرار هستند، این گونه تضمین می کنند که هکرها نمی توانند اتصالاتی که از داخل شبکه درخواست نشده اند را با ماشین مورد حفاظت برقرار کنند. برای جلوگیری از پرشدن جدول وضعیت، اگر برای دورهٔ معینی ترافیکی از آن اتصال عبور نکند، زمان نشست ها به پایان خواهد رسید. اتصالات تاریخ گذشته از جدول وضعیت دور ریخته می شوند. به همین علت تعدادی از برنامه های کاربردی پیام های Keep alive را در زمان های معینی ارسال می کنند تا فایروال اتصال را در فواصل زمانی ای که کاربر فعالی وجود ندارد، قطع نکند، گرچه بعضی از فایروال ها طوری سازماندهی شده اند که می توانند این پیام ها را به برنامه های کاربردی ارسال کنند. تعدادی از فایروال های حالتمند قادر به ردیابی جریان ها در پروتکل های غیراتصال گرا هستند. تکنیک UDP hole punching مرتبط با UDP می باشد. در این ها معمولاً بعد از اولین بسته ای که توسط فایروال دیده شود، نشست ها فوراً به وضعیت STABLISHED می رسند. نشست ها در پروتکل های غیراتصال گرا تنها با به پایان رسیدن زمان نشست ها، به پایان خواهد رسید. با نگهداری مسیر وضعیت اتصال، فایروال های حالتمند با بازرسی بسته ها، بازده و کارایی افزوده فراهم می کنند. به این دلیل است که فایروال به جای بررسی هر بسته در برابرمجموعهٔ قوانینش ( که بسیار گسترده می باشد ) ، تنها احتیاج به بررسی جدول وضعیت دارد. همچنین، از آنجا که در فایروال های حالتمند، در برابر ترافیک ورودی ابتدا بررسی جدول وضعیت به جای پرش به مجموعه قوانین فایروال، انجام می شود، مفهوم بازرسی عمیق بسته غیرمرتبط با فایروال های حالتمند می باشد. در این مورد اگر جدول وضعیت با تغییرات مطابقت پیدا کرده باشد، آنگاه دیگر نیازی به بازرسی عمیق بسته نیست. بازرسی عمیق بسته با استفاده از ASIC - دستگاه های شتاب داده شده ای که به طور خاص برای اداره کردن تراکنش های لایه کاربرد مهندسی شده، حاصل شده است.
wiki: فایروال حالتمند