Випуск SFTP-сервера SFTPGo 2.5.0

Опубліковано випуск сервера SFTPGo 2.5.0, що дозволяє організувати віддалений доступ до файлів за допомогою протоколів SFTP, SCP/SSH, Rsync, HTTP та WebDav, а також надання доступу до Git-репозиторій, використовуючи протокол SSH. Дані можуть віддаватися як з локальної файлової системи, так і зовнішніх сховищ, сумісних з Amazon S3, Google Cloud Storage і Azure Blob Storage. Можливе зберігання даних у зашифрованому вигляді. Для зберігання бази користувача та метаданих використовуються СУБД з підтримкою SQL або формату ключ/значення, такі як PostgreSQL, MySQL, SQLite, CockroachDB або bbolt, але є і можливість зберігання метаданих в оперативній пам'яті, що не вимагає підключення зовнішньої БД. Код проекту написаний мовою Go та поширюється під ліцензією GPLv3.

В новой версії:

  • У web-інтерфейсі надано можливість закриття повідомлень про помилки. У web-інтерфейсі для адміністратора додано підтримку пошуку в лозі аудиту та експорту даних з нього, реалізовано управління списками IP-адрес та мереж, надано можливість налаштування SMTP та типових параметрів ACME та SFTP. У клієнтському web-інтерфейсі реалізовано власну форму входу (замість basic auth), додано операцій копіювання та прибрано обмеження на розмір завантажень.
    Випуск SFTP-сервера SFTPGo 2.5.0
  • Додана підтримка політик використання паролів, наприклад, можна визначити вимоги до надійності пароля та встановити час життя пароля.
  • У EventManager додано можливість виводу повідомлень про прострочені паролі, реалізовано операцію копіювання, додано підтримку попередньо викликаних дій (pre-*) та обробників, які спрацьовують при певних діях (наприклад, доданий обробник, що викликається при вході користувача).
  • Додано можливість надання користувачам прав адміністратора.
  • В інтерфейс командного рядка додані команди для скидання пароля адміністратора та перевірки працездатності сервісу.
  • Додано підтримку умовних операторів при виконанні масового перейменування файлів на стороні хмарних провайдерів.
  • Додано підтримку відстеження та автоматичного перезавантаження TLS-сертифікатів.
  • Додана можливість визначення власних MIME типів для WebDAV.
  • Для SSH включена за промовчанням інтерактивна автентифікація за допомогою клавіатури.
  • У режимі, що переноситься, з'явилася можливість завантаження паролів з файлу.
  • Додано експериментальну підтримку сервісу Terraform.

Основні можливості SFTPGo:

  • Для кожного облікового запису використовується chroot-ізоляція, що обмежує доступ домашнім каталогом користувача. Можливе створення віртуальних каталогів, що посилаються на дані поза домашнім каталогом користувача.
  • Облікові записи зберігаються у віртуальній базі користувачів, що не перетинається із системною БД користувачів. Для зберігання БД користувачів можуть застосовуватись SQLite, MySQL, PostgreSQL, bbolt та зберігання в пам'яті. Надаються засоби для зіставлення віртуальних та системних облікових записів — можливо пряме чи довільне зіставлення (один системний користувач може бути зіставлений з іншим віртуальним користувачем).
  • Підтримується автентифікація за відкритими ключами, ключами SSH та паролями (у тому числі інтерактивна автентифікація із введенням пароля з клавіатури). Можливе прив'язування кількох ключів для кожного користувача, а також налаштування мультифакторної та багатоетапної автентифікації (наприклад, у разі успішної автентифікації за ключом може бути додатково запрошений пароль).
  • Для кожного користувача можливе налаштування різних методів автентифікації, а також визначення власних методів, що реалізуються через виклик зовнішніх програм-автентифікаторів (наприклад, автентифікації через LDAP) або відправлення запитів через HTTP API.
  • Можливе підключення зовнішніх обробників або викликів HTTP API для динамічної зміни параметрів користувача перед входом користувача. Підтримується динамічне створення користувачів під час підключення.
  • Підтримка індивідуальних квот на розмір даних та кількість файлів.
  • Підтримка обмеження пропускної здатності з роздільним налаштуванням обмежень для вхідного та вихідного трафіку, а також обмежень на кількість одночасних підключень.
  • Засоби розмежування доступу, що діють у прив'язці до користувача або каталогу (можна обмежити перегляд списку файлів, заборонити завантаження, скачування, перезапис, видалення, перейменування або зміну прав доступу, заборонити створення каталогів або символічних посилань тощо).
  • Для кожного користувача можна визначити індивідуальні мережні обмеження, наприклад, можна дозволити вхід лише з певних IP або підмереж.
  • Підтримується підключення фільтрів завантажуваного контенту в прив'язці до окремих користувачів та каталогів (наприклад, можна блокувати завантаження файлів з певним розширенням).
  • Можлива прив'язка обробників, що запускаються при різних операціях із файлом (завантаження, видалення, перейменування тощо). Окрім виклику обробників підтримується надсилання повідомлень у формі HTTP-запитів.
  • Автоматичне завершення неактивних з'єднань.
  • Атомарне оновлення конфігурації без розриву з'єднань.
  • Надання метрик для моніторингу в Prometheus.
  • Підтримується протокол HAProxy PROXY для організації балансування навантаження або проксіювання з'єднань до сервісів SFTP/SCP без втрати відомостей про вихідну IP-адресу користувача.
  • REST API для керування користувачами та каталогами, створення резервних копій та формування звітів про активні з'єднання.
  • Web-інтерфейс (http://127.0.0.1:8080/web) для налаштування та моніторингу (підтримується і налаштування через звичайні конфігураційні файли).
    Випуск SFTP-сервера SFTPGo 2.5.0
  • Можливість визначення налаштувань у форматах 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).
  • Режим portable для спільного використання одного загального каталогу з автоматичним створенням облікових даних для підключення, що анонсуються через multicast DNS.
  • Вбудована система профілювання для аналізу продуктивності.
  • Спрощений процес міграції системних облікових записів Linux.
  • Зберігання логів у форматі JSON.
  • Підтримка віртуальних каталогів (наприклад, вміст певного каталогу можна віддавати не з локальної ФС, а із зовнішнього хмарного сховища).
  • Підтримка cryptfs для прозорого шифрування даних на льоту при збереженні ФС і розшифровки при віддачі.
  • Підтримка прокидання з'єднань до інших серверів SFTP.
  • Можливість використання SFTPGo як SFTP-підсистеми для OpenSSH.
  • Можливість зберігання облікових та конфіденційних даних у зашифрованому вигляді з використанням KMS-серверів (Key Management Services), таких як Vault, GCP KMS, AWS KMS.
  • Підтримка двофакторної автентифікації за допомогою одноразових паролів з обмеженим часом життя (TOTP, RFC 6238). Аутентифікатори можуть використовувати такі програми, як Authy і Google Authenticator.
  • Розширення функціональності через плагіни. Наприклад, доступні плагіни з підтримкою додаткових сервісів обміну ключами, інтеграції схеми Publish/Subscribe, зберігання та пошуку інформації про події в СУБД.

Джерело: opennet.ru

Додати коментар або відгук