Быстрая настройка безопасного sFTPGo на Rocky Linux
Что такое sFTPGo
sFTPGo — это конфигурируемый сервер для безопасной передачи файлов. Он поддерживает протоколы SFTP, FTP/S, HTTP/S и WebDAV. SFTPGo умеет работать с разными бэкендами хранения: локальными файловыми системами и облачными провайдерами (Amazon S3, Google Cloud Storage, Azure Blob). По умолчанию он использует SQLite, но поддерживает PostgreSQL и MariaDB/MySQL.
Короткое определение: sFTPGo — современный файловый сервер с веб-панелью и гибкими бэкендами хранения.
Кому пригодится эта инструкция
- Системным администраторам, которые хотят быстро поднять защищённый FTP/S/WebDAV сервис.
- DevOps-инженерам, которым нужен самодостаточный файловый сервис с веб-интерфейсом.
- Командам, которые хотят заменить устаревшие FTP-серверы и добавить WebDAV/HTTPS.
Требования
- Сервер с Rocky Linux 8 или 9.
- Непривилегированный пользователь с sudo.
- Домен, указывающий на IP сервера (рекомендуется для production).
- Доступ к Let’s Encrypt или другим SSL-сертификатам для HTTPS/WebDAV.
Быстрый обзор шагов
- Установить sFTPGo (DNF или RPM).
- Запустить и включить сервис systemd.
- Открыть порты в firewalld (8080, 8090, 2022).
- Настроить SSL в конфиге /etc/sftpgo/sftpgo.json.
- Создать администратора через веб-интерфейс.
- Создать группы и пользователей.
- Подключаться через FileZilla (SFTP), WebClient (HTTPS) и WebDAV.
Установка sFTPGo через DNF
sFTPGo предоставляет репозиторий для нескольких дистрибутивов. На Rocky Linux удобно добавить репозиторий и установить пакет через DNF.
Добавьте репозиторий и обновите кэш:
ARCH=`uname -m`
curl -sS https://ftp.osuosl.org/pub/sftpgo/yum/${ARCH}/sftpgo.repo | sudo tee /etc/yum.repos.d/sftpgo.repo
sudo dnf updateУстановите пакет:
sudo dnf install sftpgoКогда появится запрос подтверждения — введите Y и нажмите Enter.

Если запросит подтверждение ключей GPG — подтвердите.

