آغازگر شینتد

آغازگر شینتد

Xinetd یک نگهبان است که از طریق اینترنت دسترسی به رایانه شما را مدیریت می کند. این یک Daemon است که تمام وقت را اجرا می کند و در تمام درگاه ها را برای درخواست اتصال یا خدمات گوش می دهد. اگر سرور را راه اندازی نکنید ، به xinetd نیاز نخواهید داشت. با این حال ، حتی اگر رایانه شما فقط برای مصارف خانگی باشد ، ممکن است در آینده شما نیاز به دسترسی دیگران به سرویس های رایانه خود داشته باشید. وقتی انجام دادید, برای محافظت از رایانه خود در برابر فعالیت های مخرب ، باید xinetd نصب کنید.

سیستم عامل

ابزار xinetd برای سیستم های یونیکس و یونیکس مانند نوشته شده است. بنابراین ، آن را بر روی لینوکس و Mac OS نصب کنید ، اما نه در ویندوز. این برنامه برای استفاده رایگان است و از GitHub قابل دسترسی است.

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

هدف xinetd

سیستم xinet در نظر گرفته شده است تا مانند آن عمل کند یک سرور. احتمالاً می دانید که در یک اتصال اینترنتی معمولی ، یک کامپیوتر با دیگری تماس می گیرد. رایانه ای که تماس را آغاز می کند "مشتری"و برنامه ای که با آن تماس گرفته می شود"سرور.دلیل معمول اتصال به این صورت است که مشتری می تواند از سرور سرویس دریافت کند. با این حال ، رایانه تماس گرفته شده نیاز به برنامه دارد که منتظر درخواست باشد. این عملکرد xinetd است.

شرط اصلی xinetd این است که درخواست ها را دریافت کرده و آنها را به برنامه صحیح ارسال می کند ، که توسط شماره پورت که در عنوان مربوط به ورود یا درخواست سرویس وارد شده است ، نشان داده می شود. برنامه xinetd در واقع سرویس درخواستی را ارائه نمی دهد ، اما به عنوان دروازه بان عمل می کند.

گزینه های دیگر: xinetd vs inetd

توسعه دهندگان xinetd اولین افرادی نبودند که ایده برنامه ای را که برای درخواست های دریافتی در شبکه گوش می دهند ، به وجود آوردند. در واقع ، xinetd به عنوان یک بهبود در برنامه اصلی که این کار را انجام داده است ، که به آن inetd گفته می شود در نظر گرفته شده است.

نام "xinetd" مخفف مخفف "خدمات اینترنت گسترده شبح" "Daemon خدمات اینترنت" اصلی را شرح می دهد اینتد. با inetd شما همان نظارت سرپرستی درخواستی را که xinetd فراهم می کند دریافت می کنید. با این حال ، این Daemon هیچ مکانیسم دفاعی ندارد و بنابراین اکنون ناامن تلقی می شود.

قدیمی قدیمی به تنهایی کار نمی کند. این درخواست ها را به tcpd, که روی پرونده های مجوزها بررسی شده است (میزبان و میزبان) همانطور که از نام آن پیداست ، tcpd درخواست های اتصال TCP را کنترل می کند. با این وجود ، درگاه های UDP را نیز مورد بررسی قرار می دهد ، بنابراین اجرای رابط Transport Layer است. همچنین ممکن است ذکر یک بسته بندی TCP را ببینید - این فقط نام دیگری برای tcpd است. گنجاندن tcpd باعث افزایش بهبودی کنترل دسترسی می شود. با این حال ، پروانه اجازه توسط دو پرونده با جمعیت دستی هدایت می شود ، بنابراین یک راه حل امنیتی کاملاً جامع نبود.

ویژگی های Xinetd

نحوه عملکرد xinetd مشابه حالت inetd همراه با tcpd است. با این حال ، راه حل xinetd از لحاظ امنیتی بسیار بهتر از ترکیب inetd / tcpd است. از ویژگی های Daemon می توان به موارد زیر اشاره کرد:

  • کنترل دسترسی برای TCP و UDP
  • ثبت وقایع که موفقیت و عدم موفقیت اتصال را ثبت می کند
  • کنترل دسترسی بر اساس بخشهای زمانی
  • حد سرور همزمان - دفاع از حمله به انکار سرویس (DoS)
  • محدودیت اندازه پرونده را وارد کنید
  • تخصیص خدمات به واسطهای مختلف ، این امکان را می دهد که برخی خدمات محدود به شبکه خصوصی شوند
  • عملکرد پروکسی شامل ترجمه آدرس شبکه

Xinetd قادر است به عنوان واسطه فعالیت کند خدمات RPC. با این حال ، این عملکرد خیلی خوب اجرا نشده است. عدم وجود ویژگی امنیتی در RPC ، تقاضای دسترسی به آن سرویس را کاهش داده است ، بنابراین شک دارد که توسعه دهندگان xinetd وقت خود را برای کامل کردن رابط RPC خود صرف کنند..

روشهای کنترل دسترسی

مانند inetd ، xinetd به شما اجازه می دهد ارتباطات را مطابق با آدرس IP درخواست کننده مجاز یا مسدود کنید. همچنین با inetd می توانید منابع ارتباطی مجاز و مسدود شده را با نام میزبان یا با نام دامنه شناسایی کنید. هر یک از این گزینه ها به یک روش جستجو نیاز دارند. در مورد گزینه نام های میزبان ، لازم است این نام ها در سیستم DNS شبکه خود تنظیم شوند. برای دامنه ها ، احتمالاً بهتر است به سیستم DNS عمومی اعتماد کنید.

انتخاب اینکه آیا درخواست کنندگان را از طریق آدرس IP ، نام میزبان یا نام دامنه شناسایی کنید ، بستگی به شما دارد. با این حال, چسباندن با آدرس IP اتصالات را سریعتر ایجاد می کند زیرا نیاز به مرحله جستجو را از بین می برد.

پیکربندی سیستم

برای استفاده از xinetd ، ابتدا باید آن را نصب کنید و سپس پرونده پیکربندی را به روز کنید. در اصل ، فایل پیکربندی مرکز فرمان شما برای xinetd است. از آنجا که این برنامه یک Daemon است ، پس از شروع کار, این برای همیشه ادامه خواهد یافت. این یک ابزار تعاملی نیست که بتوانید آن را در خط فرمان تنظیم کنید. تمام ارتباطات شما با برنامه از طریق پرونده پیکربندی رخ می دهد.

هر وقت درخواستی از دنیای خارج دریافت کند ، Daemon به بررسی پرونده پیکربندی خود ادامه خواهد داد. این پیکربندی را هنگام راه اندازی در حافظه بارگذاری نمی کند. این یعنی می توانید عملکرد دوشم را در حین اجرا تنظیم کنید با تغییر دستورالعمل های موجود در پرونده پیکربندی.

پرونده پیکربندی xinet از سیستم های پیکربندی برای سایر ابزارها بسیار مهمتر است. این امر به این دلیل است که شما می توانید دستورالعمل های مربوط به Daemon را از طریق پیکربندی تغییر دهید بدون اینکه نیازی به متوقف کردن برنامه xinetd و راه اندازی مجدد آن باشد.

تنظیم پرونده پیکربندی

به دنبال پرونده بگردید /etc/xinetd.conf. این پرونده اصلی پیکربندی برنامه است و به عنوان جدول جستجوی برنامه عمل می کند تا مشخص شود که کدام اتصالات اجازه می دهد و کدام سرویس ها را فراخوانی می کنند..

می توانید پرونده xinetd.conf را از موجود ایجاد کنید inetd.conf پرونده با xconv.pl برنامه ای که بخشی از بسته ای را که می توانید از مخزن GitHub برای xinetd بارگیری کنید تشکیل می دهد. برنامه تبدیل را با دستور زیر اجرا کنید:

