پروازی بر دنیای امنیت شبکه (قسمت دوازدهم) – Zone-Based Firewalls

با سلام و عرض خسته‌نباشید خدمت تمامی دوستان عزیز ! ، در ادامه قسمت قبلی از این سری آموزشی ، امروز با مبحث Zone-based Firewalls(به اختصار ZBF) در خدمتتون هستیم ؛ ZBF فیچری میباشد که توسط سیسکو در IOS Software هایش قرار گرفته است.

در این بخش میخواهیم با مفاهیم،دلایل و روش‌های طراحی Zone(منطقه/ناحیه)ها آشنا شویم و کمی با ZBF دست‌وپنجه نرم کنیم؛ بامن همراه باشید...

فایروال Zone-Based به چه صورت عمل میکند؟

با استفاده از ZBFها ، Interfaceها در Zone(ناحیه، منقطه)ها قرار میگیرند؛ Zoneها توسط مدیر شبکه و با نام های گوناگونی نظیر Inside،Outside،DMZ و... ایجاد میشوند؛ سپس پالیسی ها مشخص میکنند که ترافیک کدام Transit اجازه‌ی Initialize شدن و برقراری ارتباط دارد و در مقابلش چه Actionـی میبایست از سمت فایروال اجام شود؟(به عنوان مثال Inspection).

بعد از Inspect شدن ترافیک ، اجازه "بازگشت ترافیک از طریف فایروال" هم بدلیل استفاده از فیچر Stateful filtering فراهم خواهد شد.

پالیسی ها در یک مسیر(Single Direction) ایجاد و پیاده‌سازی میشوند(به عنوان مثال Inside-to-Outside) ؛ اگر قصد Allow کردن یک ترافیک خاص در هر دو مسیر (رفت و بازگشت) را دارید میبایستی 2 پالیسی‌یک‌طرفه برای Allow شدن ترافیک در مسیرهای Inside-to-Outside و Outside-to-Inside ایجاد کنید. در نتیجه همیشه در نظر داشته باشید که بدلیل اینکه پالیسی‌ها همگی unidirectional(یکطرفه) میباشند، میبایستی بابت هر شرطی که میخواهید ایجاد کنید یک پالیسی ایجاد کنید، همچنین میبایستی بدانید که همیشه پالیسی‌ها بروی Zone ها اعمال میشوند، نه Interfaceها!

یکی از مفیدیت‌های این رویکرد اینست که بعد از پیاده‌سازی پالیسی‌ها اگر شما اینترفیس جدیدی را به Device اضافه کنید، تنها کاری که نیازست انجام دهید اینست که Interfaceهارا به Zoneهای مورد نظر خود اعمال کنید وبا اینکار تمامی پالیسی‌های شما بروی آن اینترفیسها بصورت خودکار اجرا خواهند شد.

ویژگی‌های Zone-Based Firewallها

از ویژگی‌های عمده و معمول ZBF میتوان موارد زیر را نام برد:

  • Stateful inspection
  • Application inspection
  • Packet filtering
  • URL filtering
  • Transparent firewall
  • VRF
  • برای پیاده‌سازی موارد مربوط به فیلترینگ ، نیازی به ACL ندارد.

اکثر مواردی که نام بردیم را در قسمت‌های قبلی این سری آموزشی درموردشان صحبت کردیم و باآنها آشنا شدیم، اما دو مورد را هنوز درمورشان صحبت نکرده‌ایم:

ابزار Uniform resource locator - URL Filtering: قابلیتی برای کنترل(Permit ویا Deny) ترافیک به مقصد URLـی که کاربر قصد ارتباط با آنرا دارد میباشد.

و همچنین Virtual routing and forwarding - VRF: میتوان گفت VRF ها ، Routing Tableهای مجازی‌ای بروی یک روتر سیسکو میباشند که از نگهداری تمامی Routeها در یک Routing tableـه Primary جلوگیری میکند و مسیرهارا در چند جدول مجازی نگهداری میکند.(بحث مربوط به VRF ها بسیار گسترده است که در آینده مقاله کاملی درمورد آن خواهیم‌نوشت).

ناحیه‌ها (Zones)

