Notefix/1.Projects/Персональний сайт портфоліо/Self Hosted/sftpgo/sftpgo.md

3.7 KiB
Raw Blame History

SFTPGo — це сучасний, високопродуктивний сервер обміну файлами з відкритим вихідним кодом (написаний на Go), який розширює можливості стандартного SSH/SFTP до повноцінного корпоративного рішення для керування даними.

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

  • Мультипротокольність: Підтримує SFTP, FTPS, FTP, WebDAV, а також має вбудований Web UI для користувачів та адміністраторів і REST API.

  • Гнучкість сховищ (Storage Backends): Працює як з локальною файловою системою, так і з хмарними сховищами (Amazon S3, Google Cloud Storage, Azure Blob, S3-сумісні MinIO/Ceph). Також є підтримка прозорого шифрування (CryptFS).

  • Централізована база даних: Зберігає користувачів та налаштування в PostgreSQL, MySQL, MariaDB, CockroachDB або SQLite.

Надійність та відмовостійкість

SFTPGo розроблений для високонавантажених і критичних систем:

  • Кластеризація (High Availability): Оскільки самі екземпляри SFTPGo є stateless (безбереженими), ви можете запустити кілька вузлів за навантажувачем (Load Balancer), підключивши їх до однієї бази даних та спільного сховища.

  • Ізоляція та квоти: Можна жорстко обмежити кількість одночасних сесій, швидкість завантаження/вивантаження (Bandwidth limit) та дискову квоту (байти або кількість файлів) для кожного користувача або групи.

  • Автоматична грозозахист-локалізація (Event Actions): При виявленні підозрілої активності або помилок аутентифікації SFTPGo може автоматично блокувати IP (за допомогою встроенних механізмів або інтеграції з Fail2ban).

Акцент на бекапах та захисті від Ransomware

SFTPGo — ідеальне рішення для збору резервних копій завдяки захисту від підміни та видалення:

  1. WORM / Immutable Backups: Налаштування прав "тільки на запис" унеможливлює видалення або зашифрування старого бекапу, якщо сервер, з якого робиться бекап, буде закомпрометований вірусом-вимагачем.

  2. Автоматизація обробки (Hooks & Event Manager): Після успішного вивантаження файлу бекапу SFTPGo може автоматично виконати скрипт, надіслати вебхук (Webhook) або сповіщення в Telegram/Slack, запустити ротацію або перемістити файл у Glacier-сховище.

  3. Віртуальні папки (Virtual Folders): Можна прокинути окремі каталоги з різних систем або S3-бакетів у єдину структуру папок для агента бекапу.