/usr/local/sbin/xconv.pl < /etc/inetd.conf > /etc/xinetd.conf

پرونده پیکربندی جدید کامل نیست و قبل از راه اندازی xinetd به اصلاح بیشتری نیاز دارد.

بخش پیش فرض پیکربندی پرونده

وقتی به پرونده xinetd.conf تازه تولید شده خود نگاه می کنید ، باید روی دو بخش پیکربندی کلیدی متمرکز شوید. اولین مورد از اینها است پیش فرض بخش دوم و بخش دوم خدمات بخش.

همانطور که احتمالاً قبلاً حدس زده اید ، بخش پیش فرض به xinetd می گوید اگر در یافتن دستورالعمل های خاص برای کار فعلی خود در بخش خدمات ، دستورالعمل خاصی پیدا نکند.

برخی از گزینه های کلیدی که می توانید در بخش پیش فرض تنظیم کنید عبارتند از:

  • only_from
  • هیچ دسترسی
  • log_type
  • log_on_success
  • log_on_failure
  • موارد
  • per_source

بخش های بعدی این گزینه ها را با جزئیات بیشتری توضیح می دهند.

شرایط دسترسی

Only_from و هیچ دسترسی به طور مؤثر همان کار را انجام می دهید ، یعنی مسدود کردن (بدون دسترسی) یا اجازه (only_from) آدرس خاص یا دامنه آدرس. توصیه می شود از یکی از این گزینه ها استفاده کنید تا همه چیز به طور پیش فرض مسدود شود و سپس لیستی از خدمات پایین تر در پرونده پیکربندی ایجاد کنید. با استفاده از این استراتژی ، اگر رویدادی که برای آن حساب نکرده اید رخ دهد ، خود را پوشش می دهید.

این دو گزینه همچنین دستورات معتبری برای درج در بخش خدمات هستند. بنابراین شما می توانید ممنوعیت همه چیز را به طور پیش فرض شروع کرده و خدمات را اضافه کنید. اگر یک بخش خدمات وجود دارد که مربوط به نوع درخواست اتصال است که xinetd دریافت می کند ، به بخش پیش فرض پیکربندی نگاه نمی کنید..

دستورالعمل only_from و no_access در توضیحات مربوط به یک سرویس ، بیانات only_from و no_access را در بخش پیش فرض رد می کند.

قالب این دو گزینه است

=

به یاد داشته باشید که آدرس ها می توانند به عنوان آدرس های IP ، نام های میزبان یا نام دامنه بیان شوند. با این حال ، بهتر است به آدرس های IP بچسبید. می توانید برای مشخص کردن دامنه از نماد CIDR استفاده کنید. در اینجا دو مثال از نحوه استفاده شما از این گزینه ها آورده شده است:

no_access = 0.0.0.0/0

این احتمالاً رایج ترین خط در بخش پیش فرض است زیرا همه را مسدود می کند. بخش پیش فرض فقط در پرونده پیکربندی وجود دارد تا به xinetd بگوید در صورت درخواست سرویس که در بخش خدمات پوشش داده نشده است ، چه کاری انجام دهید. شما باید بر این فرض کار کنید که قادر خواهید بود برای هر نوع خدمتی که رایانه شما می تواند ارائه دهد ، دستورالعمل خاصی ارائه دهید ، بنابراین منطقی است که بیان کنیم که همه درخواست های دیگر مسدود شده اند. همانطور که دروازه بان در یک مهمانی اختصاصی VIP می گوید ، "اگر در لیست نیستید ، وارد نمی شوید."

بدیل دیگری برای این استراتژی این است که به همه اجازه دهید وارد شوید.

only_from = 0.0.0.0/0

این خط مشی واقعاً در بخش پیش فرض معنی ندارد. بخش پیش فرض فقط درصورتی که دستورالعمل یک سرویس را ارائه نکرده اید به آن ارجاع می شود ، بنابراین وقتی xinetd به پیش فرض متوسل می شود ، پرونده ای پیدا می کند که هیچ راهنمایی برای آن ندارد. بنابراین ، اجازه دسترسی در چنین شرایطی باعث خطایی می شود زیرا شما به xinetd نگفته اید که با درخواست چه باید کرد. منطقی است که از این گزینه catch-all only_from در توضیحات یک سرویس استفاده کنید ، بنابراین این پیام به xinetd می گوید تا از هر منبع ممکن برای استفاده از آن سرویس درخواست کند..

متأسفانه ، یک ویژگی از گزینه های only_from و no_access وجود دارد که اگر سیاستی را همانطور که در بالا توضیح داده شد ، تضاد ایجاد کنید. به این معنا که, هر دو no_access و only_from جهانی هستند و xinetd هر بار که وظیفه انجام آن را دارد ، هر دو مورد را بررسی می کند. بنابراین اگر هر دو مجموعه را داشته باشید ، Daemon درخواست ورودی را در برابر آن جمله no_access در بخش پیش فرض تأیید می کند ، حتی اگر یک پیکربندی سرویس معتبر تنظیم شده باشد.

با تصمیم گیری درباره خط مشی ، می توانید این جستجوی جهانی no_access و only_from را جهانی کنید فقط همیشه از یک یا دیگری در پرونده xinetd.conf استفاده کنید. این معمول است که با only_from چسبیده و گزینه no_access را نادیده بگیرید. شما می توانید با خالی ماندن لیست آدرس در بخش پیش فرض ، یعنی "، یک دستورالعمل فقط همه گیر ایجاد کنید"only_from = "و به برنامه xinetd اجازه می دهد تا از تنظیمات only_from در شرح خدمات استفاده کند. این امر بدون ایجاد درگیری اتفاق می افتد زیرا تنها بخش پیش فرض فقط با تنظیم سرویس دریافت می شود..

آزار دهنده, اگر یک عبارت only_from یا no_access را در بخش پیش فرض قرار ندهید ، xinetd به همه اتصالات اجازه می دهد که شما در بخش خدمات پوشش داده نشده اید ، که احتمالاً خطایی ایجاد می کند.

فرمت لیست چندین آدرس به عنوان پارامتر هر دو گزینه این است که فاصله ای بین هر آدرس (بدون کاما) باقی بماند. همچنین می توانید دامنه های CIDR را در این لیست قرار دهید.

دستورات پرونده را وارد کنید

log_type, log_on_success, و log_on_failure همه گزینه ها با هم کار می کنند هر کدام دارای یک سری ثابت است که شما باید به عنوان پارامترها به آن وارد شوید.

از ویژگی log_type به استفاده کنید مسیر و نام یک پرونده log را بدهید و از ویژگی log_on_success و log_on_failure استفاده کنید تا مشخص کنید کدام قسمت ها باید در پرونده پرونده برای هر رویداد ثبت شوند.

به عنوان مثال ، شما می توانید یک آدرس پرونده log را با:

log_type = FILE / usr / log / internetlog

گزینه دیگری که با ویژگی log_type موجود است SYSLOG است که سطح پیام را برای این رویدادها تعیین می کند که توسط syslogd گزارش خواهد شد. مقادیر ممکن عبارتند از:

  • اهریمن، دیو
  • نویسنده
  • کاربر
  • محلی0-7

نمونه ای از این موارد خواهد بود:

log_type = SYSLOG local1

SYLOG صفت ضروری نیست و از اهمیت بسیار کمتری برخوردار است فایل گزینه. شما واقعاً باید نام فایل log را برای نوشتن به xinetd خود بدهید. لازم نیست سطح پیام Syslog را برای پیامهای رویداد مشخص کنید.

گزینه های گزارش موجود برای log_on_success عبارتند از:

  • PID - 0 اگر این سرویس xinetd داخلی است
  • HOST - آدرس مشتری
  • USERID - هویت کاربر از راه دور
  • EXIT - وضعیت خروج فرآیند
  • DURATION - مدت زمان جلسه

گزینه های گزارش برای ورود به سیستم log_on_failure عبارتند از:

  • HOST - آدرس مشتری
  • USERID - هویت کاربر از راه دور
  • ATTEMPT - یک تلاش دسترسی ناموفق را ثبت می کند
  • ضبط - تمام اطلاعات موجود در مورد مشتری

در هر خط log_on_success و log_on_failure می توانید گزینه های مختلفی را در نظر بگیرید و آنها را باید بدون هیچ نوع نقطه گذاری تقسیم کنید. مثلا:

log_type = FILE / usr / log / internetlog
log_on_success = خروج DURATION US HID PID
log_on_failure = ثبت نام ATTEMPT HOST USERID

مرسوم است که عبارات log_type ، log_in_success و log_on_fureure را در خطوط پی در پی در پرونده نگه دارید.

کنترل ظرفیت

دو گزینه دیگر که باید آنها را وارد کنید xinetd.conf تعداد اتصالات همزمان را که سرور شما باید بپذیرد محدود می کند. این یک عامل مهم است و روشی ساده اما قدرتمند برای فریب حملات انکار سرویس (DoS) است. دو گزینه برای اجرای این استراتژی وجود دارد موارد و per_source.

گزینه instances در بخش پیش فرض تعداد اتصالی را نشان می دهد که xinetd به طور همزمان می تواند اجرا شود و گزینه per_source تعداد درخواست های اتصال را نشان می دهد که Daemon از همان آدرس منبع به آنها پاسخ خواهد داد.. حملات انکار سرویس توزیع شده است (DDoS) حد مجاز per_source را می گیرد ، اما گزینه موارد نیست. متأسفانه ، اجرای این حد سرویس ، کاربران اصلی را برای مدت زمان حمله ، مسدود خواهد کرد.

قالب این دو گزینه بسیار مستقیم است:

= تعداد.

مقدار per_source باید کمتر از مقدار نمونه باشد.

به عنوان مثال بخش پیش فرض

با جمع کردن تمام جزئیات توضیح داده شده در این بخش ، بیانیه پیش فرض xinetd.conf شما باید مانند این باشد:

پیش فرض
{
موارد = 20
per_source = 5
log_type = FILE / usr / log / internetlog
log_on_success = خروج DURATION US HID PID
log_on_failure = ثبت نام ATTEMPT HOST USERID
only_from =
}

هر پرونده xinetd.conf باید یک عبارت پیش فرض داشته باشد. لازم نیست بیانیه خدمات داشته باشید.

بخش های پیکربندی سرویس

برای هرکدام از خدماتی که می خواهید سرور شما ارائه شود ، باید یک بخش دستورالعمل سرویس را در xinetd.conf بنویسید. اگر هیچ خدمتی را در پرونده پیکربندی ننویسید ، xinetd از مشخصات مندرج در بخش پیش فرض استفاده می کند. همچنین می توانید تنظیمات تعریف شده در بخش های پیش فرض را با بازگرداندن این ویژگی ها با مقادیر مختلف در بخش نوشته شده برای تعریف یک سرویس بازنویسی کنید..

انواع خدمات

ویژگی های موجود در بخش خدمات برای هر سه دسته خدمات متفاوت است. اینها هستند:

  • درونی؛ داخلی
  • ثبت نشده است
  • RPC

دسته خدمات (INTERNAL / UNLISTED / RPC) را می توان با این ویژگی مشخص کرد نوع. با این حال ، این ویژگی اجباری نیست و غالباً کنار گذاشته می شود.

تعاریف ویژگی خدمات

هنگام نوشتن مشخصات ویژگی ، همه زمینه ها با فاصله یا بازخورد از واگن جدا می شوند - شما در تعریف از هر نوع جداکننده یا نقطه گذاری استفاده نمی کنید.

طرح یک بیانیه سرویس برای بخش پیش فرض یکسان است:

سرویس
{
  مقدار عملگر ویژگی
}

اپراتور مورد استفاده برای عبارات ویژگی معمولاً برابر است ("=") ویژگیهای بسیار کمی اجازه می دهند مقادیری به لیست موجود با "+="یا یک لیست با"-="- در هر دو مورد ، شما اپراتور را بدون نقل قول های نشان داده شده در اینجا می نویسید.

در اینجا ویژگی هایی که برای an در دسترس هستند آورده شده است درونی؛ داخلی نوع خدمات:

  • socket_type
  • پرچم ها
  • خوب
  • صبر کن
  • پروتکل (اگر در / و غیره / خدمات ذکر نشده باشد)
  • پورت (اگر در / و غیره / خدمات ذکر نشده باشد)
  • سی پی اس
  • access_times

ویژگی های موجود برای RPC خدمات عبارتند از:

  • socket_type
  • پرچم ها
  • کاربر
  • سرور
  • سرور_ارگ
  • خوب
  • صبر کن
  • پروتکل
  • rpc_version
  • rpc_number
  • سی پی اس
  • access_times

ثبت نشده است انواع خدمات می توانند هر یک از ویژگی های زیر را داشته باشند:

  • socket_type
  • پرچم ها
  • کاربر
  • سرور
  • سرور_ارگ
  • حداکثر بار
  • خوب
  • صبر کن
  • پروتکل (اگر در / و غیره / خدمات ذکر نشده باشد)
  • پورت (اگر در / و غیره / خدمات ذکر نشده باشد)
  • access_times
  • سی پی اس

اهداف ویژگی های خدمات

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

AttributeDescription
نوع داخلی ، RPC ، لیست نشده یا نامحدود داخلی
socket_type جریان (TCP) ، dgram (UDP) ، خام (دسترسی مستقیم به IP) یا seqpacket ().
شناسه یک نام منحصر به فرد برای این سرویس ایجاد کنید
پرچم ها در زیر جدول توضیح داده شده است
کاربر اولویت سرور را مشخص می کند
سرور مسیر و برنامه خدمات
سرور استدلال می کند آرگومان هایی برای تماس با سرویس ارائه می شود
حداکثر بار تعداد فرآیندهای همزمان برای یک سرویس
خوب اولویت خدمات را افزایش می دهد
صبر کن بله | خیر - پردازش همزمان درخواستهای جدید را مسدود یا اجازه می دهد
پروتکل اگر پروتکل در / و غیره / پروتکل ها ذکر شده باشد ، می توان کنار گذاشت
بندر شماره پورت نیز باید در / etc / service وجود داشته باشد و به همان تعداد باشد
rpc_version نسخه RPC
rpc_number شماره RPC
سی پی اس حد اتصال ، آرگومان دوم اختیاری است و به تعداد ثانیه ها صبر می کند تا منتظر رسیدن حد مجاز باشند
access_times ساعت از روز که یک سرویس قابل اجرا است
بستن به اتصالات به یک آدرس IP خاص پاسخ دهید
تغییر مسیر درخواست های خدمات را برای رایانه دیگری ارسال می کند

پرچم ها این ویژگی می تواند مقادیر زیر را داشته باشد:

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

رستوران: از ایجاد فرآیند جدید در خرابی اتصال جلوگیری می کند

NAMEINARGS: اولین استدلال در سرور_ارگ هست سرور ارزش. هنگام تماس با tcpd استفاده می شود

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

  • only_from
  • هیچ دسترسی
  • log_type
  • log_on_success
  • log_on_failure
  • موارد
  • per_source

با استفاده از این ویژگی ها دوباره مقادیر تعیین شده برای آنها در بخش پیش فرض بازنویسی می شود. با این حال ، به یاد داشته باشید که only_from و هیچ دسترسی ویژگی ها جهانی هستند ، بنابراین شما باید از این گزینه ها برای جلوگیری از پارامترهای متناقض استفاده کنید.

نمونه اعلامیه خدمات

در اینجا دو نمونه از تعریف یک سرویس وجود دارد.

