SFTP сервер на офшорном VPS: безопасная передача файлов
SFTP - проверенный временем протокол для безопасной передачи файлов поверх SSH. На офшорном VPS Anubiz Host SFTP сервер становится приватным каналом обмена данными между разработчиками, клиентами и системами автоматизации. Большой NVMe объём, безлимитный трафик, ключевая аутентификация и chroot для каждого пользователя.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Почему SFTP, а не FTP или FTPS
Классический FTP передаёт пароли и данные открытым текстом, что делает его непригодным для современного интернета. FTPS добавляет TLS-обёртку, но требует двух портов (управления и данных), плохо работает за NAT и сложно настраивается. SFTP полностью отличается: это подсистема SSH, работающая на одном порту 22 и наследующая всю безопасность SSH-протокола. Все команды и данные шифруются по умолчанию, аутентификация может быть по ключам или паролю, поддерживается chroot и ограничение возможностей пользователя. На VPS Anubiz Host достаточно стандартного OpenSSH-демона, чтобы получить SFTP-функциональность: дополнительные пакеты не нужны. Для production используется Match-блок в /etc/ssh/sshd_config, который для группы sftp-users включает ChrootDirectory, ForceCommand internal-sftp и запрещает PTY и проброс портов. Это превращает пользователя в изолированного SFTP-клиента без shell-доступа.
Развёртывание SFTP на VPS с chroot для каждого пользователя
Сценарий: вы хотите дать нескольким клиентам или партнёрам доступ к своим папкам без возможности видеть чужие файлы и без shell на VPS. В /etc/ssh/sshd_config добавляется группа sftp-users и Match-блок. Для каждого клиента создаётся Unix-пользователь, добавленный в группу sftp-users. Домашний каталог принадлежит root, а внутри него подкаталог files принадлежит пользователю. ChrootDirectory указывает на домашний каталог, что делает его корневой файловой системой для пользователя при подключении. ForceCommand internal-sftp превращает SSH-сессию в SFTP без возможности запустить bash. AllowTcpForwarding no и X11Forwarding no закрывают остальные возможности. На клиентской стороне используется любой SFTP-клиент: FileZilla, WinSCP, Cyberduck, Transmit или встроенный в Windows OpenSSH. Все они подключаются к стандартному порту 22 с ключом или паролем пользователя. Anubiz Host рекомендует использовать только ключевую аутентификацию и нестандартный SSH-порт (например, 2222) для основного администрирования VPS, оставив 22 для SFTP-клиентов или открыв SFTP на отдельном порту.
Шифрование, аудит и quota для SFTP-пользователей
SFTP-сессии шифруются стандартными SSH-шифрами (AES-256-GCM, ChaCha20-Poly1305) с обменом ключей через Curve25519 или ECDH. Аутентификация по ключам Ed25519 или RSA-4096 на порядки безопаснее паролей. Логи всех подключений и операций пишутся в /var/log/auth.log и /var/log/syslog. Для детального аудита включается LogLevel VERBOSE в sshd_config, что регистрирует имена закачиваемых и скачиваемых файлов. fail2ban мониторит auth.log и блокирует IP-адреса с подозрительной активностью. Quota для SFTP-пользователей настраивается через стандартные дисковые квоты Linux или через ZFS-датасеты с reservation и quota свойствами. На NVMe-дисках Anubiz Host квоты работают мгновенно и не влияют на производительность. Для критичных сценариев имеет смысл шифровать файлы на стороне клиента до загрузки через age или GPG, что обеспечивает дополнительный уровень защиты даже при компрометации VPS. Безлимитный трафик и большой объём NVMe позволяют использовать SFTP как полноценный backup-target или промежуточное хранилище для CI/CD пайплайнов.
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.