Как настроить FTP и SFTP
Для передачи файлов на сервер чаще всего используют протоколы передачи данных FTP (File Transfer Protocol) и SFTP (SSH File Transfer Protocol). SFTP безопасней в отличие от FTP: FTP не умеет шифровать свой трафик, передачи идут открытым текстом — все данные (имена пользователей, пароли, команды и т.д.) могут быть перехвачены и прочитаны. SFTP же предоставляется с большинством реализаций Secure Shell или SSH — протокола, который для аутентификации пользователя использует криптографию и шифрует любые соединения между двумя компьютерами. Про настройку SSH мы подробно написали в статье «Как подключиться к серверу по SSH?».
SFTP больше отвечает современным требованиям безопасности, но FTP остается более популярным среди пользователей. В статье мы рассмотрим, как правильно пользоваться FTP и как настроить SFTP, если вы хотите исключить как можно больше «пробоин» в безопасности ваших данных.
Как сделать FTP безопасней
Протокол разработан еще в 1971 году, и с тех пор стал самым привычным способом работы с файлами на сервере. Его поддерживают все современные браузеры, существует множество клиентов для подключения к серверу по FTP. Он очень удобен и прост в настройке.
Однако при всех его достоинствах, отсутствие шифрования при передаче данных — серьезный недостаток, из-за которого использовать его не рекомендуется. Но, если обойтись без FTP по каким-то причинам не получается, следуйте советам специалистов по информационной безопасности:
- используйте FTP-подключение только в проверенных сетях, избегайте публичных Wi-Fi точек
- регулярно проверяйте на вирусы устройства, которые используются для работы по FTP. Так вы избежите перехвата FTP-доступов троянскими программами
- не сохраняйте доступы в вашем FTP-клиенте
- регулярно меняйте пароль FTP-пользователя
- если FTP нужен вам нерегулярно, лучше включать его по надобности. Сделать это можно через ISPmanager — Службы
- если вы предоставляете доступ по FTP другому человеку, создайте нового FTP-пользователя и удалите, как только доступ этому пользователю станет не нужен.
- повысить безопасность можно с помощью ограничения через .ftpaccess. Для этого нужно создать файл .ftpaccess в домашнем каталоге FTP-пользователя и ограничить доступ, например по IP с адресом 5.5.5.5. Тогда подключиться по FTP можно будет только с этого IP:
limit all="" Allow from 5.5.5.5 Deny from All /limit
Эти меры снижают риски, но полностью их не исключают. Если вы хотите защитить данные сервера от перехвата, заражения вирусом и других неприятностей, используйте SFTP.
Настройка безопасного протокола SFTP
SFTP был разработан намного позднее FTP, в 2006 году. Он, также как и FTP, используется для копирования и других операций с файлами, но все это делается с использованием защищенного соединения на двух сторонах — клиентской и серверной.
По умолчанию SFTP использует протокол SSH, поэтому в SFTP доступны те же методы авторизации, что и в SSH.
Настройка в панели ISPmanager
Если для управления сервером вы используете ISPmanager, то создать пользователя с SFTP-доступом на сервер проблем не составит:
- перейдите в раздел «Учетные записи» — «Пользователи»,
- создайте нового или измените уже существующего пользователя,

- в настройках пользователя нужно дать доступ к shell:

В этом случае у пользователя будет доступ на сервер по обоим защищенным протоколам: SSH и SFTP. Нужно учитывать, что ISPmanager настраивает пользователей, ограничивая их доступ пользовательским каталогом, это значит, что у пользователя sftp_user будет доступ только в каталог /var/www/sftp_user/data и его подкаталоги.
Настройка через консоль
Если вы не используете панель ISPmanager, то работу SFTP можно настроить вручную. На наших VDS OpenSSH устанавливается по умолчанию (справедливо для серверов с операционными системами linux установленных из наших шаблонов). Для того, чтобы включить sftp-server в sshd, необходимо указать его в конфигурационном файле /etc/ssh/sshd_config в качестве подсистемы:
Subsystem sftp /usr/lib/openssh/sftp-server
Как правило, это строка уже указана в конфигурационном файле sshd по умолчанию, так что SFTP работает сразу и не требует никаких дополнительных действий для включения. SSH и SFTP (по умолчанию) работают на 22 порте, поэтому подключаться по sftp, также как и по ssh нужно через 22 порт (порт можно изменить в конфигурационном файле /etc/ssh/sshd_config).
Для подключения можно использовать разные приложения, например, FileZilla. Для подключения нужно указать хост, имя пользователя, пароль и порт на котором работает SFTP.

Изначально доступ будет только для пользователя root. Чтобы настроить работу других пользователей на SFTP нужно:
- cоздать пользователя, под которым будем подключаться по sftp:
useradd -d /dev/null -M -s /bin/bash sftp_user
- установить пароль для пользователя:
passwd sftp_user
- создать каталог и настроить права на каталог для этого пользователя:
mkdir /var/www/sftp_user chmod 755 /var/www/sftp_user chown sftp_user:sftp_user /var/www/sftp_user
- в конце конфигурационного файла sshd добавить настройку для пользователя:
Match User user X11Forwarding no AllowTcpForwarding no AllowAgentForwarding no PermitTunnel no ForceCommand internal-sftp ChrootDirectory /var/www/
ChrootDirectory нужно указывать на каталог выше того, который будет использовать пользователь, так как владельцем этой папки должен быть root и у других пользователей не должно быть прав на запись. - перезапускаем SSH сервер:
service sshd restart
SFTP-пользователь создан. Используя его, вы сможете управлять файлами на сервере, не беспокоясь о безопасности данных. Если у вас возникнут сложности с настройкой, обращайтесь в нашу службу поддержки. Мы поможем.
Комментарии
Отправить комментарий