Έκδοση του διακομιστή SFTP SFTPGo 1.0

Состоялся первый значительный выпуск сервера SFTPGo 1.0, позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH и Rsync. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или bbolt 1.3.x. Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД. Код проекта написан на языке Go и διανέμονται από άδεια σύμφωνα με το GPLv3.

Κύρια χαρακτηριστικά γνωρίσματα:

  • Κάθε λογαριασμός είναι chroot, περιορίζοντας την πρόσβαση στον αρχικό κατάλογο του χρήστη. Είναι δυνατή η δημιουργία εικονικών καταλόγων που αναφέρονται σε δεδομένα εκτός του αρχικού καταλόγου του χρήστη.
  • Οι λογαριασμοί αποθηκεύονται σε μια εικονική βάση δεδομένων χρηστών που δεν τέμνεται με τη βάση δεδομένων χρηστών του συστήματος. Τα SQLite, MySQL, PostgreSQL, bbolt και αποθήκευση στη μνήμη μπορούν να χρησιμοποιηθούν για την αποθήκευση βάσεων δεδομένων χρηστών. Παρέχονται μέσα για την αντιστοίχιση εικονικών λογαριασμών και λογαριασμών συστήματος - είναι δυνατή η άμεση ή αυθαίρετη αντιστοίχιση (ένας χρήστης συστήματος μπορεί να αντιστοιχιστεί σε έναν άλλο εικονικό χρήστη).
  • Υποστηρίζεται έλεγχος ταυτότητας δημόσιου κλειδιού, κλειδιού SSH και κωδικού πρόσβασης (συμπεριλαμβανομένου του διαδραστικού ελέγχου ταυτότητας με εισαγωγή κωδικού πρόσβασης στο πληκτρολόγιο). Είναι δυνατό να δεσμεύσετε πολλά κλειδιά για κάθε χρήστη, καθώς και να ρυθμίσετε τον έλεγχο ταυτότητας πολλαπλών παραγόντων και πολλαπλών σταδίων (για παράδειγμα, σε περίπτωση επιτυχούς ελέγχου ταυτότητας κλειδιού, ενδέχεται να ζητηθεί επιπλέον κωδικός πρόσβασης).
  • Είναι δυνατή η διαμόρφωση διαφορετικών μεθόδων ελέγχου ταυτότητας για κάθε χρήστη, καθώς και ο καθορισμός των δικών του μεθόδων που υλοποιούνται με την κλήση εξωτερικών προγραμμάτων ελέγχου ταυτότητας (για παράδειγμα, για έλεγχο ταυτότητας μέσω LDAP) ή την αποστολή αιτημάτων μέσω του HTTP API.
  • Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
  • Υποστήριξη για μεμονωμένες ποσοστώσεις για το μέγεθος δεδομένων και τον αριθμό των αρχείων.
  • Υποστήριξη περιορισμού εύρους ζώνης με ξεχωριστές ρυθμίσεις για όρια εισερχόμενης και εξερχόμενης κίνησης, καθώς και όρια για τον αριθμό των ταυτόχρονων συνδέσεων.
  • Εργαλεία ελέγχου πρόσβασης που ενεργούν σε σχέση με έναν χρήστη ή κατάλογο (μπορείτε να περιορίσετε την προβολή της λίστας αρχείων, να απαγορεύσετε τη μεταφόρτωση, τη λήψη, την αντικατάσταση, τη διαγραφή, τη μετονομασία ή την αλλαγή δικαιωμάτων πρόσβασης, την απαγόρευση της δημιουργίας καταλόγων ή συμβολικών συνδέσμων κ.λπ.).
  • Για κάθε χρήστη, μπορείτε να ορίσετε μεμονωμένους περιορισμούς δικτύου, για παράδειγμα, μπορείτε να επιτρέψετε την πρόσβαση μόνο από συγκεκριμένες IP ή υποδίκτυα.
  • Υποστηρίζει τη σύνδεση φίλτρων για περιεχόμενο με δυνατότητα λήψης σε σχέση με μεμονωμένους χρήστες και καταλόγους (για παράδειγμα, μπορείτε να αποκλείσετε τη λήψη αρχείων με μια συγκεκριμένη επέκταση).
  • Μπορείτε να συνδέσετε προγράμματα χειρισμού που εκκινούνται κατά τη διάρκεια διαφόρων λειτουργιών με το αρχείο (φόρτωση, διαγραφή, μετονομασία κ.λπ.). Εκτός από τους χειριστές κλήσεων, υποστηρίζεται η αποστολή ειδοποιήσεων με τη μορφή αιτημάτων HTTP.
  • Αυτόματος τερματισμός ανενεργών συνδέσεων.
  • Ενημέρωση ατομικής διαμόρφωσης χωρίς διακοπή συνδέσεων.
  • Χορήγηση метрик для мониторинга в Prometheus.
  • Το πρωτόκολλο 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).
  • καθεστώς φορητός для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
  • Ενσωματωμένο σύστημα профилирования для анализа производительности.
  • Упрощённый διαδικασία миграции системных учётных записей Linux.
  • Αποθήκευση логов в формате JSON.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο