Издание на 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 за управление на потребителите и директориите, създаване на резервни копия и формулиране на доклади за активни връзки.
  • Web интерфейс (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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster