يحتاج ServerA إلى دليل ServerB مُثبت في موقع ، مع أذونات الكتابة.

لقد كنت أستخدم SSHFS لهذا الغرض. أجد أن SSHFS مستقر جدًا (موثوق به بنسبة 100٪) ، بينما لم يكن NFS مستقرًا جدًا ، إلى جانب صعوبة تكوينه ، وعرضه افتراضيًا للجمهور ، وما إلى ذلك ...

مع SSHFS ، اضطررت إلى إنشاء مستخدم محلي على ServerB ، ووضع مفتاحه الخاص على ServerA ، لإعداد عمليات التثبيت.

ومع ذلك ، إذا قام شخص ما باختراق ServerA ، فسيكون المخترق قادرًا على الوصول إلى أي دليل / ملف قد يكون لديه أذونات قراءة "أخرى" في أي مكان على ServerB ، عن طريق تسجيل الدخول إلى ServerB باستخدام هذا المستخدم ومفتاحه الخاص.

هل هناك أي طريقة لمنع ذلك ، بحيث يكون الدليل الوحيد الذي يمكن لهذا المستخدم الوصول إليه هو الدليل الذي يجب تحميله على ServerA؟

answer

تكوين خادم ssh لوضع المستخدم وملفاته في chroot مقيد. إذا كنت تستخدم OpenSSH ، فربما يكون ذلك باستخدام التوجيهات ChrootDirectory وForceCommand internal-sftp

يتطلب NFS تحديد وحدات التخزين التي تم تصديرها ، وليست shell عن بُعد. في هذه النواحي ، يناسب سيناريو مشاركة الملفات جيدًا. على الرغم من أنه يمكن تشفير NFS ، إلا أنه عادة لا يكون كذلك ، لذلك لأسباب أمنية يقتصر بشكل عام على شبكة خاصة.

سينتج عن كلاهما تجربة أداء سيئة في حالة انقطاع الشبكة أو اختفاء جهاز التحكم عن بُعد بشكل غير متوقع.