Запустите и включите сервис:
sudo systemctl start sftpgo
sudo systemctl enable sftpgoПроверьте статус:
sudo systemctl status sftpgo
Важно: имена сервисов должны совпадать с установленным пакетом. Обычно это sftpgo.
Установка через RPM
Если вы предпочитаете загружать RPM вручную, можно скачать последнюю сборку с релизов GitHub.
Получите последнюю версию и скачайте пакет:
VER=$(curl -s https://api.github.com/repos/drakkan/sftpgo/releases/latest | grep tag_name | cut -d '"' -f 4 | sed 's/v//g')
wget https://github.com/drakkan/sftpgo/releases/download/v$VER/sftpgo-$VER-1.x86_64.rpmУстановите RPM:
sudo rpm -Uvh sftpgo-$VER-1.x86_64.rpmВы увидите вывод установки в терминале.

Запустите и включите сервис:
sudo systemctl enable sftpgo
sudo systemctl start sftpgoПроверьте статус:
sudo systemctl status sftpgo
Открытие портов в firewalld
sFTPGo использует несколько портов для разных протоколов. Откройте их в firewalld:
- HTTP/HTTPS административный интерфейс: 8080/TCP
- SFTP (SSH-based): 2022/TCP
- WebDAV (HTTPS): 8090/TCP
Выполните команды:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8090/tcp
sudo firewall-cmd --permanent --add-port=2022/tcp
sudo firewall-cmd --reloadПроверьте добавленные порты:
sudo firewall-cmd --list-portsВы должны увидеть 8080/tcp 8090/tcp 2022/tcp в списке.

Важно: если у вас включен облачный брандмауэр (например, в провайдере), откройте те же порты и там.
Настройка sFTPGo и SSL
Примерный основной конфигурационный файл — /etc/sftpgo/sftpgo.json. В нём включаются службы webdavd и httpd, указываются пути до сертификатов и порты.
Откройте файл в редакторе:
sudo nano /etc/sftpgo/sftpgo.jsonПо умолчанию SFTP работает на порту 2022. Чтобы включить WebDAV на 8090 и HTTPS-админку на 8080, найдите секции webdavd и httpd и установите параметры примерно так:
"webdavd": {
"bindings": [
{
"port": 8090,
"address": "",
"enable_https": true,
"certificate_file": "/etc/letsencrypt/live/sftp.your-domain/fullchain.pem",
"certificate_key_file": "/etc/letsencrypt/live/sftp.your-domain/privkey.pem",
"min_tls_version": 12,
"client_auth_type": 0
}
],и
"httpd": {
"bindings": [
{
"port": 8080,
"address": "",
"enable_web_admin": true,
"enable_web_client": true,
"enabled_login_methods": 0,
"enable_https": true,
"certificate_file": "/etc/letsencrypt/live/sftp.your-domain/fullchain.pem",
"certificate_key_file": "/etc/letsencrypt/live/sftp.your-domain/privkey.pem",
"min_tls_version": 12,
"client_auth_type": 0,
"hide_login_url": 0,
"render_openapi": true
}
],Замените пути к сертификатам на ваши. В примере используется Let’s Encrypt и каталог /etc/letsencrypt.
Сохраните файл и перезапустите сервис:
sudo systemctl restart sftpgoПроверяйте логи systemd, если служба не стартует:
sudo journalctl -u sftpgo -fСовет: убедитесь, что файлы сертификатов доступны от имени пользователя, под которым работает sFTPGo.
Создание администратора и начальная настройка через веб-интерфейс
Откройте браузер и перейдите на https://<ваш-домен>:8080. На первом экране система предложит создать администратора.
Пример URL: https://sftp.your-domain:8080/web/admin
Введите логин и пароль администратора и создайте учётную запись.

После входа вы увидите панель администратора.

Создание групп и пользователей
- Перейдите в раздел Groups.
- Нажмите New Group и задайте имя, например manager. Здесь же можно ограничить квоты и пропускную способность.

- Перейдите в раздел Users и создайте пользователя alice, присвойте ему группу manager и задайте домашнюю директорию.

- Проверьте список пользователей.

Подключение по SFTP через FileZilla
Настройка клиента FileZilla:
- Protocol: SFTP - SSH File Transfer Protocol
- Host: sftp.your-domain
- Port: 2022
- Logon Type: Normal
- User: alice
- Password: <пароль>
Нажмите Connect. При первом подключении вы увидите предупреждение о ключе сервера — подтвердите.


После подключения вы можете загружать файлы.

Доступ через sFTPGo WebClient
WebClient работает по HTTPS на 8080. Прямой путь для клиентов обычно: https://sftp.your-domain:8080/web/client/login
Войдите под пользователем alice и загрузите/скачайте файлы прямо из браузера.


WebClient поддерживает 2FA и шаринг ссылок между пользователями.
Подключение через WebDAV
Используйте файловый менеджер: Windows Explorer, macOS Finder или любой файловый менеджер Linux (Nautilus, Dolphin, Thunar).
Пример URL: davs://sftp.your-domain:8090/
Выберите secure WebDAV (davs) и введите учётные данные alice.

Введите логин и пароль:

После подключения вы увидите сетевое расположение с файлами.

Критерии приёмки
- Сервис sftpgo запущен и активен: systemctl status sftpgo.
- Порты 8080, 8090 и 2022 открыты в системном и облачном брандмауэрах.
- HTTPS работает для httpd и webdavd, сертификаты корректны.
- Админ-панель доступна и создан администратор.
- Пользователь может подключиться по SFTP и WebDAV и загрузить файл.
Тесты приёмки и контрольные случаи
Минимальный набор тестов:
- Тест 1: Подключение через SFTP (порт 2022) — успешный логин и загрузка файла.
- Тест 2: Вход в WebClient (порт 8080) — доступ к списку файлов и загрузка.
- Тест 3: Подключение по WebDAV (порт 8090) — просмотр и копирование файла.
- Тест 4: Проверка SSL — отсутствие предупреждений о сертификате для домена.
- Тест 5: Негативный сценарий — блокировка неверного пароля после N попыток (если настроено).
Рекомендации по безопасности
- Всегда ставьте TLS 1.2 или 1.3 и отключайте старые версии TLS/SSL.
- Используйте современные наборы шифров и отключите слабые алгоритмы.
- Ограничьте доступ по IP для административной панели, если возможно.
- Включите двухфакторную аутентификацию для админов и важных пользователей.
- Логируйте события и отправляйте их в централизованный хранилище логов.
- Настройте брутфорс-защиту (fail2ban или аналог).
- Ограничьте права для домашней директории пользователей и не давайте root-доступ к файлам.
Жёсткое усиление безопасности — чек-лист для админа
- TLS 1.3 или минимум TLS 1.2 включён.
- Сертификаты автоматически обновляются (certbot + systemd timer).
- Админ-панель доступна только по HTTPS и ограничена по IP.
- 2FA включён для всех админов.
- Логи пересылаются на удалённый лог-сервер.
- fail2ban настроен по логам sFTPGo.
- Периодические аудиты прав и квот пользователей.
Альтернативные подходы и когда sFTPGo не подходит
Когда выбрать другое решение:
- У вас миллион мелких подключений в секунду — возможно, нужен специализированный масштабируемый объектный шлюз (Nginx + S3 proxy или CDN).
- Нужна tight интеграция с существующей LDAP/AD без поддержки в sFTPGo — рассмотрите серверы с расширенной поддержкой LDAP или проксирование через PAM.
- Требуется поддержка старого нешифрованного FTP в закрытой сети — используйте специализированные FTP-серверы, но помните о рисках.
Альтернативы:
- vsftpd/ProFTPD — классические FTP-серверы.
- FileBrowser, Nextcloud — если нужен полный веб-интерфейс для совместной работы.
- S3-native решения (MinIO) — если вы целиком хотите объектное хранилище.
Модель принятия решений (heuristic)
Если цель — безопасный, лёгкий в управлении сервер с поддержкой SFTP, WebDAV и веб-клиента, выбирайте sFTPGo. Если приоритет — масштабирование объектов или tight интеграция с корпоративным SSO, проверьте альтернативы.
Миграция и совместимость
- Для перехода с локальной FS на облачный бэкенд (S3/GCS/Azure) протестируйте синхронизацию и производительность на отдельной стадии.
- Проверьте ограничение на размер файлов и время отклика при использовании облачных бекендов.
- При переключении БД (SQLite → PostgreSQL) выполните бэкап и миграцию конфигурации согласно документации sFTPGo.
Роль‑ориентированные чек‑листы
Администратор:
- Установить и запустить сервис.
- Настроить SSL и firewall.
- Создать админа и группы.
DevOps:
- Описать деплой в Ansible/Terraform.
- Настроить мониторинг и alerting.
Пользователь:
- Получить учётную запись.
- Подключиться через SFTP/WebClient/WebDAV.
Факты и ключевые числа
- Порты по умолчанию: 2022 (SFTP), 8080 (httpd), 8090 (webdavd).
- Поддерживаемые СУБД: SQLite (по умолчанию), PostgreSQL, MariaDB/MySQL.
- Бэкенды хранения: локальная FS, S3, Google Cloud Storage, Azure Blob.
Мини‑методология развертывания (4 шага)
- Подготовка: выделите домен, получите сертификаты, убедитесь в доступности портов.
- Установка: DNF или RPM, запуск сервиса.
- Конфигурация: настроить /etc/sftpgo/sftpgo.json, SSL, firewall.
- Проверка: создать админа, пользователей, выполнить тесты SFTP/WebDAV/HTTPS.
Примеры конфигураций и сниппеты
- Перезапуск и проверка логов:
sudo systemctl restart sftpgo
sudo journalctl -u sftpgo -f- Автоматическое обновление сертификатов (certbot example):
sudo certbot --nginx -d sftp.your-domain
# или certbot certonly для ручной конфигурацииТехнические сценарии восстановления и отката
Если новая конфигурация не стартует:
- Откатите /etc/sftpgo/sftpgo.json к рабочей версии (из бэкапа).
- Перезапустите sftpgo и проверьте логи: sudo journalctl -u sftpgo -b.
- Если проблема в сертификате — временно отключите enable_https и перезапустите сервис для диагностики.
Короткая заметка о конфиденциальности и данных
- Обработку персональных данных и файлы пользователей храните в соответствии с политикой вашей организации и локальным законодательством.
- При использовании облачных бэкендов проверьте соглашения об обработке данных и шифрование на стороне хранилища.
Сопроводительная терминология (1‑строчная)
- SFTP: защищённый протокол передачи файлов поверх SSH.
- WebDAV: расширение HTTP для работы с файловыми ресурсами по сети.
- httpd (в sFTPGo): встроенный веб-сервер для панели управления и WebClient.
Социальные превью и анонс
OG заголовок: Быстрая настройка sFTPGo на Rocky Linux OG описание: Подробный пошаговый гайд по установке sFTPGo с SSL, WebDAV и примерами подключения по SFTP.
Короткий анонс (100–200 слов):
Запустите защищённый файловый сервер на Rocky Linux за 10–20 минут. В этом руководстве показаны оба способа установки sFTPGo (DNF и RPM), конфигурация сертификатов Let’s Encrypt для HTTPS и WebDAV, открытие портов в firewalld и создание пользователей через веб‑панель. Приведены тесты приёмки, рекомендации по безопасности, чек‑листы для администраторов и сценарии отката. Подходит для небольших команд и внутренних сервисов, где требуется удобный веб‑клиент и поддержка SFTP/WebDAV одновременно.
Заключение
Вы установили и настроили sFTPGo на Rocky Linux, открыли необходимые порты, подключили SSL и создали пользователей. Теперь у ваших пользователей есть выбор: SFTP через FileZilla, WebClient через браузер и WebDAV в проводнике. Дополнительно проверьте рекомендации по безопасности и настройте мониторинг для стабильной эксплуатации.
Важно: регулярно обновляйте sFTPGo и системные пакеты, и проверяйте сертификаты на срок действия.
Похожие материалы
Herodotus: механизм и защита Android‑трояна
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить