LINUX.ORG.RU

SFTPGo 2.2.0 с поддержкой 2FA и плагинов

 , , ,


1

0

Вышла новая версия SFTPGo — SFTP-сервера с обширными возможностями, написанного на языке Go. Помимо протокола SFTP, сервер также поддерживает FTP/S и WebDAV.

Основные изменения:

  • SFTPGo теперь поддерживает встроенную двухфакторную аутентификацию (2FA) на основе временных одноразовых паролей (RFC 6238), которая работает с Authy, Google Authenticator и другими совместимыми приложениями.

  • Добавлена поддержка плагинов.

  • Улучшен механизм общего доступа в веб-клиенте: вы можете создавать HTTP/S ссылки для безопасного внешнего обмена файлами и каталогами, устанавливая ограничения на количество скачиваний/загрузок, защищая общий ресурс паролем, ограничивая доступ по IP-адресу источника, устанавливая автоматическую дату истечения срока действия.

  • Несовместимое изменение конфигурации: больше нельзя передавать аргументы внешним приложениям в хуках.

>>> Подробности

★★★★★

Проверено: xaizek ()

на основе временных одноразовых паролей TOTP (RFC 6238)

Если выпадет 1234567890, это можно считать джекпотом?

anonymous ()
Ответ на: комментарий от Harald

давайте ещё гофер сервер на расте

usenet, prospero ждут своего героя

dummy ★★ ()
Ответ на: комментарий от apt_install_lrzsz

Протокол (sftp) нужен, а вот эта ерунда на дурацком языке - нет. А сувать язык, на котором написан проект, в название проекта - уж совсем убого.

firkax ★★★ ()
Ответ на: комментарий от Gonzo

Не фига себе обширные. Может он как SQL сервер тоже может ?

mx__ ★★★★★ ()

Вещь хорошая (наверное), но к сожалению фтп везде выпилили и нужно ставить отдельные клиенты. Т.е. левому человеку уже просто так не кинешь ссылку.

Im_not_a_robot ★★★★★ ()
Ответ на: комментарий от Im_not_a_robot

А при чем тут ftp? Это — реализация sftp-сервера с виртуальными пользователями.

sftp и ftp не родствнники вообще

anonymous ()
Ответ на: комментарий от anonymous

А при чем тут ftp? Это — реализация sftp-сервера с виртуальными пользователями.

Ну там все таки протокол почти один. Подумаешь мини-фтп сервер реализованный в ssh. Но когда я увидел поддержку HTTP вот это правда о_О.

mx__ ★★★★★ ()
Ответ на: комментарий от mx__

Протокол вообще другой

Родственным для sftp является scp, но никак не ftp. Просто названия похожи

anonymous ()
Ответ на: комментарий от Im_not_a_robot

Какой отдельный клиент?

У тебя вдруг злые рептилоиды отняли sftp в командной строке? Или может в mc кремниевые формы жизни выпилили sftp? Что ты несешь?

anonymous ()
Ответ на: комментарий от drfaust

Я уже года два sftpgo юзаю, кажется здесь же новость про него изначально и встретил

Прекрасен виртуальными пользователями, прежде всего. Недавно добавили возможность работать вместо родного от openssh, раньше запускал его на отдельном порту

На мой взгляд много лишнего тащат зачем-то, но сама идея sftp-сервера с виртуальными пользователями которые имеют жесткий чрут в конкретные директории и которые при укладывании файлов биндятся на заданных тобой реальных юзеров это очень здраво, раньше такое было в некоторых ftp-серверах и в те годы было востребовано

anonymous ()
Ответ на: комментарий от Im_not_a_robot

а тут просто слишком короткая новость. это явно не для быстрого обмена, а продукт для организации. он умеет SFTP, SCP/SSH, Rsync, HTTP и WebDav. там есть и REST-API и вебинтерфейс даже. короче, такой бы подарок, но лет 15 назад. https://www.opennet.ru/opennews/art.shtml?num=56247

* Для каждого пользователя возможна настройка разных методов аутентификации, а также определение собственных методов, реализуемых через вызов внешних программ-аутентификаторов (например, для аутентификации через LDAP) или отправку запросов через 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).

* Режим portable для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.

* Встроенная система профилирования для анализа производительности.

* Упрощённый процесс миграции системных учётных записей Linux.

* Хранение логов в формате JSON.

* Поддержка виртуальных каталогов (например, содержимое определённого каталога можно отдавать не из локальной ФС, а из внешнего облачного хранилища).

* Поддержка cryptfs для прозрачного шифрования данных на лету при сохранении в ФС и расшифровки при отдаче.

* Поддержка проброса соединений к другим серверам SFTP. Возможность использования SFTPGo в качестве SFTP-подсистемы для OpenSSH.

* Возможность хранения учётных и конфиденциальных данных в зашифрованном виде с использованием KMS-серверов (Key Management Services), таких как Vault, GCP KMS, AWS KMS.

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 2)

Конечно, крайне актуальная штука.

Если не очередное унылое говно, то просто очень круто. Интересно, как у него с производительностью?

AVL ()
Ответ на: комментарий от AVL

Я выше писал, что использую больше двух лет. Сейчас покопался, могу сказать точно, что с версии 0.9.2, которая вышла в сентябре 2019 года

Работает прекрасно, нареканий нет. В производительности проблем не видел, но я и не пробовал гонять одновременно 100 пользователей льющих каждый по гигабиту, у меня максимум гигабитный канал есть на серверах где он используется, там утилизирует весь канал доступный юзеру и нагрузки на проц не наблюдается особо

anonymous ()
Ответ на: комментарий от apt_install_lrzsz

Нет, не всё равно. Не доверяю профессионализму тех, кто пишет на недоязыках. Ожидаю от них либо 10000% оверхедов на примитивных алгоритмах, либо решето, либо багов, либо всё это вместе взятое. При этом потребности у них могут быть вполне вменяемые, т.е. список заявленных фич, которые они пытались реализовать, может быть и адекватно выглядящим.

firkax ★★★ ()
Ответ на: комментарий от firkax

А недоязыками ты считаешь любой, который тебе не нравится. Ага

При этом сам ты ни на чем не пишешь, мозгов не хватает. Но исходить на фекалии от современных языков ты можешь и постоянно это делаешь. Я угадаю какая двухголовая курица на твоем паспорте с одной попытки :-D

anonymous ()
Ответ на: комментарий от firkax

Ожидаю от них либо 10000% оверхедов на примитивных алгоритмах, либо решето, либо багов, либо всё это вместе взятое.

Это всё и в си есть, и в плюсах, и в других языках.

Тебя беспокоит конкретно то, что на го пишут только гуглообезьяны? Ну, тут надо смотреть, кто авторы программы и чем они прославились ранее. Судить по принципу «Го – недоязык, значит авторы дураки» – сомнительный подход к оценке ПО.

apt_install_lrzsz ()
Ответ на: комментарий от apt_install_lrzsz

Нет, всё чуть сложнее, но итог почти такой же. Да, может так случиться, что хороший программист решил написать на го и написал хорошую программу. Но:

1) вероятность этого всё же ниже чем на си, но если таки случилось:

2) я не могу оттюнить исходник под себя, т.к. не собираюсь разбираться в этом языке

3) после забивания автора на проект меньше вероятность что найдётся адекватный продолжатель

4) даже до забивания - больше вероятность что найдётся пачка идиотов, решивших туда контрибьютить и кто-то из них таки просочится в апстрим

5) автор может нахвататься модных тенденций из мира го и стать очередным идиотом, а затем испортить продукт

и прочие сопутствующие эффекты. Возможно, каждый из них в отдельности и не приводит к чему-то сразу плохому, но вместе они делают целесообразность глубокого ознакомления с такими продуктами крайне низкой, особенно если имеются альтернативы.

firkax ★★★ ()
Ответ на: комментарий от firkax

вероятность этого всё же ниже

меньше вероятность

больше вероятность

На основании чего ты оцениваешь вероятности? Были прецеденты проектов, в которых произошло именно это? Интересно посмотреть, чем дело кончилось.

нахвататься модных тенденций из мира го

Это каких? Они ж ничего нового не придумали.

apt_install_lrzsz ()
Ответ на: комментарий от apt_install_lrzsz

На основании чего ты оцениваешь вероятности? Были прецеденты проектов, в которых произошло именно это? Интересно посмотреть, чем дело кончилось.

Можешь считать что наобум, потому что мне лень придумывать внятное объяснение.

Это каких? Они ж ничего нового не придумали.

Зато чужих нахватались. Качать мегабайты мусора с инета при сборке проекта, писать исходники так что полную картину передачи управления между модулями сложно запомнить, оперировать высокоуровневыми сущностями - чёрными ящиками (даже не пытаясь заглянуть внутрь), а не вычислительными командами.

firkax ★★★ ()
Ответ на: комментарий от firkax

Почти все пять пунктов столь же вероятны для сишечки. В принципе, любой проект может в какой то момент свернуть в жопу.

  1. я не могу оттюнить исходник под себя, т.к. не собираюсь разбираться в этом языке

Касается всех языков, в которых ты не собираешься разбираться. Для кого-то это си, для кого то питон или го.

особенно если имеются альтернативы.

Например? Ты пишешь конкретно в теме релиза webdav и sftp сервера. Попробуй, найди хоть что-то похожее на альтернативу.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

А альтернатив для sftp и нет

Ближайшей альтернативой был mysecureshell, но он давно заброшен и вот для меня sftpgo стал просто спасением.

anonymous ()
Ответ на: комментарий от AVL2

Почти все пять пунктов столь же вероятны для сишечки.

Нет, не столь. Си не модный среди идиотов, и у него выше порог вхождения. Поиграются, не осилят, бросят, а получившееся даже мимикрировать под что-то работающее не сможет.

В принципе, любой проект может в какой то момент свернуть в жопу.

Ну, я что-то вспомнил гном3 и текущую ситуацию с иксами, и правда грустно. Но гном2 быстро форкнули, а про иксы надежд на хороший итог почему-то всё равно больше, чем если бы они были на го. Там бы их превратили вейланд, сделав вид что это просто следующая версия.

Например? Ты пишешь конкретно в теме релиза webdav и sftp сервера. Попробуй, найди хоть что-то похожее на альтернативу.

sftp есть в комплекте openssh, он там проверенный и надёжный, от уважаемых авторов. webdav не знаю, не интересовался, но думаю какие-то есть. Да, тут всё собрано в один комбайн, но гложат подозрения касательно его качества.

firkax ★★★ ()
Ответ на: комментарий от firkax

оперировать высокоуровневыми сущностями - чёрными ящиками (даже не пытаясь заглянуть внутрь), а не вычислительными командами.

Сложное ПО именно так и пишут независимо от языка.

apt_install_lrzsz ()
Ответ на: комментарий от anonymous

Это неплохо.

А клиенты какие используются?

webdav, sftp? winscp? sshfs? как диск webdav монтируется? Проблем с размерами загружаемых файлов нет? Локи используются?

Пробовали, как некую замену самбе?

AVL ()
Ответ на: комментарий от anonymous

А альтернатив для sftp и нет

Так и для webdav тоже нет. Есть довольно убогие недомонстры поверх nginx и apache и по сути все.

AVL ()
Ответ на: комментарий от firkax

Нет, не столь. Си не модный среди идиотов, и у него выше порог вхождения. Поиграются, не осилят, бросят, а получившееся даже мимикрировать под что-то работающее не сможет.

Сложно сказать. По моему, Go, как и Си уже перешел в нишу промышленных языков. Это же не pony или vala, чтобы уж совсем быть ничем.

Ну, я что-то вспомнил гном3 и текущую ситуацию с иксами

Я сразу вспомнил LXDE. И это громадные проекты. А тут все таки уровень на порядок ниже по сложности и объему. Тут логичней сравнивать с каким нибудь nginx, gimp или audacity. Вполне себе небольшие, но крайне важные и популярные проекты.

sftp есть в комплекте openssh, он там проверенный и надёжный, от уважаемых авторов.

Для себя, любимого. Он абсолютно не закрывает даже 10% того, что в сабже. Это просто разные проекты. Openssh вообще нельзя использовать в качестве публичного sftp сервера.

webdav не знаю, не интересовался, но думаю какие-то есть.

Ну так поинтересуйся. Их еще меньше.

Да, тут всё собрано в один комбайн, но гложат подозрения касательно его качества.

В любом реальном проекте всегда сомнения в качестве. Нет кода - нет сомнений.

AVL ()
Последнее исправление: AVL (всего исправлений: 1)
Ответ на: комментарий от apt_install_lrzsz

Сложное ПО именно так и пишут независимо от языка.

Нет. Высокоуровневая структура конечно есть, но она не из чёрных ящиков. Чёрные ящики - признак либо коммерческой разработки с жёстко урезанным бюджетом, либо (если упомянутого ограничения извне нет) профнепригодности авторов. А уж тем более если ПО не сложное.

firkax ★★★ ()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Чёрные ящики - признак либо коммерческой разработки с жёстко урезанным бюджетом, либо (если упомянутого ограничения извне нет) профнепригодности авторов.

Я говорил именно про высокоуровневую структуру. Про чёрные ящики согласен.

apt_install_lrzsz ()
Ответ на: комментарий от firkax
  1. вероятность этого всё же ниже чем на си

где статистика?

  1. я не могу оттюнить исходник под себя, т.к. не собираюсь разбираться в этом языке

и часто ты языки обсираешь, неразобравшись?

  1. после забивания автора на проект меньше вероятность что найдётся адекватный продолжатель
  2. даже до забивания - больше вероятность что найдётся пачка идиотов, решивших туда контрибьютить и кто-то из них таки просочится в апстрим

как подсчитывал вероятности?

  1. автор может нахвататься модных тенденций из мира го и стать очередным идиотом, а затем испортить продукт

автоматическое управление памятью - это модная тенденция? что в ней плохого?

anonymous ()
Ответ на: комментарий от AVL

Изначально ставился как замена mysecureshell ради виртуальных пользователей для sftp и только для него и юзается, соответственно клиенты это всякие реализации sftp-клиентов

Даже webdav в нем не пробовал, за ненадобностью

Просто у некоторых клиентов есть горе веб-разработчики которые не умеют и не хотят в git, что бы сделать CI/CD для доставки, хотят только сами файлы раскладывать, вот для них и их жесткого ограничения в директории и юзается на ряде проектов

anonymous ()
Ответ на: комментарий от anonymous

Я так понимаю, используется для кучи клиентов из разных контор-клиентов на хостинге?

И раздача прав достаточно гибкая и простая, чтобы раздавать изолированный доступ разным клиентам и спать спокойно что случайно запятую не пропустил и не дал полный доступ левому васяну?

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

Есть одно но. Я что то не увидел его в пакетах для любого более менее известного дистрибутива линукса и в левых репах тоже. Только в портах фряхи …

mx__ ★★★★★ ()
Ответ на: комментарий от mx__

Go-софт self-contained жи. Если у тебя гомогенная сеть - просто положи на сторидж и инсталлируй командой cp :) А то и прямо оттеда запускай.

anonymous ()
Ответ на: комментарий от mx__

Я понимаю что я не прав в данном случае но на всякий случай :

Ты прав что ты неправ! :-D

Нам страперам sftp это - https://datatracker.ietf.org/doc/html/rfc913 А не как ssh с функциями фтп.

Одна из фич:

  • SFTP subsystem mode: you can use SFTPGo as OpenSSH’s SFTP subsystem.

https://github.com/drakkan/sftpgo/blob/v2.2.0/docs/sftp-subsystem.md

Ты вообщето его можешь в OpenSSH server вместо встроенного sftp-subsystem подключить. :)

PS: Не слушай школоту что его из за Go ругает, им гной из прыщей на мoск плохо влияет. :) Gоно можно написать на самом пупер языке, и наоборот - в 1992\3 году один казах(?) на мысыбЭйсике\DOS написал расчёт подхода их челногов к нашей OS 8-o. Просто потому что на той 286 больше ничего не было 8-o
Впрочем сейчас таких прогерров почти не делают :(

anonymous ()
Ответ на: комментарий от anonymous

А кто будет за багфиксами следить и упдату накладывать Печкин что ли ?

Мне по фигу на чем написан софт лишь бы нормально работал. Хотя Го все таки + за его выкидывание классов.

mx__ ★★★★★ ()
Ответ на: комментарий от mx__

Зато прямо в гите есть рпм-пакеты. Я поставил, в центос работает.

AVL ()
Ответ на: комментарий от slimblyandysh

Для мелких задач типа личного облака вполне.

Но как полноценный вебдав сервер комбайн на php выглядит плохим выбором…

AVL ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.