سامانه آموزش آنلاین

مقلات آموزشی

سرویسهای FreeBSD برای مهندسین شبکه

فایروال از نوع host-based firewall در FreeBSD:

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

در FreeBSD علاوه بر فایروال های معروف مثل IPFW و PF نوع دیگری از مدیریت کردن درخواست های ارسالی سمت سرویس ها مثل ftp ssh و غیره وجود دارد به نام host-based firewall که این نوع از فایروال برروی سیستم محلی راه اندازی می شود و به درخواست هایی که سمت سرور ارسال می شود نظارت می کند، در FreeBSD این نوع از فایروال از تکنولوژی TCP wrappers استفاده می کند که خود این برنامه از طریق inetd راه اندازی می شود. قبل از راه اندازی این سرویس مقاله مربوط به کار با inetd در FreeBSD: را مطالعه کنید. در بخش اول از این مقاله با فرمان inetd آشنا شوید که باعث راه اندازی tcp wrapper می شود و در بخش دوم با TCP wrappers آشنا می شوید و در قسمت آخر با فایل hostd_accsess آشنا می شوید.

بخش ها:

  • فرمان inetd.
  • آشنایی با TCP wrappers
  • فایل hostd_accsess

 فرمان inetd:

به صورت پیش فرض برنامه inetd  با سویچ های پیش فرض –wW –C 60 اجرا می شود که این سویچ ها باعث اجرا شدن TCP wrappers می شود. این سویچ باعث راه اندازی TCP wrappers برای همه سرویس های راه اندازی شده توسط inetd می شود و به صورت پیش فرض از ارتباط بیش از 60 درخواست از سمت یک آدرس IP در یک دقیقه جلوگیری می کند. برای تغییر دادن باید یه رفتار inetd خود یک سری flags اضافه کنید که این امر از طریق inetd_flags در فایل /etc/rc.conf ممکن می شود.

 

سویچ –c maximum:

به صورت پیش فرض تعداد فراخوانی های همزمان از یک سرویس را تعیین می کند که محدود نشده و بی نهایت است. این بخش ممکن است با استفاده از max-child باطلل شود.

 

سویچ –C rate:

این بخش مشخص می کند که یک سرویس در واحد زمان از یک آدرس IP خاص چندبار فراخوانی شود. این بخش با استفاده از سویچ max-connections-per-ip-per-minute می تواند باطل شود.

 

سویچ –R rate:

این بخش بیشترین تعدادی که یک سرویس می تواند در واحد زمانی طلب شود را تعیین می کنید که مقدار پیش فرض آن 256 است و مقدار 0 به معنای بی نهایت است.

سویچ –s maximum:

این بخش تعداد بیشینه که یک سرور در واحد زمانی می تواند از یک آدرس IP خاص در خواست داشته باشد را تعیین می کند و این بخش می تواند با مقدار  max-child-per-ip در فایل inetd.conf قابل تغییر است.

 

کار با TCP Wrapper:

برنامه TCP Wrapper یک فایروال تحت سیستم محلی است  که با استفاده از برنامه inetd راه اندازی می شود. با استفاده از این برنامه قابلیت گزارش گیری به برنامه اضافه می شود،برنامه های اجرا شده تحت این سیستم می توانند پیغام مناسب به سمت کاربر بازگردانی کند و می تواند دسترسسی به سرور را محدود کند. برای دریافت اطلاعات بیشتر به tcpd مراجعه کنید.

از این برنامه نمی توانید به عنوان  فایروال استفاده کنید و فایروال را حذف کنید، بلکه باید از آن در کنای سایر سیستم های مدیریت ارتباطی و فایروال استفاده کنید.

 

راه اندازی ابتدایی:

همانطوری که در بخش قبلی از این مقاله به آن اشاره شده است، برای راه اندازی کردن TCP Wrapper باید از طریق inetd اقدام کنید. در نتیجه برای را ه اندازی باید خط زیر را در فایل /etc/rc.conf  اضافه کنید:

inetd_enable="YES"

inetd_flags="-Ww"

حال در بخش بعدی باید فایل به نام /etc/hosts.allow را ویرایش کنید که در ادامه این فایل است که مدیریت دسترسی ها را انجام می دهد.

 

نکته:

برخلاف سایر پیاده سازی های TCP Wrapper که از فایل hosts.deny استفاده می کند. این برنامه در FreeBSD از فایل hosts.allow استفاده می کند.

 

ابتدایی ترین بخش مدیریت در TCP Wrapper این است که دسترسی به یک سرویس را محدود و یا اجازه دهد.  این مدل از سطح دسترسی بر مبنای فایل hosts.allow است. به صورت پیش فرض در FreeBSD همه سرویس ها allow هستند.

در سطح مقدماتی از پیکربندی ، این فایل شامل خطوطی به صورت زیر است:

daemon : address : action,

بخش daemon نام سروری است که باید برنامه inetd راه اندازی شود که مقادیر آن در فایل inetd قرار دارد. در بخش دوم نام یا آدرس IP سیستمی است که شما قصد دارید دسترسی آنرا مورد بررسی قرار دهید. این بخش هم می تواند IPV4 باشد هم IPV6، باید آدرس IPV6 را داخل براکت قرار دهید. در بخش action دو حال وجود دارد allow و deny.

برنامه TCP Wrapper از قاعده  first rule match  برای جستجو کردن در فایل پیکربندی خود استفاده می کند و اول خطی که با شرایط مطابقت داشته باشد را می پذیرد و  دیگر به جستجو نمی پردازد در نتیجه به قواعدی که در این فایل قرار می دهید دقت کنید.

در خط زیر یک مثالی را مشاهده می کنید که به سرویس pop3 که از طریق inetd راه اندازی می شود در خط زیر اجازه داده می شود که همه کامپیوتر های موجود در شبکه به آن دسترسی داشته باشند، این برنامه qpopper است:

# This line is required for POP3 connections:
qpopper : ALL : allow

در مرحله بعدی برای اعمال شدن تغییرات باید برنامه inted را دوباره راه اندازی کنید به صورت زیر:

# service inetd restart

نظرات (0)

هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان ثبت نام یا ورود به حساب کاربری خود.
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
عبارت تصویر زیر را بازنویسی کنید. واضح نیست؟
آموزش BSD با محمدعابدینی

اولین مرکز آموزش BSD  و نخستین مرکز ارائه نرم افزارهای مبتنی بر BSD در ایران

کلیه حقوق این سایت متعلق به محمد عابدینی است که در زمینه آموزش BSD فعالیت می کند.
All rights are reserved for Mohammad Abedini 2019

Search

09356757020
محمد عابدینی
کرج 
مهرشهر
Your SEO optimized title