Versiunea de server SFTPGo 1.0 SFTP

Состоялся первый значительный выпуск сервера 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 и distribuit de licențiat conform GPLv3.

Caracteristici principale:

  • Fiecare cont este chrootat, limitând accesul la directorul principal al utilizatorului. Este posibil să se creeze directoare virtuale care să facă referire la date din afara directorului principal al utilizatorului.
  • Conturile sunt stocate într-o bază de date virtuală a utilizatorilor care nu se suprapune cu baza de date a utilizatorilor sistemului. SQLite, MySQL, PostgreSQL, bbolt și stocarea în memorie pot fi folosite pentru a stoca bazele de date ale utilizatorilor. Sunt furnizate facilități pentru maparea conturilor virtuale și de sistem - este posibilă maparea directă sau aleatorie (un utilizator de sistem poate fi mapat la alt utilizator virtual).
  • Este acceptată autentificarea folosind chei publice, chei SSH și parole (inclusiv autentificarea interactivă cu o parolă introdusă de la tastatură). Este posibil să legați mai multe chei pentru fiecare utilizator, precum și să configurați autentificarea cu mai mulți factori și mai mulți pași (de exemplu, în cazul autentificării cu succes a cheii, poate fi solicitată suplimentar o parolă).
  • Pentru fiecare utilizator, este posibil să configurați diferite metode de autentificare, precum și să vă definiți propriile metode, implementate prin apelarea unor programe de autentificare externe (de exemplu, pentru autentificare prin LDAP) sau prin trimiterea de solicitări prin API-ul HTTP.
  • Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
  • Suportă cote individuale pentru dimensiunea datelor și numărul de fișiere.
  • Suport pentru limitarea lățimii de bandă cu configurație separată a restricțiilor pentru traficul de intrare și de ieșire, precum și restricții privind numărul de conexiuni simultane.
  • Instrumente de control al accesului care funcționează în legătură cu un utilizator sau director (puteți limita vizualizarea unei liste de fișiere, interziceți încărcarea, descărcarea, suprascrierea, ștergerea, redenumirea sau modificarea drepturilor de acces, interziceți crearea de directoare sau legături simbolice etc.).
  • Pentru fiecare utilizator, puteți defini restricții individuale de rețea, de exemplu, puteți permite autentificarea numai de la anumite IP-uri sau subrețele.
  • Acceptă filtre de conectare pentru conținutul descărcat în raport cu utilizatorii și directoarele individuale (de exemplu, puteți bloca descărcarea fișierelor cu o anumită extensie).
  • Este posibil să legați handlerele care sunt lansate în timpul diferitelor operațiuni cu un fișier (descărcare, ștergere, redenumire etc.). Pe lângă apelarea gestionarilor, este acceptată trimiterea de notificări sub formă de solicitări HTTP.
  • Încetarea automată a conexiunilor inactive.
  • Actualizarea configurației atomice fără a întrerupe conexiunile.
  • Furnizarea метрик для мониторинга в Prometheus.
  • Protocolul HAProxy PROXY este acceptat pentru a organiza echilibrarea sarcinii sau conexiunile proxy la serviciile SFTP/SCP fără a pierde informații despre adresa IP sursă a utilizatorului.
  • API-ul REST для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
  • Interfață web (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
  • Abilitatea de a defini setări în formate JSON, TOML, YAML, HCL și envfile.
  • Sprijini подключения по SSH с ограниченным доступом к системным командам. Например, разрешён запуск команд, необходимых для работы Git (git-receive-pack, git-upload-pack, git-upload-archive) и rsync, а также нескольких встроенных команд (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy и sftpgo-remove).
  • regim portabil для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
  • Sistem incorporat профилирования для анализа производительности.
  • Упрощённый proces миграции системных учётных записей Linux.
  • Depozitare логов в формате JSON.

Sursa: opennet.ru

Adauga un comentariu