Stateful Filtering چیست؟

فیلترینگ Stateful در فایروال چیست؟ امروز مي خوايم يه مفهوم ساده ولی بسیار کليدي در تجهیزات فایروال رو با هم بررسی کنيم. مفهوم Stateful Filtering کليدي ترین و زیربنایی ترین مفهوم توي حوزه فایروال هاست و خيلي سفت و محکم خدمتتون عرض مي کنم: اگه به این مفهوم مسلط نیستید، از فایروال چیزی نميدونيد! خوب بذارید از اينجا شروع کنیم که برای بستن ترافيک با استفاده از ACL توی يه روتر چي کار مي کنيم و توی فایرول برای نوشتن Access Rule چی کار مي کنيم؟

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

تفاوت کليدي در اين هست که شما در هر دو Rule برای ترافيک رفت می نویسید. تا اینجاش که مثل هم بود. حالا تو روتر شما باید برای برگشت همون ترافيک هم Rule بنویسید ولی تو فایروال نه... این تفاوت باعث ميشه که روش ACL بسیار ناکارامد بشه و اين ناکارامدی با به وجود اومدن تکنولوژي Stateful Filtering برطرف شد. در مفهوم Stateful Filtering اين گونه بیان می شود که زمانی که شما در يک Rule، مسیر رفت يک ترافيک رو باز مي کنيد، ديگه نيازی به باز کردن ترافيک مسیر برگشت نیست. خود تجهیز فایروال ترافيک برگشت رو تشخیص میده و به صورت خودکار به ترافيک اجازه عبور مي ده. علت این کار هم تشکيل یه جدول از Connectionهاست در تجهیز فایروالمون که بهش مي گیم Stateful Table. به شکل زیر توجه کنيد:

 

TOSINSO

توی شکل بالا هر سه خطي که با رنگ های سبز و قرمز کشیده شده رو مربوط به یک پروتکل در نظر بگیرید، مثلا http. ما هم یک Rule داریم توی فایروالمون که میگه از مبدا سرور هامون، ترافيک http رو، به مقصد بیرون، عبور بده (کامندهای مربوطشم می نویسم ولی اگه متوجه نمی شید مهم نیست، همون توضيحي که دادم رو متوجه بشید کافي هست.):

access-group ACL-IN in interface inside
access-list ACL-IN extended permit tcp object SERVERS any4 eq 80

همین. و نتیجه میشه شکلی که با هم دیدیم:

  1. سرور ما می خواد يه صفحه وب رو باز کنه و ترافيک رو به سمت بیرون Initiate می کنه.
  2. ترافيک می رسه به فایروال. فایروال ترافيک رو با Ruleش تطبیق می ده و اجازه عبور میده.
  3. ترافيک به وب سرور اینترنتی می رسه و پاسخ رو برای سرور ما (که اینجا نقش کلاينت داره) می فرسته.
  4. فایروال اينجا دیگه به Ruleهايي که براش تعريف شده کاری نداره و میره ترافيک برگشت رو با Stateful Table تطبیق می ده و میبینه که ترافيکي که داره میاد آیا پاسخ ترافيکي هست که از قبل Initiate شده یا نه.
  5. اگه جواب مثبت باشه ترافيک عبور مي کنه (مثل خط سبز)
  6. اگه جواب منفی باشه ترافيک Drop میشه (مثل خط قرمز)

نکته دیگه که باقي مي مونه، بحث اين هست که آيا رفتار ترافيکي همه پروتکل ها مطابق با قوانيني که گفتیم هست يا نه؟ در رابطه با اين مطلب توي یک مقاله دیگه صحبت مي کنيم.به عنوان نکته جمع بندي توجه داشته باشيد، که همه فایروالها، چه نرم افزاری و چه سخت افزاری، از اين قانون پيروی مي کنن.


مهیار کباری
مهیار کباری

مهیار کباری، حدود 10 سال سابقه کار دارم در سازمان های و نهادهای دولتی، بانک ها و مؤسسات مالي اعتباری، بیمه ها و سازمان فناوری اطلاعات در حوزه های شبکه، امنیت اطلاعات و زیرساخت سرویس در قالب های مشاوره، طراحي، پياده سازی و راهبری. در حوزه های Cisco، Juniper، Fortinet، F5، VMWare، Server&Storage، Linux و Penetration Test به صورت White Hat فعاليت های خوبی داشتم. بیش از ۴ سال مدیر فنی دپارتمان امنيت و کمتر از یک سال مدیر فنی مرکز داده مؤسسه اعتباری نور بودم و الان هم به صورت Free Lancer فعاليت مي ک

نظرات