خانه / سیستم عامل لینوکس / سنت او اس / معرفی FirewallD در سنت او اس
معرفی FirewallD در سنت او اس

معرفی FirewallD در سنت او اس

همانطور که می دانید FirewallD یک کنترلر فرانت اند برای Iptable است که برای اجرای قوانین ترافیک شبکه به کار می رود.  این گزینه دستورات خط فرمان و رابط کاربری را برای افراد ایجاد می کند و در مخزن بیشتر توزیع های لینوکسی موجود است. کار با FirewallD دو  تفاوت اصلی در مقایسه با کنترل مستقیم Iptables دارد:

  • FirewallD از نواحی و سرویس ها به جای Chain و قوانین استفاده می کند.
  • این گزینه مجموعه دستورها و قوانین را به طور پویا مدیریت می کند و بدون شکستن Session ها و کانکشن های فعلی اجازه به روزرسانی را می دهد.

در این مقاله قصد داریم معرفی کوتاهی در مورد FirewallD داشته باشیم و مراحل پیکربندی اصلی آن را نشان دهیم. پس همراه وب ایده باشید.

 نصب و مدیریت FirewallD:

FirewallD به طور پیش فرض در سنت او اس ۷ قرار داد اما غیر فعال است. کنترل کردن آن همانند سایر موارد موجود در سیستم عامل است. برای آغاز کردن سرویس و فعال کردن FirewallD در بوت می توانید از دستور زیر استفاده کنید:

 

برای متوقف کردن یا غیر فعال نمودن آن هم می توانید از دستورات زیر کمک بگیرید:

 

برای اینکه بتوانید وضعیت فایروال را بررسی کنید از کد زیر استفاده کنید. خروجی این دستور باید running یا not running باشد.

 

 

برای دیدن وضعیت FirewallD daemon می توانید از کد زیر بهره ببرید:

 

نمونه خروجی دستور بالا به صورت زیر است:

 

برای بارگذاری مجدد پیکربندی های FirewallD از دستور زیر استفاده کنید:

 

پیکربندی FirewallD:

FirewallD با فایل های XML پیکربندی شده است. به جز برای پیکربندی های بسیار خاص،  در سایر موارد مجبور نخواهید بود با این فایل درگیر شوید و می توانید به جای آن از firewall-cmd استفاده کنید.  فایل پیکربندی در دو دایرکتوری قرار گرفته است:

  • دایرکتوری usr/lib/FirewallD که پیکربندی های پیش فرض همچون نواحی پیش فرض و سرویس های رایج را در خود نگه می دارد. از به روزرسانی این مسیر خودداری کنید زیرا  این فایل ها با هر به روزرسانی overwrite می شوند.
  • مسیر /etc/firewalld  فایل های پیکربندی سیستم را در خود نگه می دارند. این فایل ها پیکربندی های پیش فرض را overwrite  خواهند کرد.

 تنظیمات پیکربندی:

Firewalld از دو مجموعه پیکربندی استفاده می کند: ران تایم و دائمی.

تغییرات پیکربندی های ران تایم  در ریبوت یا در ریستارت Firewalld باقی نمی مانند. این در حالیست که تغییرات دائمی بر روی سیستم در حال اجرا اعمال نمی شوند.  به طور پیش فرض دستورات firewall-cmd  بر روی پیکربندی های ران تایم اعمال می شوند اما استفاده از بخش –permanent  پیکربندی دائمی ایجاد می کند. برای اضافه کردن و فعال نمودن قوانین دائمی می توانید از یکی از دو روش زیر استفاده کنید:

قوانین را به مجموعه ران تایم و دائمی اضافه کنید:

 

قوانین را به مجموعه دائمی اضافه کنید و FirewallD مجددا بارگذاری نمایید:

 

نکته: دستور بارگذاری مجدد همه پیکربندی های ران تایم را رها می کند و پیکربندی دائم را اعمال می نماید. از آنجایی که FirewallD مجموعه قوانین را به طور پویا مدیریت می کند  اتصال و Session را قطع نخواهد کرد.

نواحی FirewallD:

Zone یا نواحی مجموعه قوانین از پیش ساخته شده ای برای سطوح امنیتی متعدد هستند که شما می خواهید برای یک سناریو یا موقعیت مدنظر به کار ببرید. نواحی مختلف  انواع ترافیک ورودی و سرویس های شبکه متفاوتی را ازاد می گذارند و در عین حال  هر چیز دیگری را رد می کنند. بعد از فعال کردن FirewallD برای اولین بار، Public ناحیه پیش فرض شما خواهد بود. نواحی را می توان بر روی رابط های شبکه مختلف نیز اعمال کرد. به عنوان مثال با رابط های جداگانه برای هر دو شبکه داخلی و اینترنت می توانید  DHCP را برای ناحیه داخلی مجاز کنید اما HTTP و SSH را برای نواحی خارجی مجاز نمایید.

برای دیدن نواحی پیش فرض می توانید از کد زیر کمک بگیرید:

 

برای تغییر نواحی پیش فرض از کد زیر استفاده کنید:

 