میتوان گفت که Zoneها، نواحی‌ای منطقی(Logical) میباشند که دیوایس‌های متفاوت با سطوح اعتماد متفاوت(Trust levels) در آنها قرار میگیرند؛ به عنوان مثال میتوان یک DMZ Zone برای سرورهای سازمان ایجاد کرد. یک Zone توسط Network administrator ایجاد میشود و Interfaceهای گوناگون میتوانند به آن Assign شوند.

یک Zone میتواند به تعداد دلخواد Interfaceـه Assignشده داشته باشد اما هر Interface فقط میتواند به یکی از Zoneهای ما Assign شود؛ بصورت پیشفرض ما دارای Zoneای با نام self-zone خواهیم بود که یک Zone منطقی برای خود Device میباشد، یعنی اگر به عنوان مثال پکتی بصورت مستقیم به سمت روتر ارسال شود (منظور اینست که Destination IP آدرس روتر باشد)، روتر بصورت پیشفرض آنرا وارد self-zone خواهد کرد.

نکته دیگر آن‌است که تمامی ترافیک های ورودی و خروجی از Self-zone ، بصورت پیشفرض Allowشده میباشند که البته شما میتوانید این Policy را ویرایش کنید.

در آنطرف قضیه ، برای بقیه Zoneهای ایجاد شده توسط Administrator ، هیچ ترافیکی بین Interfaceهای Zoneهای گوناگون Allow نشده است. اما بصورت پیشفرض ، ترافیک بین Interfaceهای یک Zone یکسان همگی Allow شده‌اند. پس نکته‌ای که در اینجا به آن میرسیم اینست که اگر میخواهید ترافیک بین دو Zone گوناگون(مثل Inside و Outside که هرکدام دارای Interfaceهای مربوط به خودشان میباشند) Allow شود، میبایستی برای آن Policy ایجاد کنید و اینجاست که Zone-pair وارد بازی میشود!

یک Zone-pair صرفا فقط یک Configuration بروی روتر میباشد که برای مشخص کردن مبدا ترافیک در یک Zone و مقصد آن در Zoneـی‌دیگر کاربرد دارد. فقط کافی است که Administrator پالیسی موردنظرش را ایجاد کرده و بروی Zone-pair ها اعمالش کند.

یک کمپانی نسبتا کوچک که فقط دارای دو Network میباشد، ترجیحا دو Zone ایجاد میکند، یکی برای Inside و دیگری هم برای Outside(اینترنت)، سپس اینترفیس های مربوط Inside و Outside را به Zoneهایشان Assign میکند؛ در نهایت یک پالیسی میتواند ایجاد شود که مشخص میکند ترافیک کاربران داخلی‌ای که قصد اتصال به اینترنت را دارند میبایستی Inspect شوند و اطلاعات آنها در میبایستی در Stateful database قرار گیرد. پس میتوان گفت که در اینجا، یک Zone-pair مشخص میکند که ترافیکی قصد عبور از Inside به سمت Outside را دارد و میبایستی بروی آن پالیسی‌ای اعمال شود و درنهایت دیوایس متوجه میشود و پالیسی مربوطه را اعمال میکند.

یک کمپانی بزرگتر که احتمالا دارای Public-Server هم میباشد، دارای 3 عدد Zone میباشد؛ به عنوان مثال Inside، Outside و DMZ. در مقایسه با کمپانی قبلی، در اینجا Zone-pair دیگری هم ساخته میشود(از طریف Outside به DMZ) و سپس پالیسی ای به آن zone-pair برای Allow کردن ترافیک کاربران اینترنت به DMZ (برای دسترسی به سرورها) اعمال میشود.

هربار که ترافیک Inspect میشود ، بین Zoneها Allow میشود و اطلاعات مربوط به سشن‌ها در Stateful databaseـه Zone-based firewall ذخیره میگردند.این مورد اجازه بازگشت ترافیک را فراهم خواهد کرد ، حتی بدون نیاز به ایجاد Zone-pair و Policy در مسیر بازگشت.

امیدوارم که مقاله برای شما مفید واقع شده باشه ...

در ادامه مبحث Zone-Based Firewalls ، بزودی قسمت بعدی رو هم مینویسم ;)

موفق باشید.