إصدار SFTP Server SFTPGo 2.2.0

تم نشر إصدار خادم SFTPGo 2.2، والذي يسمح لك بتنظيم الوصول عن بعد إلى الملفات باستخدام بروتوكولات SFTP وSCP/SSH وRsync وHTTP وWebDav. من بين أشياء أخرى، يمكن استخدام SFTPGo لتوفير الوصول إلى مستودعات Git باستخدام بروتوكول SSH. يمكن نقل البيانات من نظام الملفات المحلي ومن وحدات التخزين الخارجية المتوافقة مع Amazon S3 وGoogle Cloud Storage وAzure Blob Storage. من الممكن تخزين البيانات في شكل مشفر. لتخزين قاعدة بيانات المستخدم والبيانات التعريفية، يتم استخدام أنظمة إدارة قواعد البيانات التي تدعم SQL أو تنسيق المفتاح/القيمة، مثل PostgreSQL أو MySQL أو SQLite أو CockroachDB أو bbolt، ولكن من الممكن أيضًا تخزين البيانات التعريفية في ذاكرة الوصول العشوائي (RAM)، وهو ما لا يتطلب توصيل قاعدة بيانات خارجية. كود المشروع مكتوب بلغة Go ويتم توزيعه بموجب ترخيص GPLv3.

новой версии:

  • تمت إضافة دعم للمصادقة الثنائية باستخدام كلمات مرور محدودة المدة ولمرة واحدة (TOTP، RFC 6238). يمكن استخدام تطبيقات مثل Authy وGoogle Authenticator كمصدقين.
  • تم تنفيذ القدرة على توسيع الوظائف من خلال المكونات الإضافية. من بين المكونات الإضافية المتوفرة بالفعل: دعم خدمات تبادل المفاتيح الإضافية، وتكامل نظام النشر/الاشتراك، وتخزين المعلومات حول الأحداث في نظام إدارة قواعد البيانات (DBMS) والبحث عنها.
  • أضافت REST API دعمًا للمصادقة باستخدام المفاتيح، بالإضافة إلى رموز JWT، وتوفر أيضًا القدرة على تعيين سياسات تخزين البيانات (الحد من عمر البيانات) فيما يتعلق بالدلائل والمستخدمين الفرديين. افتراضيًا، يتم تمكين Swagger UI للتنقل في موارد واجهة برمجة التطبيقات (API) دون استخدام أدوات مساعدة خارجية.
  • تمت إضافة دعم لعمليات الكتابة إلى واجهة الويب (تحميل الملفات، وإنشاء الدلائل، وإعادة التسمية والحذف)، وتم تنفيذ القدرة على إعادة تعيين كلمة المرور مع التأكيد عبر البريد الإلكتروني، وتم دمج محرر الملفات النصية وعارض مستندات PDF. تمت إضافة القدرة على إنشاء روابط HTTP لتزويد المستخدمين الخارجيين بإمكانية الوصول إلى الملفات والأدلة الفردية، مع القدرة على تعيين كلمة مرور وصول منفصلة، ​​وتحديد عناوين IP، وتعيين عمر الارتباط والحد من عدد التنزيلات.

الميزات الرئيسية لبرنامج SFTPGo:

  • يتم تجذير كل حساب ، مما يحد من الوصول إلى الدليل الرئيسي للمستخدم. من الممكن إنشاء أدلة افتراضية تشير إلى بيانات خارج الدليل الرئيسي للمستخدم.
  • يتم تخزين الحسابات في قاعدة بيانات ظاهرية للمستخدم لا تتقاطع مع قاعدة بيانات مستخدم النظام. يمكن استخدام SQLite و MySQL و PostgreSQL و bbolt والتخزين في الذاكرة لتخزين قواعد بيانات المستخدم. يتم توفير الوسائل لتعيين الحسابات الافتراضية وحسابات النظام - من الممكن التعيين المباشر أو التعسفي (يمكن تعيين مستخدم نظام واحد إلى مستخدم افتراضي آخر).
  • يتم دعم مصادقة المفتاح العام ومفتاح SSH وكلمة المرور (بما في ذلك المصادقة التفاعلية مع إدخال كلمة مرور لوحة المفاتيح). من الممكن ربط عدة مفاتيح لكل مستخدم ، بالإضافة إلى إعداد مصادقة متعددة العوامل ومتعددة المراحل (على سبيل المثال ، في حالة مصادقة المفتاح الناجحة ، قد يتم طلب كلمة مرور إضافية).
  • من الممكن تكوين طرق مصادقة مختلفة لكل مستخدم ، بالإضافة إلى تحديد أساليبهم الخاصة التي يتم تنفيذها من خلال استدعاء برامج المصادقة الخارجية (على سبيل المثال ، للمصادقة عبر LDAP) أو إرسال الطلبات عبر واجهة برمجة تطبيقات HTTP.
  • من الممكن توصيل معالجات خارجية أو استدعاءات HTTP API لتغيير إعدادات المستخدم التي يتم استدعاؤها قبل تسجيل دخول المستخدم ديناميكيًا. يتم دعم الإنشاء الديناميكي للمستخدمين عند الاتصال.
  • دعم الحصص الفردية لحجم البيانات وعدد الملفات.
  • دعم تقييد النطاق الترددي بإعدادات منفصلة لحدود حركة المرور الواردة والصادرة ، بالإضافة إلى حدود عدد الاتصالات المتزامنة.
  • أدوات التحكم في الوصول التي تعمل فيما يتعلق بمستخدم أو دليل (يمكنك تقييد عرض قائمة الملفات ، وحظر التحميل أو التنزيل أو الكتابة فوق أو حذف أو إعادة تسمية أو تغيير حقوق الوصول ، وحظر إنشاء أدلة أو روابط رمزية ، وما إلى ذلك).
  • لكل مستخدم ، يمكنك تحديد قيود الشبكة الفردية ، على سبيل المثال ، يمكنك فقط السماح بالوصول من بعض عناوين IP أو الشبكات الفرعية.
  • وهو يدعم اتصال المرشحات للمحتوى القابل للتنزيل فيما يتعلق بالمستخدمين الفرديين والأدلة (على سبيل المثال ، يمكنك حظر تنزيل الملفات بامتداد معين).
  • يمكنك ربط المعالجات التي يتم تشغيلها أثناء العمليات المختلفة بالملف (التحميل ، والحذف ، وإعادة التسمية ، وما إلى ذلك). بالإضافة إلى معالجات الاستدعاء ، يتم دعم إرسال الإشعارات في شكل طلبات HTTP.
  • الإنهاء التلقائي للاتصالات غير النشطة.
  • تحديث التكوين الذري دون قطع الاتصالات.
  • توفير مقاييس للرصد في بروميثيوس.
  • يتم دعم بروتوكول HAProxy PROXY لتنظيم موازنة التحميل أو اتصالات الوكيل بخدمات SFTP / SCP دون فقدان المعرفة بعنوان IP المصدر للمستخدم.
  • واجهة برمجة تطبيقات REST لإدارة المستخدمين والأدلة وإنشاء نسخ احتياطية وإعداد التقارير عن الاتصالات النشطة.
  • واجهة الويب (http://127.0.0.1:8080/web) للتهيئة والمراقبة (التكوين عبر ملفات التكوين العادية مدعوم أيضًا).
  • القدرة على تحديد الإعدادات بتنسيقات JSON و TOML و YAML و HCL و envfile.
  • دعم الاتصال عبر SSH مع وصول محدود إلى أوامر النظام. على سبيل المثال ، يُسمح بتشغيل الأوامر المطلوبة لـ Git (git-receiver-pack و git-upload-pack و git-upload-archive) و rsync ، بالإضافة إلى العديد من الأوامر المضمنة (scp و md5sum و sha * sum و cd و pwd و sftpgo-copy و sftpgo-remove).
  • الوضع المحمول لمشاركة دليل مشترك واحد مع إنشاء تلقائي لبيانات اعتماد الاتصال المُعلن عنها عبر DNS متعدد البث.
  • نظام التنميط المدمج لتحليل الأداء.
  • عملية ترحيل حساب نظام Linux المبسط.
  • تخزين السجلات بتنسيق JSON.
  • دعم الأدلة الافتراضية (على سبيل المثال ، يمكن تقديم محتويات دليل معين ليس من نظام الملفات المحلي ، ولكن من التخزين السحابي الخارجي).
  • دعم cryptfs لتشفير البيانات بشفافية أثناء التنقل عند الحفظ في نظام الملفات وفك التشفير عند التحميل.
  • دعم إعادة توجيه الاتصالات إلى خوادم SFTP الأخرى.
  • القدرة على استخدام SFTPGo كنظام فرعي SFTP لـ OpenSSH.
  • القدرة على تخزين بيانات الاعتماد والبيانات السرية في شكل مشفر باستخدام خوادم KMS (خدمات إدارة المفاتيح) ، مثل Vault و GCP KMS و AWS KMS.

المصدر: opennet.ru

إضافة تعليق