ينشئ الأمر chroot بيئة معزولة على Linux عن طريق تغيير الدليل الجذر لجميع العمليات الجارية.

هل تتطلع إلى تشغيل تطبيقات أو خدمات في مساحة معزولة على نظام Linux؟ أو ربما ترغب في اختبار أحد التطبيقات وتصحيح أخطائه دون أن يتداخل مع بقية النظام الخاص بك؟ إذا كان الأمر كذلك ، فستحتاج إلى التعرف على chroot ، وهي آلية قوية مدمجة في Linux تتيح لك إنشاء بيئة منفصلة داخل نظامك.

دعنا نستكشف chroot بالتفصيل ، ونتعرف على فوائده ، وحالات الاستخدام ، وكيفية إعداده على نظام Linux ، وإذا لزم الأمر ، كيفية التخلص منه.

ما هو chroot في لينكس؟

يمكن القول إن chroot أو جذر التغيير هو أحد أسهل وأشكال برامج الحاويات القديمة التي تسمح للمستخدم بوضع الحماية للتطبيقات والخدمات بأمان. Sandboxing ، من حيث الحوسبة ، هي عملية عزل برنامج في مساحة ضيقة بموارد محددة مسبقًا.

إذا كنت معتادًا على عامل ميناء وكيف يعمل، يمكنك التفكير في chroot كنسخة مجردة بشدة منه. يعمل chroot عن طريق تغيير الدليل الجذر للبرنامج ، وتقييد الوصول والرؤية ، وبالتالي توفير طبقة إضافية من العزل والأمان.

بشكل أساسي ، تقوم بإنشاء دليل منفصل ، ونسخ جميع تبعيات البرنامج إلى الدليل الجديد ، ثم تشغيل أمر chroot. هذا يسمح للبرنامج بالعمل بشكل صحيح مع عدم وجود وصول إلى نظام الملفات الأساسي.

instagram viewer

يعد chrooting برنامج طريقة رائعة لاختبار موثوقيته في مكان آمن دون تغيير ملفات النظام الفعلية. علاوة على ذلك ، يمكنك أيضًا تقليل المخاطر الأمنية التي تسببها الحزمة المخترقة كما هو الحال في بيئة chrooted ، لن تتمكن الحزمة المخترقة من الوصول إلى ملفات النظام الحساسة وتعديلها.

سيكون البرنامج قادرًا فقط على الوصول إلى الملفات التي تم استيرادها إلى دليل chrooted وعرضها ، والمعروف باسم "chroot jail". هذا يمنع البرنامج وعملياته الفرعية من التدخل في النظام الأساسي.

ما هو سجن الكروت؟

سجن chroot هو بيئة معزولة حيث توجد برامج chroot ويتم تنفيذها. مصطلح سجن chroot مشتق من مفهوم أن العملية وعملياتها الفرعية داخل بيئة الجذور ليس لديهم إمكانية الوصول أو الرؤية إلى نظام الملفات الأساسي وهم محاصرون داخل حدود chroot مع تحديد مسبقًا موارد.

الآن بعد أن أصبح مفهوم chroot واضحًا لك ، فلنبدأ التدريب العملي ونتعلم كيف يمكنك إنشاء سجن chroot وعمليات التفرخ فيه.

كيفية إنشاء سجن chroot وتنفيذ البرامج فيه

سجن chroot هو في الأساس دليل يحتوي على جميع الموارد والملفات والثنائيات والتبعيات الأخرى التي يحتاجها البرنامج ليعمل بشكل صحيح.

ومع ذلك ، على عكس بيئة Linux العادية ، فإن بيئة chroot jail مقيدة للغاية ولا يمكن للبرنامج الوصول إلى ملفات خارجية أو إضافية وموارد النظام.

على سبيل المثال ، لتشغيل Bash shell في سجن chroot ، ستحتاج إلى نسخ ملف Bash الثنائي وجميع تبعياته إلى دليل chroot.

فيما يلي خطوات إنشاء سجن chroot وإنشاء قوقعة Bash:

  1. لكي يعمل البرنامج بنجاح ، تحتاج إلى نسخ جميع تبعياته إلى دليل chrooted. لنجد الملف الثنائي ، في هذه الحالة ، Bash ، وموقع كل تبعياته باستخدام الأمر الذي و ldd:
    أي باش
    ldd / usr / بن / باش
  2. الآن بعد أن عرفت مواقع الثنائي وتبعياته ، انسخهم إلى الدليل الذي تريد تحويله إلى سجن chroot. باستخدام الأمر mkdir ، قم بإنشاء الدلائل اللازمة واستخدام ملفات الأمر cp، انسخ جميع الملفات في الدلائل المقابلة:
    mkdir bin lib lib64 && cp -r / lib / * ./lib && cp -r / lib64 / * / lib64 / && cp / bin / bash / bin /
  3. أخيرًا ، مع نسخ البرنامج وتبعياته ، يمكنك تشغيل أمر chroot بامتيازات مرتفعة باستخدام بادئة sudo لإنشاء بيئة chroot في الدليل المختار. بشكل افتراضي ، ستنتج قذيفة Bash. إليك أمر الكتابة:
    sudo chroot directory_name

هذه هي كل الخطوات لإنشاء سجن chroot وتشغيل برنامج بداخله.

كيفية الخروج من سجن chroot

بينما تعد chroot jails جيدة لاختبار البرامج غير المستقرة ، إلا أنها مفيدة أيضًا عند التعامل مع اتصالات SSH نظرًا لأن تجذير المستخدمين المتصلين هو واحد من العديد طرق لتأمين خادم SSH الخاص بك.

على الجانب الآخر ، إذا كنت مختبِرًا للاختراق وقمت بتسجيل الدخول إلى خادم SSH لهدفك ، فإن العثور على بيئة مجذرة قد يكون محبطًا ويشعر وكأنه طريق مسدود.

ومع ذلك ، هناك الكثير من الطرق للهروب من سجن chroot الذي تم تكوينه بشكل غير صحيح ، حيث يتطلب بعضها مهارات برمجة C بينما يمكن أتمتة البعض الآخر باستخدام الأدوات. بعض الطرق السهلة للهروب من الكروت هي:

  • مكالمات chroot المتداخلة
  • استدعاءات chroot المتداخلة مع واصف الملف المحفوظ
  • طريقة جذر الجبل
  • procfs الهروب
  • ptrace الهروب

هل لاحظ أنه لتنفيذ عملية chroot escape باستخدام أي من هذه الطرق ، سوف تحتاج إلى تصعيد الامتيازات في النظام. تعرف على المزيد حول منهجيات الهروب هذه من خلال التوجه إلى مستودع chw00t's GitHub، أداة أتمتة هروب chroot.

أنت تعرف الآن كل شيء عن chroot في Linux

الآن بعد أن عرفت ما هو chroot ، وكيف يعمل ، وكيفية تنفيذه ، يجب أن تكون قادرًا على وضع الحماية للتطبيقات بسهولة من الجهاز. ضع في اعتبارك ، كما تعلم ، أن هناك طرقًا متعددة للخروج من بيئة مستأصلة.

يوضح هذا أن chroot لم يتم تصميمه بأي حال من الأحوال ليتم تنفيذه كميزة أمان. لذلك يجب عليك استخدام chroot بحذر شديد لأن التهيئة غير الصحيحة قد تؤدي إلى نتائج عكسية وتعرض سلامة نظامك للخطر.

من الأفضل الالتزام بحلول وضع الحماية المخصصة مثل برامج الحاوية أو الأجهزة الافتراضية. يتمحور كلاهما حول وضع الحماية والأمان ، لذلك ما لم يكن هناك يوم صفر جديد في المدينة ، فلن تقلق بشأن أمان وسلامة نظامك.

إذا لم تكن متأكدًا من الاختيار بين برامج الحاوية والمحاكاة الافتراضية ، فيجب أن تجرب كليهما لترى بنفسك أيهما أفضل.