بروتوكول نقل الملفات SSH

في مجال الحوسبة ، يُعدّ بروتوكول نقل الملفات SSH ، المعروف أيضًا باسم بروتوكول نقل الملفات الآمن ( SFTPبروتوكولًا شبكيًا يوفر الوصول إلى الملفات ونقلها وإدارتها عبر أي تدفق بيانات موثوق . وقد صممته فرقة عمل هندسة الإنترنت (IETF) كامتداد لبروتوكول Secure Shell (SSH) الإصدار 2.0 لتوفير إمكانيات نقل الملفات بشكل آمن، ويُنظر إليه كبديل لبروتوكول نقل الملفات (FTP) نظرًا لأمانه الفائق. [ 1 ] وينص مشروع الإنترنت الصادر عن IETF على أنه على الرغم من وصف هذا البروتوكول في سياق بروتوكول SSH-2، إلا أنه يُمكن استخدامه في عدد من التطبيقات المختلفة، مثل نقل الملفات بشكل آمن عبر بروتوكول أمان طبقة النقل (TLS) ونقل معلومات الإدارة في تطبيقات VPN .

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

مخطط URI الرسمي هو sftp. [ 2 ]

القدرات

بالمقارنة مع بروتوكول SCP ، الذي يقتصر على نقل الملفات، يتيح بروتوكول SFTP مجموعة واسعة من العمليات على الملفات البعيدة، مما يجعله أقرب إلى بروتوكول نظام ملفات عن بُعد . [ 3 ] تشمل الميزات الإضافية لعميل SFTP استئناف عمليات النقل المتقطعة، وعرض محتويات الدليل، وحذف الملفات البعيدة. [ 4 ] كما يدعم جميع أنواع ملفات UNIX، بما في ذلك الروابط الرمزية. [ 5 ]

يسعى بروتوكول SFTP إلى أن يكون أكثر استقلالية عن المنصات مقارنةً ببروتوكول SCP؛ ففي SCP، على سبيل المثال، يقع على عاتق الخادم توسيع نطاق الأحرف البديلة التي يحددها العميل، بينما يتجنب تصميم SFTP هذه المشكلة. ورغم أن SCP يُستخدم غالبًا على منصات يونكس ، فإن خوادم SFTP متوفرة على معظم المنصات. في SFTP، يمكن إنهاء نقل الملفات بسهولة دون إنهاء الجلسة كما هو الحال في الآليات الأخرى.

بروتوكول SFTP ليس بروتوكول نقل الملفات (FTP) الذي يعمل عبر SSH ، بل هو بروتوكول جديد صممه فريق عمل IETF SECSH من الصفر . ويُخلط أحيانًا بينه وبين بروتوكول نقل الملفات البسيط (Simple File Transfer Protocol ). [ 6 ]

لا يوفر البروتوكول نفسه المصادقة والأمان؛ بل يعتمد على البروتوكول الأساسي لتأمين ذلك. يُستخدم بروتوكول SFTP غالبًا كنظام فرعي لتطبيقات بروتوكول SSH الإصدار 2، حيث صُمم من قِبل نفس فريق العمل. مع ذلك، من الممكن تشغيله عبر SSH-1 (وتدعم بعض التطبيقات ذلك)، أو عبر تدفقات بيانات أخرى. إلا أن تشغيل خادم SFTP عبر SSH-1 ليس مستقلًا عن النظام الأساسي، لأن SSH-1 لا يدعم مفهوم الأنظمة الفرعية. يجب أن يكون عميل SFTP المتصل بخادم SSH-1 على دراية بمسار ملف SFTP التنفيذي على جانب الخادم.

يمكن ربط الملفات المرفوعة بخصائصها الأساسية، مثل الطوابع الزمنية. وهذا يُعد ميزة مقارنةً ببروتوكول FTP الشائع .

التاريخ والتطور

حاولت مجموعة عمل "Secsh" التابعة لفرقة عمل هندسة الإنترنت (IETF)، والمسؤولة عن تطوير بروتوكول Secure Shell الإصدار 2 (RFC 4251)، صياغة امتداد لهذا المعيار لوظائف نقل الملفات الآمن. وتم إنشاء مسودات إنترنت تُراجع البروتوكول تباعًا إلى إصدارات جديدة. [ 7 ] بدأ قطاع البرمجيات بتطبيق إصدارات مختلفة من البروتوكول قبل توحيد المسودات. ومع تقدم أعمال التطوير، توسع نطاق مشروع نقل ملفات Secsh ليشمل الوصول إلى الملفات وإدارتها . وفي نهاية المطاف، توقف التطوير عندما بدأ بعض أعضاء اللجنة ينظرون إلى SFTP كبروتوكول لنظام الملفات ، وليس مجرد بروتوكول للوصول إلى الملفات أو نقلها ، مما يجعله خارج نطاق اختصاص مجموعة العمل. [ 8 ] بعد توقف دام سبع سنوات، في عام 2013، جرت محاولة لاستئناف العمل على SFTP باستخدام مسودة الإصدار 3 كأساس. [ 9 ]

الإصدارات من 0 إلى 2

قبل تدخل IETF، كان SFTP بروتوكولًا خاصًا بأمن اتصالات SSH ، صممه تاتو يلونين بمساعدة سامي ليتينين في عام 1997. [ 10 ] تم سرد الاختلافات بين الإصدارات 0-2 والإصدار 3 في القسم 10 من draft-ietf-secsh-filexfer-02 .

الإصدار 3

في بداية مشروع نقل الملفات الآمنة لـ IETF، ذكرت مجموعة Secsh أن هدفها من بروتوكول نقل الملفات SSH هو توفير وظيفة نقل ملفات آمنة عبر أي تدفق بيانات موثوق به، وأن يكون بروتوكول نقل الملفات القياسي للاستخدام مع بروتوكول SSH-2.

تحدد المسودات 00-02 من مسودة الإنترنت IETF المراجعات المتتالية للإصدار 3 من بروتوكول SFTP.

الإصدار 4

تحدد المسودتان 03-04 من مسودة الإنترنت الخاصة بـ IETF الإصدار 4 من البروتوكول.

الإصدار 5

تحدد المسودة 05 من مسودة الإنترنت الخاصة بفريق هندسة الإنترنت الإصدار 5 من البروتوكول.

الإصدار 6

تحدد المسودات من 06 إلى 13 من مسودة الإنترنت الخاصة بـ IETF المراجعات المتتالية للإصدار 6 من البروتوكول.

الإضافات

يدعم بروتوكول SFTP طريقة عامة للإشارة إلى الأوامر الموسعة، بالإضافة إلى طريقة لإدراجها في عملية التفاوض على الإصدار. وقد طُلب إنشاء سجل IANA، ولكن نظرًا لأن البروتوكول لم يصبح معيارًا رسميًا، لم يتم إنشاء مثل هذا السجل. [ 5 ]

  • تحدد المسودة 13 خاصية البحث عن النص ، وsupported2 ، وacl-supported ، وnewline ، و versions ، وversion-select ، و filename-charset ، و filename-translation-control . [ 5 ]
  • يُعرّف OpenSSH، وهو التطبيق الأكثر انتشارًا، ثوابت لتحويل قيم ST_NOSUID و ST_RDONLY عبر البروتوكول، باستخدام مُعرّف الإصدار statvfs@openssh.com . وهو يُطبّق الإصدار 3 فقط من المسودة 1. [ 11 ]

برمجة

عميل SFTP

يمكن أن يشير مصطلح SFTP أيضًا إلى برنامج نقل الملفات الآمن ، وهو برنامج سطر أوامر يُنفذ جزء العميل من هذا البروتوكول. على سبيل المثال، يُنفذ برنامج sftp المُرفق مع OpenSSH هذا الجزء. [ 12 ]

تدعم بعض تطبيقات البرنامج scpبروتوكولي SFTP وSCP لنقل الملفات، وذلك بحسب ما يدعمه الخادم. ويستخدم برنامج scp المرفق مع OpenSSH 9.0 والإصدارات الأحدث بروتوكول SFTP افتراضيًا. [ 13 ]

خادم SFTP

تُطبّق بعض تطبيقات خوادم FTP بروتوكول SFTP؛ إلا أنه باستثناء خوادم الملفات المخصصة، عادةً ما يُوفّر دعم بروتوكول SFTP من خلال تطبيق خادم SSH ، نظرًا لمشاركته المنفذ الافتراضي 22 مع خدمات SSH الأخرى. قد تتضمن تطبيقات SFTP تطبيقًا لبروتوكول SSH للاستفادة من تكامل تفاصيل اتصال SSH مع ضوابط الوصول الموجودة مسبقًا لخادم FTP، حيثما يكون استخدام خادم SSH بديلًا مقبولًا أو حيثما يُمكن استخدام منافذ بديلة. يُمكن الاستفادة من خادم SSH-2 الذي يدعم الأنظمة الفرعية للحفاظ على تطبيق SSH موحد مع تحسين ضوابط الوصول باستخدام برامج خارجية، على حساب التكامل الدقيق مع تفاصيل الاتصال، والتوافق مع SSH-1.

وكيل SFTP

يصعب التحكم في عمليات نقل البيانات عبر بروتوكول SFTP على أجهزة الأمان الموجودة على محيط الشبكة. توجد أدوات قياسية لتسجيل معاملات FTP ، مثل TIS gdev أو SUSE FTP proxy، ولكن نظرًا لأن بروتوكول SFTP مُشفّر، فإن الخوادم الوكيلة التقليدية غير فعّالة في التحكم في حركة مرور SFTP.

توجد بعض الأدوات التي تُنفذ هجوم الوسيط (man-in-the-middle) لبروتوكول SSH، والتي تتضمن أيضًا التحكم في بروتوكول SFTP. ومن أمثلة هذه الأدوات Shell Control Box من Balabit [ 14 ] وCryptoAuditor من SSH Communications Security [ 15 ] (المطور الأصلي لبروتوكول Secure Shell)، والتي توفر وظائف مثل تسجيل معاملات SFTP وتسجيل البيانات الفعلية المُرسلة عبر الشبكة.

انظر أيضاً

مراجع

  1. سمولكومب، مارك (21 سبتمبر 2023). "ما هو بروتوكول SFTP وكيف ولماذا" . integrate.io . تم ​​الاطلاع عليه بتاريخ 28 أبريل 2025 .
  2. https://www.iana.org/assignments/uri-schemes/prov/sftp
  3. NetSuite.com. "وفر الوقت والمال: أتمتة أعمالك" . أوراكل نت سويت . مؤرشف من الأصل بتاريخ 20 يوليو 2025. تم الاطلاع عليه بتاريخ 18 ديسمبر 2025 .
  4. فيكتوريا، جاينور؛ فيكتوريا، بيفرلي (2001)، SSH، الدليل الشامل لبروتوكول SSH ، كامبريدج: أورايلي، ISBN 0-596-00011-1
  5. 1 2 3 غالبريث، جوزيف؛ سارينما، أوسكاري (18 يوليو 2006). "بروتوكول نقل الملفات SSH" . فريق عمل هندسة الإنترنت.
  6. باريت، دانيال؛ سيلفرمان، ريتشارد إي. (2001)، SSH، الدليل الشامل لبروتوكول Secure Shell ، كامبريدج: أورايلي، ISBN 0-596-00011-1
  7. "صفحات حالة Secsh" . Tools.ietf.org. مؤرشف من الأصل بتاريخ 2021-05-04 . تم الاطلاع عليه بتاريخ 2012-08-20 .
  8. "ietf.secsh—مشاورة رسمية قبل إغلاق فريق عمل secsh—msg#00010—مناقشة حديثة" . Osdir.com. 14-08-2006. مؤرشف من الأصل في 20-03-2012 . تم الاطلاع عليه في 20-08-2012 .
  9. مونيسامي، س. (2013-07-12). "بروتوكول نقل الملفات SSH - مسودة-moonesamy-secsh-filexfer-00" . Tools.ietf.org.
  10. "إعادة توجيه fd، الجزء الثاني" (TXT) . www.ietf.org .
  11. "openssh-portable sftp.h" . GitHub . OpenSSH. 24 مايو 2023.
  12. "صفحة دليل OpenBSD لأمر "sftp": قسم "انظر أيضًا"" . OpenBSD.org . تم الاطلاع عليه بتاريخ 2018-02-04 .
  13. "OpenSSH 9.0" . ملاحظات إصدار OpenSSH . 8 أبريل 2022.
  14. "تسجيل SSH/RDP/Citrix في سجل التدقيق - جهاز مراقبة النشاط" . Balabit.com . تم الاطلاع عليه بتاريخ 20 أغسطس 2012 .
  15. "التحكم في الوصول المميز ومراقبته" . SSH.com . تم الاطلاع عليه بتاريخ 25-11-2014 .