سرویس ntalk
{
socket_type = dgram
صبر کنید = بله
کاربر = هیچ کس
سرور = /usr/sbin/in.ntalkd
access_times = 7: 00-12: 30 13: 30-21: 00
only_from = 192.168.1.0/24
}

سرویس ftp
{
socket_type = جریان
صبر = نه
کاربر = root
سرور = /usr/sbin/in.ftpd
server_args = -l
موارد = 4
خوب = 10
}

توجه داشته باشید که استفاده از access_times در ntalk تعریف. در این حالت از دو بازه زمانی با زمان و از هم جدا شده توسط خط تیره ("-") بدون فاصله استفاده می شود. دو بازه زمانی توسط یک فضا از هم جدا می شوند. تعاریف زمان از قالب ساعت 24 ساعته استفاده می کنند.

only_from ویژگی در ntalk تعریف دسترسی به این سرویس را محدود می کند تا فقط آدرس های شبکه محلی بتوانند از آن استفاده کنند.

ntalk خدمات دارای socket_type از dgram, این بدان معنی است که این سرویس UDP است. socket_type در ftp تعریف است جریان, این بدان معنی است که این یک سرویس TCP است.

چندین مورد از یک سرویس ایجاد کنید

تعریف خدمات بطور پیش فرض از نام سرویس به عنوان شناسه آن استفاده می کند. با این وجود ، ممکن است بخواهید چندین نسخه از یک سرویس ایجاد کنید و به هر ویژگی مختلف بدهید. از آنجا که نام سرویس باید با نام استفاده شده در آن مطابقت داشته باشد / و غیره / خدمات فایل ، دریافت چندین نسخه از سرویس غیرممکن خواهد بود. با این حال ، ویژگی id این استراتژی عملیاتی را فعال می کند.

یکی از کاربردهای بسیار رایج این سناریو زمانی است که می خواهید ایجاد کنید سرورهای مختلف FTP برای دسترسی داخلی و خارجی. با استفاده از این روش ، می توانید فضای ذخیره پرونده خود را برای دفتر کاملاً جدا از پرونده های قابل بارگیری که در دسترس عموم قرار می دهید ، نگه دارید.

در این حالت استفاده ، "service ftp" را دو بار تعریف می کنید. سپس یک ویژگی را به یک نمونه می دهید id = ftp-داخلی و دیگری id = ftp-خارجی. از آن به بعد ، xinetd می تواند بین این دو تمایز قایل شود. برای اینکه هر نمونه در دسترس مخاطبان مختلف قرار بگیرد ، از این موارد استفاده می کنید only_from ویژگی برای محدود کردن دسترسی به سرویس ftp-داخلی فقط به آدرس های موجود در شبکه و دسترسی به سرویس ftp-خارجی به کلیه آدرس های غیر شبکه.

آدرس را به یک سرویس مرتبط کنید

سناریوی ایجاد سرویس های مختلف برای کاربران داخلی و خارجی می تواند به واسطه ویژگی اتصال به آنها کمک کند. عبارت "بستن"اغلب در برنامه نویسی TCP استفاده می شود. معمولاً به معنای پیوند اتصال به درگاه است ، بنابراین یک شناسه برای جلسه ایجاد می شود. در این حالت ، "پیوند" به معنای چیز دیگری است. در مثال دسترسی داخلی و خارجی به سرور FTP, می توانید آدرس شبکه رایانه را به نمونه ftp-داخلی و آدرس IP عمومی آن رایانه به نمونه ftp-خارجی متصل کنید.

در این مثال می توان از ویژگی only_from در تعریف سرویس کنار گذاشت. با این حال ، امن تر است که این محدودیت ها را رها کنید. بنابراین ، تعریف کامل از سرورهای FTP داخلی و خارجی شما عبارتند از:

سرویس ftp
{
id = ftp-خارجی
سرور = /usr/sbin/in.ftpd
server_args = -l
موارد = 4
only_from = 0.0.0.0/0
bind = 202.19.244.130
}

