تسجيل الدخول إلى FTP يعمل لكن قائمة المجلدات تتعلّق: لماذا
تسجيل الدخول إلى FTP وقوائم المجلدات يستخدمان اتصالين مختلفين. عندما تتعلّق القائمة، افحص عنوان البيانات السالب ونطاق المنافذ، لا كلمة المرور.
اسم المستخدم يعمل، وكلمة المرور تعمل، والعميل يقول إنه متصل. ثم ينتظر إلى الأبد للحصول على قائمة مجلد، أو على أول نقل ملف، ولا شيء في بيانات الاعتماد يفسّر ذلك. يفتح FTP اتصالاً ثانياً لكل قائمة ولكل ملف، وهذا الاتصال الثاني هو الذي يفشل. تسجيل الدخول يثبت فقط أن المحادثة الأولى تعمل.
نفّذ الفحوص بالترتيب. كل فحص يستبعد طبقة مختلفة، لذا توقّف عند أول فحص يُظهر شذوذاً.
افصل الاتصالين أولاً
اتصال التحكم يحمل الأوامر والردود على منفذ استماع الخادم. اتصال البيانات يحمل قائمة المجلد أو جسم الملف، وفي الوضع السالب يختار الخادم طرفه ويعلنه في رد PASV أو EPSV. السماح بالمنفذ 21 لا يخبرك شيئاً عمّا إذا كان منفذ البيانات قابلاً للوصول، وهذا بالضبط سبب نجاح تسجيل الدخول بينما تنتهي مهلة كل قائمة. دليل WinSCP لوضاع FTP يشرح هذا الفصل ومتطلباته الشبكية.
إذا كان العميل خلف VPN، فإن مسار البيانات يعبر النفق نفسه لكن ليس بالضرورة السياسة نفسها.
اقرأ العنوان في رد PASV
شغّل عميلاً مطوّلاً واقرأ الرد بدل التخمين. curl -v ftp://user@host/ يطبع سطر PASV مع العنوان والمنفذ اللذين يريدهما الخادم، وذلك العنوان هو حيث يتصل العميل بعد ذلك. إذا كان عنواناً خاصاً لا يعني شيئاً على جانب العميل من النفق، فإن اتصال البيانات يذهب إلى لا مكان بينما تبقى قناة التحكم سليمة.
قارن ذلك العنوان بالعنوان الذي وصله العميل فعلاً. عدم التطابق هو الجواب، وهو عادةً يأتي من NAT أو من خادم مُهيّأ بعنوان داخلي.
افحص نطاق المنافذ وسياسة النفق
تخصّص الخوادم السالبة منافذ بيانات من نطاق مُهيّأ، ويجب السماح بذلك النطاق عبر VPN وأي جدار حماية في المسار. السياسة التي تسمح بـ 21 ولا شيء غير ذلك هي سياسة لتسجيل الدخول فقط. تأكّد من النطاق مع من يدير الخادم، ثم اختبر منفذاً واحداً منه بدل افتراض أن النطاق كله يسلك السلوك نفسه.
قنوات التحكم المشفّرة تجعل هذا أصعب، لأن صندوقاً وسطياً لم يعد قادراً على إعادة كتابة العنوان المعلن أثناء النقل.
اعرف متى يفيد EPSV أو بديل احتياطي
يعيد EPSV منفذاً دون عنوان منفصل، ما يزيل فشل العنوان الخاطئ عندما يدعمه الطرفان. يمكن أيضاً إخبار بعض العملاء بتجاهل العنوان المعلن وإعادة استخدام وجهة اتصال التحكم. كلاهما أداتان مشروعتان تستهدفان طوبولوجيا محددة، وليس حلاً شاملاً.
لا تعطّل TLS لمجرد السماح لأداة مساعدة بفحص الجلسة. ذلك يقايض بروتوكولاً عاملاً بنموذج تهديد مكسور.
تأكّد بقائمة ونقل
بعد تغيير سياسة العنوان أو المنفذ، افتح جلسة جديدة عبر مسار VPN نفسه واسرد مجلداً. ثم انقل ملفاً صغيراً، لأن القائمة والنقل قد يسلكان مسارين برمجيين مختلفين على بعض الخوادم. افحص سجل العميل بحثاً عن اتصال بيانات إلى العنوان والمنفذ المتوقعين، وتأكّد من وصول البايتات.
أبقِ FTP وFTPS وSFTP منفصلة في ذهنك أثناء ذلك. تغيير المنفذ السالب ليس إعداداً في SFTP، والإصلاح لا ينتقل بين البروتوكولات.