برای دیدن نواحی که توسط رابط های شبکه به کار می رود از دستور زیر استفاده کنید:

 

نمونه خروجی:

 

برای دریافت همه پیکربندی های موجود برای نواحی خاص از دستور زیر استفاده کنید:

 

نمونه کد خروجی:

 

برای دریافت همه پیکربندی ها برای نواحی از دستور زیر استفاده کنید:

 

نمونه خروجی:

 

کار با سرویس ها:

FirewallD می تواند ترافیک را بر اساس قوانین از پیش تعریف شده برای  سرویس های خاص شبکه مجاز نماید.  می توانید قوانین سفارشی خود را برای سرویس ها ایجاد کنید و آن ها را به هر ناحیه ای اضافه نمایید. فایل پیکربندی برای سرویس های پشتیبانی شده پیش فرض در مسیر/usr/lib/firewalld/services  و   فایل سرویس های ایجاد شده توسط کاربر در مسیر /etc/firewalld/services خواهد بود. برای دیدن سرویس های پیش فرض می توانید از دستور زیر استفاده کنید:

 

به عنوان مثال برای فعال یا غیر فعال کردن سرویس HTTP می توان از دستور زیر استفاده کرد:

 

مجاز کردن یا رد نمودن پروتکل/ پورت خاص:

به عنوان مثال می توان به کمک کد زیر ترافیک TCP بر روی پورت ۱۲۳۴۵ را غیر فعال کرد یا مجاز نمود:

 

پورت فورواردینگ:

نمونه قانون زیر ترافیک را از پورت ۸۰ به پورت ۱۲۳۴۵ بر روی همان سرور فوروارد می کند:

 

 

برای فوروارد کردن یک پورت به سرور مختلف می توانید از مراحل زیر کمک بگیرید:

masquerade را در ناحیه مدنظر به کمک دستور زیر فعال کنید:

 

قانون فوروارد را اضافه کنید. این نمونه ترافیک  را از پورت ۸۰ لوکال به پورت ۸۰۸۰ بر روی ریموت سرور با آدرس۱۲۳٫۴۵۶٫۷۸٫۹ فوروارد می کند:

 

برای حذف این قوانین به جای –add  می توانید –remove را اضافه کنید. مثلا:

 

 

چگونه نواحی سفارشی خود را ایجاد کنیم؟

با اینکه نواحی از پیش تعریف شده برای بیشتر کاربران کافیست اما شما می توانید نواحی مدنظر خود را تعریف و ایجاد کنید. به عنوان مثال ممکن است بخواهید برای وب سرور خود یک ناحیه ایجاد کنید. ممکن است بخواهید ناحیه دیگری برای سرویس DNS خود ایجاد کنید.  این ناحیه را privateDNS می نامیم. زمانی که می خواهی ناحیه خود را اضافه کنید باید آن را به پیکربندی دائمی فایروال اضافه نمایید. شما می توانید آن را بعدا بارگذاری کنید. به عنوان مثال می توانیم دو ناحیه برای مواردی که در بالا ذکر کردیم ایجاد نماییم. به کدهای زیر دقت کنید:

 

شما می توانید به کمک دستور زیر تایید کنید که این ها در فایل پیکربندی دائمی تان حضور دارند:

 

 

خروجی:

 

همانطور که قبلا نیز ذکر کردیم این موارد در instance های فعلی فایروال فعلا در دسترس نخواهند بود:

 

خروجی:

 

فایروال را مجددا بارگذاری کنید تا این نواحی را وارد پیکربندی فعال نمایید:

 

خروجی:

 

حالا می توانید سرویس ها و پورت های مناسب را به نواحی خود اختصاص دهید. بهتر است instance های فعال را تنظیم کنید و سپس این تغییرات را بعد از تست به پیکربندی دائمی انتقال دهید. به عنوان مثال برای ناحیه publicweb می توانید سرویس های زیر را اضافه کنید:

 

خروجی:

 

در غیر اینصورت می توانید سرویس DNS را به ناحیه privateDNS اضافه کنید:

 

خروجی:

 

سپس می توانیم رابط های خود را  تغییر دهیم و این نواحی را تست نماییم:

 

در این مرحله  می توانید پیکربندی های خود را تست کنید. اگر این مقادیر برایتان مفید و کارساز بود، می توانید همین قوانین را به پیکربندی دائمی اضافه کنید. با اعمال مجدد قوانین با –permanent می توانید اینکار را انجام دهید:

 

بعد از اعمال دائم این قوانین باید شبکه را ریستارت کنید و سرویس های فایروال را مجددا بارگذاری نمایید:

 

تایید کنید که نواحی درستی را اختصاص داده اید:

 

 

خروجی:

 

 

حالا باید تایید کنید که سرویس های درستی برای هر دو ناحیه در دسترس است:

 

خروجی:

 

 

خروجی:

 

خوب حالا شما موفق شدید ناحیه خاص خود را ایجاد کنید.

جوابی بنویسید

ایمیل شما نشر نخواهد شدخانه های ضروری نشانه گذاری شده است. *

*