سرویس ftp
{
id = ftp-داخلی
socket_type = جریان
سرور = /usr/sbin/in.ftpd
server_args = -l
only_from = 192.168.1.0/24
bind = 192.168.1.5
}

این استراتژی مستلزم این است که سرور FTP شما یک آدرس IP استاتیک برای دسترسی عمومی به آن اختصاص دهد. همچنین ، برای رزرو همان آدرس برای سرور FTP داخلی خود ، باید سرور DHCP خود را تنظیم کنید. اگرچه سناریوی فوق هنگامی کار می کند که یک کامپیوتر واحد برای دسترسی داخلی و خارجی استفاده می شود ، می توانید آدرس رایانه های جداگانه را نیز برای هر نمونه FTP اختصاص دهید..

سرویس های خاص inetd را غیرفعال کنید

وجود دارد سه سرویس xinetd که اطلاعاتی در مورد سیستم می دهد.

  • سرورها: گزارش در مورد سرورهای مورد استفاده
  • خدمات: گزارش در مورد خدمات موجود ، پروتکل های آنها و درگاه های آنها
  • xadmin: دو دستور فوق را با هم ترکیب می کند

این خدمات یک ضعف امنیتی است زیرا آنها می توانند توسط هکرها برای به دست آوردن اطلاعات در مورد شبکه و سرور شما استفاده شوند. بنابراین ، بهتر است آنها را غیرفعال کنید. شما می توانید این کار را با ویژگی غیرفعال انجام دهید ، که به ویژگی های شما می رود پیش فرض تعریف. برای حذف این امکانات ، فقط خط زیر را در بخش پیش فرض خود وارد کنید:

غیرفعال = سرویسهای سرور xadmin

با تغییر پرونده پیکربندی که در بالا توضیح داده شده است ، اکنون می توانید شروع به استفاده از xinetd کنید.

در حال اجرا xinetd

شما در خط فرمان xinetd را شروع می کنید. این دستور همچنین می تواند از یک فایل دسته ای اجرا شود ، بنابراین می توانید آن را به مراحل راه اندازی رایانه خود اضافه کنید. این برنامه با گزینه های زیر قابل اجرا است:

SwitchOptionDescription
حالت اشکال زدایی
-syslog               syslog_facility همان log_type SYSLOG در پیش فرض پرونده conf
-filelog ورود به سیستم فایل همان log_type FILE در پیش فرض پرونده conf
-f  پیکربندی پرونده پیکربندی را مشخص می کند - پیش فرض /etc/xinetd.conf است
-pidfile pid_file شناسه فرایند را برای pid_file بنویسید
-زنده ماندن هرگز خاتمه ندهید
-حد proc_limit حداکثر تعداد فرآیندی که به طور همزمان قابل اجرا باشد
-پروانه ها حد حداکثر تعداد سرورهایی که می توانند همزمان اجرا شوند
-نسخه نسخه xinetd را چاپ کنید
-inetd_compat /etc/inetd.conf و همچنین پرونده پیکربندی xinetd را بخوانید
-سی سی فاصله بررسی ثبات هر ثانیه از فاصله

همچنین راه اندازی xinetd بدون هیچ گزینه ای امکان پذیر است.

از xinetd استفاده کنید

اگر کامپیوتر لینوکس دارید ، ممکن است xinetd را از قبل نصب کرده باشید. می توانید با دویدن بررسی کنید xinetd -version. اگر رایانه شما به جای آن در حال اجرا است ، شانس وجود دارد که شما لینوکس را اجرا نمی کنید. برنامه را با xinetd جایگزین کنید و پرونده پیکربندی خود را از سازگاری داخلی به استفاده xinetd تبدیل کنید همانطور که در بالا توضیح داده شد.

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

همچنین مشاهده کنید: 15 بهترین سرور رایگان Syslog

تصویر: اتصال اینترنتی به شبکه از Pixabay. دارای مجوز تحت CC0 Creative Commons

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

42 − 32 =

Adblock
detector