هذا هو الأمر rssh الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
rssh - غلاف آمن مقيد يسمح فقط بـ scp و/أو sftp
موجز
آر إس إس [ والخيارات... ] [ ]
آر إس إس -v
الوصف
آر إس إس عبارة عن غلاف مقيد لتوفير وصول محدود إلى المضيف عبر سه(١) جواز أ
المستخدم الذي تم تكوين Shell له آر إس إس لاستخدام واحد أو أكثر من الأوامر (الأوامر) اللجنة الدائمة(1)
بالنشر(1) السير الذاتية(1) rdist(1)، و رسينك(1)، و فقط تلك الأوامر. هو المقصود في المقام الأول
للعمل مع OpenSSH (انظر http://www.openssh.com)، ولكن قد تعمل مع الآخرين
التنفيذ.
يجب على مسؤول النظام تثبيت Shell على النظام المقيد. ثم
إدخال ملف كلمة المرور لأي مستخدم يرغب في توفير وصول مقيد له
ينبغي تحريرها، بحيث تكون قذيفة الخاصة بهم آر إس إس. على سبيل المثال:
لوسر:x:666:666::/home/luser:/usr/bin/rssh
إذا تم استدعاؤه مع -v اختيار، آر إس إس سوف يقدم تقريرا عن نسخته، والخروج. كل شيء آخر
الحجج ل آر إس إس هي تلك التي يحددها جهاز التحكم عن بعد سه(1) العميل، وليس كثيرا
القلق للمستخدم العادي. يجب أن تكون الوسائط المقدمة عبارة عن غلاف موجود على جهاز التحكم عن بُعد
end سوف تتلقى من أجل تمرير السيطرة إلى اللجنة الدائمة(1) بالنشر(١) الخ إذا آر إس إس يتلقى
الوسائط التي لا تتوافق، سوف تصدر رسالة خطأ وتخرج. إذا كان البرنامج
المستخدم الذي يحاول تشغيله غير مسموح به، أو يحتوي على بناء جملة سيحاول تنفيذ ملف
shell (مثل استبدال الأوامر)، سيصدر أيضًا خطأ ويخرج.
آر إس إس لديه ملف التكوين، rssh.conf(5) مما يسمح ببعض السلوكيات آر إس إس إلى
يمكن تخصيصها. راجع تلك الصفحة الرجل للحصول على التفاصيل.
الأمن الملاحظات
عرض قسم مع استثنائي رعاية، or لصحتك! قد وضع لك نظام at مخاطرة!
باستخدام آر إس إس بدافع CVS
إذا كنت تستخدم آر إس إس للسماح بالوصول إلى CVS، تجدر الإشارة إلى أنه ليس من الممكن ذلك
منع مستخدم على دراية بـ CVS من التجاوز آر إس إس والحصول على قذيفة،
إلا إذا لم يكن لدى المستخدم حق الوصول للكتابة في المستودع. ومن الواضح أنه يجب على المستخدم
لديهم حق الوصول للكتابة إلى المستودع لتحديثه، مما يسمح لهم بالتحميل
البرامج التعسفية في المستودع. يوفر CVS عدة آليات للتنفيذ
مثل هذه البرامج التعسفية... الطريقة الوحيدة الآمنة للاستخدام آر إس إس مع CVS للاستخدام
مرافق سجن chroot لوضع مستودع CVS داخل سجن chroot. لطفا أنظر
أدناه وجميع الوثائق ذات الصلة للحصول على تفاصيل حول كيفية إعداد سجون chroot. لاحظ أن
المستخدمين سوف لا يزال be قادر إلى دولار فقط واحصل على خصم XNUMX% على جميع قذيفة الوصول في غضون هيه سجن; الحماية الوحيدة التي
بشرط ألا يتمكنوا من الهروب من السجن. لقد تم إقناعي بالاحتفاظ بالدعم
بالنسبة لـ CVS لأن هذه الحماية أفضل من عدم وجود حماية. يمكنك لديك كان حذر. استعمل
CVS at لك الخاصة المخاطر.
محتمل جذر حل وسط بدافع قديم إصدارات
قبل آر إس إس 2.3.0، إذا كان لدى المستخدم العادي حق الوصول إلى جهاز حيث آر إس إس وكان
تم تثبيته، وكان من الممكن التوصل إلى تسوية الجذر بسبب rssh_chroot_helper السماح للمستخدم بذلك
على نحو إستبدادي الاستجذار(2) إلى أي مكان على نظام الملفات. من الممكن التخفيف من هذا
الهجوم على الإصدارات المتأثرة من آر إس إس باستخدام ضوابط صارمة للوصول إلى الملفات، عن طريق إجراء
التأكد من أن المستخدم لا يمكنه الكتابة إلى أي ملف على نفس القسم مثل الملفات التنفيذية للنظام،
وأن أي قسم يمكنهم كتابة الملفات فيه لا يسمح بتنفيذ SUID
البرامج. اعتبارا من آر إس إس 2.3.0، وقد تم منع هذا الهجوم عن طريق منع التعسفي
جذر(), if لك سجن is طقم up آمن. على وجه الخصوص، تأكد من أن المستخدمين العاديين
لا يمكن الكتابة إلى الدلائل الموجودة داخل السجن والتي تحتوي على الثنائيات المنسوخة. الذي - التي
ينبغي أن يكون واضحا، ولكن يجب أن يقال. على الرغم من أنه لا ينبغي أن يكون ضروريا للغاية،
لمزيد من الحماية لنظامك من التسوية المحتملة، يُنصح أيضًا باتباعه
القسم أدناه بعنوان "الضمانات ضد تجاوز rssh".
الضمانات ضد تجاوز آر إس إس
آر إس إس تم تصميمه للتفاعل مع العديد من البرامج الأخرى. حتى لو كان rssh خطأً تمامًا-
مجانًا، قد تؤدي التغييرات في تلك البرامج الأخرى إلى طرق للتحايل على
الحماية ذلك آر إس إس يهدف إلى توفير. It is أهمية لـ أنت، هيه نظام
مدير، إلى إقامة تيار on هيه الخدمات لصحتك! جعل متاح مع آر إس إس, إلى be بالتأكيد
أن هؤلاء الأوامر do ليس تزود آليات إلى السماح هيه المستخدم إلى يجري التعسفي أوامر.
أيضًا، على الرغم من أن الهدف من كل إصدار هو أن يكون خاليًا من الأخطاء، إلا أنه لا يوجد أحد مثالي... ربما يكون هناك
تكون الأخطاء غير المكتشفة في آر إس إس مما قد يسمح للمستخدم بالتحايل عليه.
يمكنك حماية نظامك من أولئك الذين قد يستغلون نقاط الضعف هذه. هذا
ليس مطلوبًا لـ آر إس إس للعمل بشكل صحيح، ولكنها فكرة جيدة حقا. هناك ستة
الخطوات الأساسية:
1. حماية جميع الحسابات غير الإدارية باستخدام rssh (أي لا يوجد مستخدم عادي
يجب أن يكون لديه حق الوصول إلى الخادم)
2. ضع المستخدمين في سجن chroot
3. حصر الثنائيات التي تعيش في السجن بالحد الأدنى المطلوب
4. قم بتثبيت نظام الملفات المنزلي الخاص بهم باستخدام خيار noexec/nosuid (أي استخدم ملف منفصل
أقسام في السجن للأدلة الرئيسية للمستخدم وجميع الملفات الأخرى، إذا
ممكن/معقول)
5. إنشاء مجموعة لمستخدمي rssh، وتقييد الوصول القابل للتنفيذ إلى الثنائيات
للمستخدمين في تلك المجموعة.
6. استخدم أذونات الملفات القياسية بعناية وبشكل مناسب
إذا كان ذلك ممكنًا، تأكد من عدم حصول أي مستخدم عادي على أي نوع من الوصول إلى النظام
بخلاف من خلال آر إس إس. وبخلاف ذلك، من المحتمل أن يقوم المستخدمون الذين لديهم حق الوصول إلى Shell باستغلال هذه البرمجيات الخبيثة
أخطاء غير مكتشفة في rssh_chroot_helper للحصول على وصول الجذر إلى الخادم.
آر إس إس يمنح مسؤول النظام القدرة على وضع المستخدمين في سجن chroot. يرى
التفاصيل في صفحة الرجل ل rssh.conf وفي الملف كروت والذي يتم توزيعه مع
مصدر الرمز. إذا كنت تريد التأكد من عدم تمكن المستخدمين من تشغيل برامج عشوائية، فاستخدم chroot
السجن، وتأكد من عدم وضع أي برامج أخرى غير ما هو ضروري للغاية
تقديم الخدمة التي تحاول تقديمها. وهذا يمنعهم من تشغيل المعيار
أوامر النظام.
ثم تأكد من أن ملفات المستخدم داخل السجن موجودة في نظام ملفات منفصل عن نظام الملفات الخاص بك
الملفات التنفيذية للنظام. إذا كان ذلك ممكنًا في بيئتك، فتأكد من تركيب هذا
نظام الملفات باستخدام noexec nosuid الخيارات، إذا كان نظام التشغيل الخاص بك يوفرها.
وهذا يمنع المستخدمين من القدرة على تنفيذ البرامج التي قاموا بتحميلها إليها
الجهاز المستهدف (على سبيل المثال باستخدام scp) والذي قد يكون قابلاً للتنفيذ، ويمنع SUID
البرامج من احترام بتات SUID. لاحظ أن هذه الخيارات تتطلب من المستخدمين
توجد الملفات على أقسام منفصلة عن الثنائيات والمكتبات الموجودة في السجن.
لذلك ستحتاج إلى قسمين على الأقل حتى يتمكن سجنك من القيام بذلك بشكل صحيح (أحدهما لـ
ثنائيات النظام في السجن، والأخرى لأدلة المستخدم).
بالإضافة إلى ذلك، قم بإنشاء مجموعة، على سبيل المثال "rsshuser"، لمستخدمي rssh. وضع جميع المستخدمين الخاص بك
الذين سيتم تقييدهم بواسطة rssh في تلك المجموعة. قم بتعيين الملكية والأذونات على rssh
و rssh_chroot_helper بحيث يمكن لهؤلاء المستخدمين فقط تنفيذها. الأوامر التالية
يجب أن توضح:
# المجموعة com.rsshuser
# CHOWN الجذر:rsshuser آر إس إس rssh_chroot_helper
# شمود 550 آر إس إس
# شمود 4550 rssh_chroot_helper
وأخيرًا، استخدم أذونات ملفات Unix/POSIX القياسية للتأكد من عدم تمكنهم من الوصول إلى الملفات التي يريدونها
لا ينبغي أن تكون قادرة على داخل السجن chroot.
أمر خط محلل
اعتبارا من آر إس إس الإصدار 2.2.3، يجب على البرنامج تحليل سطر الأوامر الكامل لتجنب ذلك
خيارات سطر الأوامر التي تتسبب في تنفيذ برامج عشوائية (وبالتالي تجاوز ملف
أمن آر إس إس). من أجل الحفاظ على الكود المصدري للبرنامج عقلانيًا، يحتاج المحلل اللغوي إلى القليل
الإفراط في الحماس بشأن مطابقة خيارات سطر الأوامر. في الممارسة العملية، وهذا ربما لن يكون
مسألة، ولكن من الناحية النظرية فمن الممكن.
إذا واجهت مشكلة أين آر إس إس يرفض الترشح، مدعيًا أنه يرفض عدم الأمان
خيارات سطر الأوامر التي لم يتم تحديدها، حاول تغيير سطر الأوامر الخاص بك بهذه الطريقة
الكل في صفقات يتم تحديد الخيارات كأعلام خيارات ذات حرف واحد (على سبيل المثال -e -p بدلاً من -ep)
وتأكد من فصل الوسائط عن الخيارات الخاصة بها بمسافة (على سبيل المثال -p 123
بدلاً من -ص123). في جميع الحالات تقريبًا، يجب أن يحل هذا المشكلة. من المسلم به أن
لم يتم إجراء بحث شامل، ولكن لم يتم العثور على أي حالات إشكالية
من المحتمل أن تكون شائعة.
كان من الممكن أن يكون البديل هو تضمين محلل سطر أوامر كامل لـ rcp وrdist و
و رسينك؛ وكان هذا خارج نطاق هذا المشروع. في الممارسة العملية، القائمة
يجب أن يكون المحلل كافيا. ومع ذلك، إذا وجدت حالات لم يحدث فيها ذلك، فيرجى نشر التفاصيل
إلى القائمة البريدية آر إس إس. يمكن العثور على تفاصيل حول كيفية النشر في القائمة البريدية على
الصفحة الرئيسية آر إس إس إتش.
بينسه إصدارات تجاوز آر إس إس
قبل OpenSSH 3.5، سشد(8) سيحاول عمومًا تحليل الملفات الموجودة في منزل المستخدم
الدليل، وقد يحاول أيضًا تشغيل برنامج نصي لبدء التشغيل من دليل المستخدم $ HOME / .ssh الدليل.
آر إس إس لا يستفيد من بيئة المستخدم بأي شكل من الأشكال. الأمر ذو الصلة هو
يتم تنفيذها عن طريق الاتصال execv(3) مع المسار الكامل للأمر، كما هو محدد في الترجمة
وقت. ولا يعتمد على متغير PATH الخاص بالمستخدم أو على أي بيئة أخرى
المتغير.
ومع ذلك، هناك العديد من المشاكل التي يمكن أن تنشأ. ويرجع ذلك بالكامل إلى الطريقة التي
يعمل sshd الخاص بمشروع OpenSSH، وهو ليس خطأ بأي حال من الأحوال آر إس إس. على سبيل المثال، واحد
المشكلة التي قد تكون موجودة هي أنه، وفقا ل سشد(8) صفحة الرجل من بعض على الأقل
إصدارات OpenSSH، الأوامر المدرجة في ملف $HOME/.ssh/rc يتم تنفيذ الملف باستخدام
/ بن / ش بدلاً من الغلاف المحدد للمستخدم. ويبدو أن هذا ليس هو الحال على
الأنظمة المتاحة للمؤلف للاختبار عليها؛ تم تنفيذ الأوامر باستخدام المستخدم
قذيفة تكوينها (آر إس إس)، الأمر الذي لم يسمح بالتنفيذ. ولكن إذا كان هذا صحيحا على الخاص بك
النظام، فقد يتمكن مستخدم ضار من التحايل آر إس إس عن طريق رفع ملف إلى
$HOME/.ssh/rc والتي سيتم تنفيذها من قبل / بن / ش على ذلك النظام. إذا كان هناك أي إصدارات (من
OpenSSH) معرضون في الواقع لهذه المشكلة، فمن المحتمل جدًا أن يكونوا كذلك
الإصدارات القديمة التي عفا عليها الزمن فقط. طالما أنك تقوم بتشغيل إصدار حديث من OpenSSH، فهذا
لا ينبغي أن يكون مشكلة بقدر ما أستطيع أن أقول.
إذا كان ملف SSHD الخاص بك is عرضة لهذا الهجوم، هناك حل بديل لهذه المشكلة، بالرغم من ذلك
إنها مقيدة جدًا. إنّ المستخدم الصفحة الرئيسية دليل إطلاقا يجب ليس be للكتابة by
هيه المستخدم. إذا كان الأمر كذلك، يمكن للمستخدم استخدام sftp لإزالة الدليل أو إعادة تسميته، وبعد ذلك
قم بإنشاء ملف جديد واملأه بأي ملفات بيئة يريدونها. لتوفير
عند تحميل الملفات، فهذا يعني أنه يجب إنشاء دليل قابل للكتابة بواسطة المستخدم لهم، ويجب عليهم ذلك
كن على علم بعدم قدرتهم على الكتابة في الدليل الرئيسي الخاص بهم بخلاف هذا
الموقع.
المشكلة الثانية هي أنه بعد مصادقة المستخدم، يقرأ sshd أيضًا
$HOME/.ssh/environment للسماح للمستخدم بتعيين المتغيرات في بيئته. هذا
يسمح للمستخدم بالتحايل بشكل كامل آر إس إس من خلال التلاعب الذكي بهذه البيئة
المتغيرات كما LD_LIBRARY_PATH or LD_PRELOAD لربط ثنائي rssh ضد التعسفي
المكتبات المشتركة. من أجل منع هذا من أن يكون مشكلة، اعتبارًا من الإصدار 0.9.3، بواسطة
الافتراضي آر إس إس يتم الآن تجميعها بشكل ثابت. العمل المقيد المذكور أعلاه سوف
أيضا هزيمة هذا النوع من الهجوم.
اعتبارًا من OpenSSH 3.5، سشد الآن يدعم الخيار تصريح المستخدم البيئة والذي تم ضبطه على "لا"
بشكل افتراضي. يسمح هذا الخيار بالقذائف المقيدة مثل آر إس إس لتعمل بشكل صحيح بدون
تتطلب أن تكون مرتبطة بشكل ثابت. اعتبارا من آر إس إس الإصدار 1.0.1، البرنامج النصي للتكوين
يجب أن يكتشف وجود OpenSSH 3.5، ويعطل الإعداد الافتراضي للترجمة الثابتة.
استخدم rssh عبر الإنترنت باستخدام خدمات onworks.net