فهم SFTP مقابل FTPS مقابل FTP
نشرت: 2022-08-18يعد بروتوكول نقل الملفات أو بروتوكول نقل الملفات أحد أكثر طرق نقل البيانات شيوعًا المتاحة لحالات الاستخدام المختلفة.
يحتوي FTP على أنواع مختلفة من الأمان المتاحة ، والمعروفة باسم FTPS و SFTP ، والتي تتضمن بعض الاختلافات الدقيقة وبعض الاختلافات غير الدقيقة في كيفية عملها. تتعلق هذه الاختلافات بكيفية تبادل البيانات ومستوى ونوع الأمان في الاتصال واعتبارات جدار الحماية.
يمكن أن تساعدك معرفة كيفية عمل هذه البروتوكولات والاختلافات بين آليات النقل الشائعة في اختيار أي منها يعمل بشكل أفضل لاحتياجاتك.
بروتوكول نقل الملفات
FTP هو بروتوكول نقل الملفات الذي مضى عليه عقود من الزمن والذي تم اقتراحه في الأصل بموجب RFC 114. وقد تطور هذا لاحقًا باسم RFC 959 ، وهو المعيار المستخدم اليوم.

يعمل FTP على قناتين لتبادل المعلومات: واحدة للأوامر والأخرى للبيانات. يتطلب هذا منفذين لكي يعمل FTP - قناة الأوامر وقناة البيانات.
تعمل قناة الأمر على المنفذ 21 ، والذي يقبل الاتصالات من العملاء ويتعامل مع تمرير الأوامر. تظل قناة الأمر مفتوحة طوال مدة جلسة FTP بالكامل حتى يرسل العميل أمر QUIT
أو يفصل الخادم قسراً بسبب عدم النشاط أو لأي سبب آخر محتمل.
تستخدم قناة البيانات منفذًا مؤقتًا عند الطلب للاستماع على الخادم (الوضع الخامل) أو العميل (الوضع النشط). هذه القناة مسؤولة عن مشاركة البيانات الفعلية بين الخادم والعميل في شكل قوائم الدليل ونقل الملفات.
على عكس قناة الأوامر ، تظل قناة البيانات مفتوحة فقط طوال مدة نقل الملف ، وبمجرد انتهائها ، يتم إغلاق قناة البيانات. من أجل النقل المتزامن للملفات المتعددة أو قوائم الدليل ، يلزم وجود منافذ متعددة لقنوات البيانات.

FTP هو بروتوكول غير آمن بطبيعته حيث تقوم كل من قنوات الأوامر والبيانات بنقل المعلومات في شكل غير مشفر ، وهو عرضة للاعتراض بسهولة من قبل أي شخص يستخدم هجمات man-in-the-middle.
كما تمت مناقشته سابقًا ، يتطلب FTP اتصالاً داخليًا على المنفذ 21/tcp
على جانب الخادم لقناة الأمر. يتم تحديد نطاق المنفذ الخامل لعمليات نقل الملفات وقوائم الدليل ويسمح بالاتصالات الواردة. قد تختلف عملية التعريف هذه بناءً على خادم FTP المستخدم. الرجوع إلى وثائقها لمزيد من التفاصيل. من جانب العميل ، يجب السماح بالاتصال الصادر على المنفذ 21/tcp
جنبًا إلى جنب مع نطاق المنفذ الخامل المحدد على الخادم.
المصادقة في FTP
يتم تمرير معلومات مصادقة FTP عبر قناة الأمر أثناء إنشاء الاتصال الأولي. يمكن أن يستخدم FTP اسم مستخدم وكلمة مرور للمصادقة ، أو يمكن أن يكون مجهولاً للسماح لأي شخص بتسجيل الدخول والوصول إلى الخادم.
أوضاع FTP النشطة والسلبية
يستخدم FTP إما الوضع النشط أو الخامل لإعداد الاتصالات.
في الوضع النشط ، يتصل المستخدم من منفذ عشوائي على عميل FTP بمنفذ FTP 21/tcp
على الخادم ويرسل أمر PORT ، مع تحديد خادم منفذ العميل الذي يجب الاتصال به. سيتم استخدام هذا المنفذ لقناة البيانات.
ثم يتصل الخادم من المنفذ 20/tcp
بمنفذ العميل المحدد مسبقًا بأمر PORT
بواسطة العميل. ثم يتم استخدام قناة البيانات هذه لنقل الملفات بين الخادم والعميل.
في الوضع الخامل ، يتصل العميل من منفذ عشوائي من عميل FTP إلى المنفذ 21 / tcp على الخادم ويرسل أمر PASV. ثم يرد الخادم بمنفذ عشوائي يجب استخدامه لقناة البيانات. ثم يستخدم العميل منفذًا عشوائيًا آخر للاتصال بالمنفذ الذي يرد عليه الخادم في الخطوة السابقة. ثم يتم استخدام اتصال قناة البيانات هذا لنقل الملفات بين الخادم والعميل.
لذلك ، في الوضع النشط ، يبدأ العميل طلب الاتصال الأولي بينما يبدأ الخادم طلب اتصال قناة البيانات.
من ناحية أخرى ، في الوضع الخامل ، يتم بدء طلبات الاتصال الأولية وطلبات قناة البيانات اللاحقة بواسطة العميل إلى الخادم. يؤثر هذا الاختلاف الدقيق أحيانًا على كيفية قيام جدار الحماية بالسماح / حظر طلبات FTP التقليدية بسبب اتجاه نوع الاتصال الداخلي / الصادر.

