إصدار SFTP Server SFTPGo 1.0

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

السمات الرئيسية:

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

المصدر: opennet.ru

إضافة تعليق