Xinetd هو الوصي الذي يدير الوصول إلى جهاز الكمبيوتر الخاص بك من الإنترنت. إنه برنامج خفي يعمل طوال الوقت ويستمع إلى كافة المنافذ لطلب الاتصال أو الخدمة. إذا لم تقم بتشغيل خادم ، فلن تحتاج إلى xinetd. ومع ذلك ، حتى لو كان جهاز الكمبيوتر الخاص بك للاستخدام المنزلي فقط ، فقد تحتاج إلى السماح للآخرين بالوصول إلى الخدمات الموجودة على جهاز الكمبيوتر الخاص بك في وقت ما في المستقبل. عندما تفعل, ستحتاج إلى تثبيت xinetd لحماية جهاز الكمبيوتر الخاص بك من أي نشاط ضار.
نظام التشغيل
تمت كتابة الأداة المساعدة xinetd لأنظمة Unix و Unix-like. لذلك ، سيتم تثبيته على نظامي التشغيل Linux و Mac OS ، ولكن ليس على نظام Windows. البرنامج مجاني للاستخدام ويمكن الوصول إليه من جيثب.
يمكنك الحصول على البرنامج من هذا المستودع الرئيسي وهناك أيضًا شوكة واحدة من التعليمات البرمجية. هذا برنامج معروف وموثوق به تم تنزيله وتثبيته عدة مرات ، لذلك لا داعي للقلق بشأن مخاطر البرنامج كونه مزيف ضار.
الغرض من xinetd
المقصود من نظام xinet أن يعمل كما الخادم. ربما تعلم أنه في اتصال إنترنت نموذجي ، يتصل أحد أجهزة الكمبيوتر بالآخر. يسمى الكمبيوتر الذي يبدأ الاتصال بـ “زبونوالبرنامج الذي يتم الاتصال به هو “الخادم.”السبب المعتاد للاتصال هو أنه يمكن للعميل الحصول على خدمة من الخادم. ومع ذلك ، يحتاج الكمبيوتر الذي تم الاتصال به إلى تشغيل برنامج ، في انتظار الطلبات. هذه هي وظيفة xinetd.
الشرط الأساسي لـ xinetd هو أن يتلقى الطلبات ويعيد توجيهها إلى التطبيق الصحيح ، والذي يشار إليه برقم المنفذ المكتوب في رأس الاتصال أو طلب الخدمة القادم. لا يوفر برنامج xinetd الخدمة المطلوبة بالفعل ، ولكنه يعمل كحارس بوابة.
البدائل: xinetd مقابل رقباء
لم يكن مطورو برامج xinetd أول من توصل إلى فكرة برنامج يستمع على الشبكة للطلبات الواردة. في الواقع ، المقصود xinetd بمثابة تحسين على البرنامج الأصلي الذي نفذ هذه المهمة ، والذي يسمى inetd.
اسم “xinetd” هو اختصار لـ “خدمات الإنترنت الموسعة الخفي“. “الخفي خدمات الإنترنت” يصف الأصلي رقباء. مع inetd ، تحصل على نفس طلب الخادم الذي يراقب xinetd. ومع ذلك ، فإن هذا البرنامج الخفي لا يحتوي على آليات دفاعية وبالتالي يعتبر الآن غير آمن.
inetd القديمة لم تنجح وحدها. مرت طلبات على ل tcpd, التي فحصت ملفات الأذونات (hosts.allow و hosts.deny). كما يوحي الاسم ، يعالج tcpd طلبات اتصال TCP. ومع ذلك ، فإنه يفحص أيضًا منافذ UDP ، بحيث يكون تطبيق واجهة طبقة النقل. قد ترى أيضًا إشارة لبرنامج TCP – وهذا مجرد اسم آخر لـ tcpd. أضاف إدراج tcpd بعض التحسن في التحكم في الوصول. ومع ذلك ، كانت عملية التصريح مدفوعة بملفين تم ملؤهما يدويًا ، وبالتالي لم يكن حلاً أمنياً شاملاً للغاية.
ميزات Xinetd
يشبه وضع التشغيل xinetd وضع inetd مع tcpd. ومع ذلك ، يحتوي حل xinetd على ميزات أمان أفضل بكثير من مجموعة inetd / tcpd. تشمل ميزات البرنامج الخفي ما يلي:
- التحكم في الوصول ل TCP و UDP
- تسجيل الحدث الذي يسجل نجاح الاتصال والفشل
- التحكم في الوصول على أساس شرائح الوقت
- حد الخادم المتزامن – دفاع عن رفض الخدمة (DoS)
- حد حجم ملف السجل
- توزيع الخدمات على واجهات مختلفة ، مما يتيح لخدمات معينة أن تقتصر على الشبكة الخاصة
- وظيفة الوكيل بما في ذلك ترجمة عنوان الشبكة
Xinetd قادر على العمل كوسيط ل خدمات RPC. ومع ذلك ، هذه الوظيفة لا تنفذ بشكل جيد للغاية. قلل عدم توفر ميزة الحماية في RPC من الطلب على الوصول إلى هذه الخدمة ، لذلك من المشكوك فيه أن مطوري xinetd سيقضون وقتًا في إتقان واجهة RPC الخاصة به.
طرق التحكم في الوصول
مثل inetd ، xinetd يتيح لك السماح بالاتصالات أو حظرها وفقًا لعنوان IP الخاص بالمتقدم. باستخدام inetd ، يمكنك أيضًا تحديد مصادر الاتصال المسموح بها والمحظورة حسب اسم المضيف أو حسب اسم المجال. كل من هذه الخيارات يتطلب إجراء بحث. في حالة خيار أسماء المضيف ، ستحتاج إلى إعداد هذه الأسماء في نظام DNS لشبكتك. بالنسبة إلى المجالات ، من المحتمل أن تكون أفضل حالًا في الاعتماد على نظام DNS العام.
إن تحديد ما إذا كنت تحدد هوية مقدمي الطلبات حسب عنوان IP أو اسم المضيف أو اسم المجال يعود إليك. ومع ذلك, التمسك بعنوان IP يخلق اتصالات أسرع لأنه يلغي الحاجة إلى مرحلة البحث.
أعدادات النظام
من أجل استخدام xinetd ، تحتاج أولاً إلى تثبيته ثم تحديث ملف التكوين. أساسا ، ملف التكوين هو مركز القيادة الخاص بك ل xinetd. لأن هذا البرنامج هو برنامج خفي ، بمجرد بدء تشغيله, وسوف تستمر في تشغيل إلى الأبد. إنها ليست أداة تفاعلية يمكنك ضبطها في سطر الأوامر. يحدث كل اتصالك بالبرنامج من خلال ملف التكوين.
سيستمر البرنامج الخفي في التحقق من ملف التكوين كلما تلقى طلبًا من العالم الخارجي. لا يتم تحميل التهيئة في الذاكرة عند بدء التشغيل. هذا يعني يمكنك ضبط أداء البرنامج الخفي أثناء تشغيله عن طريق تغيير التعليمات الموجودة في ملف التكوين.
ملف التكوين ل xinet هو أكثر أهمية أن أنظمة التكوين للأدوات المساعدة الأخرى. هذا لأنه يمكنك تغيير إرشادات البرنامج الخفي من خلال التكوين دون الحاجة إلى إيقاف برنامج 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 ما يجب القيام به إذا لم يجد تعليمات محددة لمهمته الحالية في قسم الخدمات.
فيما يلي بعض الخيارات الأساسية التي يمكنك ضبطها في قسم الإعدادات الافتراضية:
- فقط من
- ممنوع الدخول
- log_type
- log_on_success
- log_on_failure
- الحالات
- per_source
تشرح الأقسام التالية هذه الخيارات بمزيد من التفصيل.
شروط الوصول
فقط من و ممنوع الدخول أداء المهمة نفسها بشكل فعال ، وهو حظر (عدم الوصول) أو السماح (فقط_من) عنوان محدد أو نطاقات من العناوين. يُنصح باستخدام أحد هذه الخيارات لحظر كل شيء افتراضيًا ، ثم إنشاء قائمة بالخدمات في ملف التكوين. من خلال هذه الاستراتيجية ، تقوم بتغطية نفسك في حالة حدوث حدث لم تقم بحسابه.
هذان الخياران هما أيضًا أوامر صالحة لتضمينها في قسم الخدمات. لذلك يمكنك ذلك ابدأ في حظر كل شيء افتراضيًا ثم قم بإضافة الخدمات. إذا كان هناك قسم خدمة يتعلق بنوع طلب الاتصال الذي يتلقاه 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 يتحقق كل منهما في كل مرة لديه مهمة لأداء. لذلك إذا كان لديك كلاهما ، فسيقوم البرنامج الخفي بالتحقق من صحة الطلب الوارد مقابل بيان عدم الوصول في قسم الإعدادات الافتراضية على الرغم من وجود تهيئة خدمة صالحة.
يمكن التغلب على هذا الغريب المتمثل في no_access و only_from كونها عالمية من خلال اتخاذ قرار بشأن سياسة فقط باستخدام واحد أو آخر في ملف xinetd.conf الخاص بك. من الممارسات الشائعة الالتزام بـ only_from وتجاهل خيار no_access. يمكنك إنشاء تعليمة جذابة فقط من خلال ترك قائمة العناوين فارغة في قسم الإعدادات الافتراضية ، أي “only_from = وهذا سيسمح لبرنامج xinetd باستخدام الإعداد only_from في أوصاف الخدمات. سيحدث هذا دون إثارة أي تعارض لأنه يتم استبدال قسم الإعدادات الافتراضية فقط_من القيمة بواسطة إعداد only_from للخدمة.
مزعج, إذا لم تقم بوضع عبارة only_from أو عبارة no_access في قسم الإعدادات الافتراضية ، فسوف تسمح xinetd بجميع الاتصالات التي لم تغطها في قسم الخدمات ، والتي من المحتمل أن تخلق خطأ.
يتمثل تنسيق إدراج عدة عناوين كمعلمات لكل من هذين الخيارين في ترك مسافة بين كل عنوان (بلا فواصل). يمكنك أيضًا تضمين نطاقات CIDR في القائمة.
أوامر ملف السجل
ال log_type, log_on_success, و log_on_failure خيارات جميع العمل معا. يحتوي كل منها على سلسلة من الثوابت التي تحتاج إلى إدخالها في الخيار كمعلمات.
استخدم سمة log_type إعطاء المسار واسم ملف السجل واستخدم سمة log_on_success و log_on_failure لتحديد الحقول التي يجب كتابتها في سجل ملف السجل لكل حدث.
على سبيل المثال ، يمكنك كتابة عنوان ملف السجل باستخدام:
log_type = FILE / usr / log / internetlog
هناك خيار آخر متاح مع سمة log_type وهو SYSLOG ، الذي يحدد مستوى الرسالة لهذه الأحداث التي سيتم الإبلاغ عنها بواسطة syslogd. القيم الممكنة هي:
- الخفي
- المصادقة
- المستعمل
- local0-7
مثال سيكون:
log_type = SYSLOG local1
ال SYLOG السمة ليست ضرورية وأنها أقل أهمية بكثير من ملف اختيار. تحتاج حقًا إلى إعطاء xinetd اسم ملف السجل للكتابة إليه ؛ ليس عليك تحديد مستوى Syslog لرسائل الأحداث.
خيارات التقارير المتاحة لـ log_on_success هي:
- PID – 0 إذا كانت خدمة xinetd داخلية
- المضيف – عنوان العميل
- USERID – هوية المستخدم البعيد
- خروج – حالة الخروج العملية
- المدة – فترة مدة الجلسة
خيارات إعداد التقارير لـ log_on_failure هي:
- المضيف – عنوان العميل
- USERID – هوية المستخدم البعيد
- محاولة – تسجيل محاولة وصول فاشلة
- سجل – جميع المعلومات المتاحة عن العميل
يمكنك تضمين خيارات متعددة في كل سطر log_on_success و log_on_failure ويجب فصلها بمسافات دون أي نوع من علامات الترقيم. فمثلا:
log_type = FILE / usr / log / internetlog
log_on_success = تم إنهاء HOST PID USER
log_on_failure = سجل مضيف مستخدم مضيف
من الممارسات الشائعة الاحتفاظ ببيانات log_type و log_in_success و log_on_failure في الأسطر المتتالية في الملف.
الضوابط القدرات
هناك خياران آخران تحتاج إلى وضعهما في xinetd.conf يحدان من عدد الاتصالات المتزامنة التي يجب أن يقبلها خادمك. هذا عامل مهم وهو وسيلة بسيطة ولكنها قوية للتغلب على هجمات رفض الخدمة (DoS). الخياران اللذان يطبقان هذه الاستراتيجية هما الحالات و per_source.
يحدد خيار المثيلات في قسم الإعدادات الافتراضية عدد الاتصالات التي سيسمح xinetd بتشغيلها بشكل متزامن ويحدد خيار per_source عدد طلبات الاتصال التي سوف يستجيب لها البرنامج الخفي من نفس عنوان المصدر. هجمات الحرمان من الخدمة الموزعة (DDoS) سيتجاوز حد per_source ، لكن ليس خيار المثيلات. لسوء الحظ ، سيؤدي تطبيق حد الخدمة هذا إلى حظر المستخدمين الأصليين طوال مدة الهجوم.
تنسيق هذين الخيارين مستقيم للأمام:
= العدد.
يجب أن تكون قيمة per_source أقل من قيمة المثيلات.
مثال على قسم الإعدادات الافتراضية
بتجميع كافة التفاصيل الموضحة في هذا القسم ، يجب أن يبدو بيان الإعدادات الافتراضية لـ xinetd.conf كما يلي:
التخلف
{
حالات = 20
per_source = 5
log_type = FILE / usr / log / internetlog
log_on_success = تم إنهاء HOST PID USER
log_on_failure = سجل مضيف مستخدم مضيف
only_from =
}
يجب أن يكون لكل ملف xinetd.conf عبارة افتراضية. ليس لديك أي بيانات خدمات.
أقسام تكوين الخدمة
لكل من الخدمات التي تريد أن يقدمها الخادم الخاص بك ، يجب عليك كتابة قسم تعليمات الخدمة في xinetd.conf. إذا لم تكتب أي خدمات في ملف التكوين ، فستستخدم xinetd المواصفات المنصوص عليها في قسم الإعدادات الافتراضية. يمكنك أيضًا الكتابة فوق الإعدادات المحددة في أقسام الإعدادات الافتراضية من خلال إعادة هذه السمات بقيم مختلفة في القسم المكتوب لتحديد الخدمة.
أنواع الخدمات
تختلف السمات المتاحة لقسم الخدمات لكل فئة من فئات الخدمة الثلاثة. وهذه هي:
- داخلي
- غير مدرج
- RPC
يمكن تحديد فئة الخدمة (INTERNAL / UNLISTED / RPC) مع السمة اكتب. ومع ذلك ، فإن هذه السمة ليست إلزامية وغالبًا ما يتم استبعادها.
تعريفات سمة الخدمة
عند كتابة مواصفات السمة ، يتم فصل جميع الحقول بمسافات أو عوائد النقل – لا تستخدم أي شكل من أشكال الفواصل أو علامات الترقيم في التعريف.
تخطيط بيان الخدمة هو نفسه بالنسبة لقسم الإعدادات الافتراضية:
الخدمات
{
قيمة عامل التشغيل
}
المشغل المستخدم لبيانات السمات يكون عادةً مساويًا (“=“). هناك عدد قليل جدًا من السمات التي تسمح بإضافة القيم إلى قائمة موجودة مع “+=“أو خلع قائمة مع”-=“- في كلتا هاتين الحالتين ، تكتب المشغل دون علامات الاقتباس المعروضة هنا.
هنا هي السمات المتاحة ل داخلي نوع الخدمة:
- نوع المقبس
- الأعلام
- لطيف
- انتظر
- البروتوكول (إذا لم يكن مدرجًا في / etc / services)
- منفذ (إذا لم يكن مدرجًا في / etc / services)
- القانون الجنائي
- access_times
السمات المتاحة ل RPC الخدمة هي:
- نوع المقبس
- الأعلام
- المستعمل
- الخادم
- server_args
- لطيف
- انتظر
- بروتوكول
- rpc_version
- rpc_number
- القانون الجنائي
- access_times
ال غير مدرج يمكن أن تحتوي أنواع الخدمات على أي من السمات التالية:
- نوع المقبس
- الأعلام
- المستعمل
- الخادم
- server_args
- max_load
- لطيف
- انتظر
- البروتوكول (إذا لم يكن مدرجًا في / etc / services)
- منفذ (إذا لم يكن مدرجًا في / etc / services)
- access_times
- القانون الجنائي
أغراض سمة الخدمة
تظهر معاني هذه السمات في الجدول أدناه:
اكتب | داخلي ، RPC ، غير مدرج ، أو داخلي مدرج |
نوع المقبس | دفق (TCP) أو dgram (UDP) أو خام (وصول مباشر IP) أو seqpacket (). |
هوية شخصية | إنشاء اسم فريد لهذه الخدمة |
الأعلام | وأوضح الجدول أدناه |
المستعمل | يحدد أولوية الخادم |
الخادم | مسار وبرنامج الخدمة |
الحجج الخادم | الحجج لتمريرها مع استدعاء الخدمة |
max_load | عدد العمليات المتزامنة للخدمة |
لطيف | يزيد من أولوية الخدمة |
انتظر | نعم | لا – كتل أو يسمح معالجة متزامنة للطلبات الجديدة |
بروتوكول | يمكن استبعاده إذا تم سرد البروتوكول في / etc / البروتوكولات |
ميناء | يجب أن يكون رقم المنفذ موجودًا أيضًا في / etc / services وأن يكون هو نفسه الرقم |
rpc_version | نسخة من RPC |
rpc_number | رقم RPC |
القانون الجنائي | حد الاتصال ، الوسيطة الثانية اختيارية وتعطي عدد الثواني للانتظار عند بلوغ الحد |
access_times | ساعات من اليوم عندما يمكن تشغيل الخدمة |
ربط | الرد على الاتصالات إلى عنوان IP معين |
إعادة توجيه | يعيد توجيه طلبات الخدمة إلى كمبيوتر آخر |
ال الأعلام يمكن أن تحتوي السمة على القيم التالية:
IDONLY: فقط قبول الاتصالات من العملاء الذين لديهم خادم تعريف
NORETRY: يمنع إنشاء عملية جديدة على فشل الاتصال
NAMEINARGS: الحجة الأولى في server_args هل الخادم القيمة. يستخدم عند الاتصال tcpd
بالإضافة إلى السمات أعلاه ، يمكن أيضًا كتابة الخيارات المتاحة في قسم الإعدادات الافتراضية في تعريف الخدمة. وهذه هي:
- فقط من
- ممنوع الدخول
- log_type
- log_on_success
- log_on_failure
- الحالات
- per_source
سيؤدي استخدام هذه السمات مرة أخرى إلى الكتابة فوق أي قيم تم تعيينها لها في قسم الإعدادات الافتراضية. ومع ذلك ، تذكر أن فقط من و ممنوع الدخول السمات عالمية ، لذا يجب عليك تنظيم استخدام هذه الخيارات لتجنب تعارض المعلمات.
أمثلة إعلان الخدمة
فيما يلي مثالان لتعريف الخدمة.
خدمة ntalk
{
socket_type = dgram
انتظر = نعم
المستخدم = لا أحد
server = /usr/sbin/in.ntalkd
access_times = 7: 00-12: 30 13: 30-21: 00
only_from = 192.168.1.0/24
}
خدمة بروتوكول نقل الملفات
{
socket_type = تيار
انتظر = لا
المستخدم = الجذر
server = /usr/sbin/in.ftpd
server_args = -l
حالات = 4
لطيفة = 10
}
لاحظ استخدام access_times في ال ntalk تعريف. يستخدم هذا نطاقين من المرات مع الفاصل من وإلى الأوقات مفصولة بشرطة (“-“) بدون مسافات. يتم فصل النطاقات الزمنية بمسافة. تستخدم تعريفات الوقت تنسيق الساعة على مدار 24 ساعة.
ال فقط من السمة في ntalk تعريف يحد من الوصول إلى هذه الخدمة بحيث يمكن فقط استخدام عناوين على الشبكة المحلية.
ال ntalk الخدمة لديها نوع المقبس من dgram, مما يعني أنها خدمة UDP. ال نوع المقبس في ال بروتوكول نقل الملفات التعريف هو مجرى, مما يعني أن هذه خدمة TCP.
إنشاء مثيلات متعددة من الخدمة
يستخدم تعريف الخدمات اسم الخدمة كمعرّف لها بشكل افتراضي. ومع ذلك ، قد ترغب في إنشاء عدة نسخ من الخدمة وإعطاء كل سمات مختلفة. كما يجب أن يتوافق اسم الخدمة مع الاسم المستخدم في / الخ / خدمات ملف ، الحصول على عدة إصدارات من خدمة قيد التشغيل سيكون مستحيلا. ومع ذلك ، فإن سمة المعرف تمكن استراتيجية التشغيل هذه.
سيكون أحد الاستخدامات الشائعة لهذا السيناريو هو عندما تريد إنشاء خوادم FTP مختلفة للوصول الداخلي والخارجي. من خلال هذه الطريقة ، يمكنك الاحتفاظ بتخزين ملفاتك في المكتب بشكل منفصل تمامًا عن الملفات القابلة للتنزيل التي توفرها لعامة الناس.
في حالة الاستخدام هذه ، ستقوم بتعريف “ftp Service” مرتين. عندئذٍ تعطي السمة الواحدة معرف = بروتوكول نقل الملفات الداخلية والآخر معرف = بروتوكول نقل الملفات الخارجية. منذ ذلك الحين ، يمكن أن xinetd التمييز بين الاثنين. من أجل إتاحة كل مثيل لجمهور مختلف ، يمكنك استخدام فقط من سمة لتقييد الوصول إلى خدمة ftp- الداخلية لعناوين فقط على الشبكة والوصول إلى خدمة ftp-الخارجية على جميع عناوين غير الشبكة.
ربط عنوان إلى خدمة
يمكن مساعدة سيناريو إنشاء خدمات مختلفة للمستخدمين الداخليين والخارجيين بشكل كبير من خلال خاصية الربط. المصطلح “ربطيستخدم بشكل متكرر في برمجة TCP. يعني هذا عادةً إقران اتصال بمنفذ ، وبالتالي إنشاء معرف للدورة. في هذه الحالة ، يعني “الربط” شيئًا مختلفًا. في مثال الوصول الداخلي والخارجي إلى خادم FTP, يمكنك ربط عنوان شبكة الكمبيوتر بالنسخة الداخلية لـ ftp وعنوان IP العام لذلك الكمبيوتر بالنسخة الخارجية من بروتوكول نقل الملفات.
في هذا المثال ، قد يكون من الممكن تجاهل السمة only_from في تعريف الخدمة. ومع ذلك ، من الآمن ترك هذه القيود فيها. لذا ، فإن التعريف الكامل لخوادم FTP الداخلية والخارجية سيكون:
خدمة بروتوكول نقل الملفات
{
معرف = بروتوكول نقل الملفات الخارجية
server = /usr/sbin/in.ftpd
server_args = -l
حالات = 4
only_from = 0.0.0.0/0
ربط = 202.19.244.130
}
خدمة بروتوكول نقل الملفات
{
معرف = بروتوكول نقل الملفات الداخلية
socket_type = تيار
server = /usr/sbin/in.ftpd
server_args = -l
only_from = 192.168.1.0/24
ربط = 192.168.1.5
}
تتطلب هذه الاستراتيجية أن يحتوي خادم FTP على عنوان IP ثابت مخصص له للوصول العام. أيضًا ، ستحتاج إلى إعداد خادم DHCP الخاص بك لحجز نفس العنوان لخادم FTP الداخلي. على الرغم من أن السيناريو أعلاه يعمل عند استخدام كمبيوتر واحد لكل من الوصول الداخلي والخارجي ، يمكنك أيضًا تخصيص عناوين أجهزة الكمبيوتر المنفصلة لكل مثيل FTP.
تعطيل خدمات inetd الخاصة
يوجد ثلاث خدمات xinetd التي تعطي معلومات عن النظام.
- الخوادم: تقرير عن الخوادم المستخدمة
- الخدمات: تقرير عن الخدمات المتاحة وبروتوكولاتها وموانئها
- xadmin: يجمع بين الأمرين المذكورين أعلاه
هذه الخدمات هي نقطة ضعف الأمن لأنه يمكن استخدامها من قبل المتسللين للحصول على معلومات حول الشبكة والخادم الخاص بك. لذلك ، من الأفضل تعطيلها. يمكنك القيام بذلك مع السمة المعطلة ، والتي تدخل في التخلف تعريف. فقط قم بتضمين السطر التالي في قسم الإعدادات الافتراضية لإزالة هذه التسهيلات:
تعطيل = خوادم خدمات xadmin
مع تغييرات ملف التكوين المفصلة أعلاه ، يمكنك الآن البدء في استخدام xinetd.
تشغيل xinetd
تبدأ xinetd في سطر الأوامر. يمكن أيضًا تشغيل الأمر من ملف دفعي ، بحيث يمكنك إضافته إلى إجراءات بدء تشغيل جهاز الكمبيوتر الخاص بك. يمكن تشغيل البرنامج باستخدام الخيارات التالية:
-د | وضع التصحيح | |
-سيسلوغ | syslog_facility | نفس log_type SYSLOG في إعدادات ملف conf الافتراضية |
-filelog | ملف تسجيل | نفس log_type FILE في ملف conf الافتراضي |
-F | ملف التكوين | يحدد ملف التكوين – الافتراضي هو /etc/xinetd.conf |
-pidfile | pid_file | اكتب معرف العملية إلى pid_file |
-ابق على قيد الحياه | لا تنتهي أبدا | |
-حد | proc_limit | الحد الأقصى لعدد العمليات التي يمكن تشغيلها بشكل متزامن |
-logprocs | حد | الحد الأقصى لعدد الخوادم التي يمكن تشغيلها بشكل متزامن |
-الإصدار | طباعة نسخة xinetd | |
-inetd_compat | قراءة /etc/inetd.conf وكذلك ملف التكوين xinetd | |
-سم مكعب | فترة | إجراء اختبارات التناسق كل ثانية الفاصل |
من الممكن أيضًا إطلاق xinetd دون أي خيارات.
استخدام xinetd
إذا كان لديك جهاز كمبيوتر يعمل بنظام Linux ، فقد يكون لديك xinetd مثبت بالفعل. يمكنك التحقق عن طريق تشغيل xinetd -version. إذا كان جهاز الكمبيوتر الخاص بك يعمل بنظام inetd بدلاً من ذلك ، فمن المحتمل أنك لا تقوم بتشغيل Linux. استبدل البرنامج بـ xinetd وقم بتحويل ملف التكوين من توافق inetd إلى xinetd الاستخدام كما هو موضح أعلاه.
هل تستخدم xinetd في الوقت الحالي؟ ترك رسالة في تعليقات القسم أدناه لتبادل الخبرات الخاصة بك مع المجتمع.
أنظر أيضا: 15 أفضل خوادم سيسلوغ الحرة
الصورة: شبكة اتصال الإنترنت من Pixabay. مرخصة بموجب CC0 المشاع الإبداعي
التحقق من الهوية والوصول المباشر للمستخدمين. يمكنك أيضًا تحديد الوقت الذي يمكن فيه الاتصال بالخدمة ، وهذا يمكن أن يكون مفيدًا لتقليل الحمولة على الخادم في فترات الذروة. يمكنك أيضًا تحديد الحد الأقصى لعدد المستخدمين الذين يمكنهم الاتصال بالخدمة في نفس الوقت ، وهذا يمكن أن يساعد في تجنب الازدحام وتحسين أداء الخدمة. في المجمل ، xinetd هو أداة مفيدة لإدارة الوصول إلى جهاز الكمبيوتر الخاص بك من الإنترنت ، ويمكن استخدامه بشكل فعال لحماية جهاز الكمبيوتر الخاص بك من أي نشاط ضار.