FTPS
حتى إذا كنت على استعداد لتحمل المخاطر المرتبطة ببروتوكول نقل الملفات مع نقل بيانات غير مشفر وهجمات رئيسية في الوسط ، فإن متطلبات الصناعة تجبرك على استخدام بديل أكثر أمانًا مثل FTPS و SFTP ، وهما أكثر أمانًا نسبيًا.
في عام 1990 ، مع تغيير المشهد الأمني ، أنشأت Netscape بروتوكول SSL أو بروتوكول طبقة مآخذ التوصيل الآمنة (SSL ، المعروف الآن باسم TLS) لحماية الاتصال عبر الشبكة. تم تطبيق SSL على FTP الذي أصبح FTPS أو بروتوكول نقل الملفات الآمن . عادةً ما يتم تشغيل FTPS أو FTP / S على المنفذ 990/tcp
، ولكن يمكن أيضًا رؤيته على المنفذ 21 / tcp. وبالمثل ، بالنسبة لمنفذ قناة البيانات 989/tcp
هو المنفذ الشائع المستخدم لـ FTPS. إذا كان منفذ الأوامر هو 21/tcp
، فمن المتوقع أن يكون منفذ البيانات الخاص به 20/tcp
.

مثل FTP ، يستخدم FTPS قناتين للاتصال: قناة الأوامر والبيانات. إما يمكن تشفير قناة البيانات باستخدام FTPS ، أو يمكن تشفير كل من قنوات الأوامر والبيانات لمزيد من الأمان.
يستخدم FTPS ، مثل FTP ، منافذ متعددة لقنوات الأوامر والبيانات. لذلك ، يتم استخدام المنفذ 21/tcp
للاتصال الأولي ونقل معلومات المصادقة. لاحقًا ، ستكون هناك حاجة إلى منافذ مختلفة لإعداد قنوات بيانات لكل عملية نقل ملف أو طلب سرد دليل من العميل. وبالتالي ، مثل FTP ، فإنه يحتاج إلى مجموعة من المنافذ للسماح بها في جدار الحماية الخاص بك.
المصادقة في FTPS
تعمل المصادقة لـ FTPS باستخدام اسم مستخدم وكلمة مرور مع شهادة خادم للتشفير. عندما يتصل عميل FTPS بخادم ، فإنه يتحقق مما إذا كانت شهادة الخادم موثوقة لمتابعة الاتصال. يمكن طلب هذه الشهادة من العميل والخادم.
SFTP
بخلاف FTP و FTPS ، فإن SFTP (بروتوكول نقل الملفات SSH) هو بروتوكول مختلف تمامًا مبني على SSH (أو Secure Shell). يعمل بروتوكول SFTP افتراضيًا على المنفذ 22 / tcp ، تمامًا مثل SSH على الرغم من إمكانية تهيئته لاستخدام منفذ مجاني مخصص على الخادم.

SFTP هو بروتوكول FTP آمن يستخدم SSH أسفله لإرسال الملفات واستلامها. يتم تشفير بروتوكول SSH بالكامل ، وهو طريقة قوية وآمنة لنقل الملفات عبر الشبكة.
يستخدم بروتوكول SFTP ، بخلاف FTP و FTPS ، قناة اتصال واحدة لنقل الأوامر وحركة البيانات ، وكلها يتم تمريرها في شكل مشفر إلى جانب المصادقة الأولية.
المصادقة في SFTP
يمكن إجراء المصادقة في SFTP عبر اسم مستخدم وكلمة مرور بسيطين ، ولكن بخلاف FTP ، يتم تشفير جميع المعلومات ، بما في ذلك تفاصيل المصادقة ، عبر الشبكة.
يدعم SFTP أيضًا المصادقة باستخدام زوج مفاتيح SSH ، ومجموعة المفاتيح الخاصة والعامة ، حيث يوفر العميل المفتاح الخاص للمستخدم المحدد ، ويجب أن يكون لدى الخادم المفتاح العام المقابل حتى تنجح المصادقة. إنه أكثر أمانًا من استخدام تركيبة اسم المستخدم / كلمة المرور. من الممكن مصادقة نفس المستخدم باستخدام كلمة المرور ومفاتيح SSH إذا تم تكوين كلتا الطريقتين على خادم SFTP.
ملخص
تلخص هذه المقالة الميزات الأساسية لبروتوكولات نقل الملفات الشائعة المختلفة مثل FTP و FTPS و SFTP وتسلط الضوء على الاختلافات الدقيقة والرئيسية بين هذه البروتوكولات. وهو يغطي المنافذ التي يحتاج المرء للسماح لها في جدار الحماية بإعداد خادم FTP / FTPS / SFTP مع إبراز الحاجة إلى التبديل إلى بروتوكولات أكثر أمانًا مثل FTPS و SFTP.
عندما أقول FTP هنا ، فإنني أشير إلى أي بروتوكولات تمت مناقشتها في هذه المقالة. يعود سبب كون FTP إلى عقود من الزمن ، وحتى الإصدارات الآمنة الأحدث يشار إليها أحيانًا باسم FTP بدلاً من الاسم المخصص للاستخدام اليومي.
قد تكون مهتمًا أيضًا بمعرفة أفضل برامج خادم FTP وعملاء FTP / SFTP.