Инструкция по настройке FTP-сервера
Она доступна на тарифах: Свободный, Корпорация, Максимальная, Эксклюзивная, Индивидуальная.
Настройка в Личном Кабинете
Подключение производится в Личном Кабинете в разделе Виртуальная АТС – Запись разговоров – Настройки - Способ Хранения• IP-адрес или доменное имя – здесь необходимо ввести имя или IP-адрес FTPсервера. Поле является обязательным для заполнения.
• Порт – порт для ftp сервера, значение по умолчанию: 21. Поле является
обязательным для заполнения.
• Учетная запись - имя пользователя для доступа к ftp-серверу. Поле является
обязательным для заполнения.
• Пароль – пароль доступа к ftp-серверу.Поле является обязательным для
заполнения.
• Режим работы ftp – допустимые варианты FTP, SFTP, FTPS.
• Каталог на ftp-сервере для сохранения записей разговоров.
Кнопка "Проверить подключение" - по клику на кнопке выполняется проверка доступа
к ftp серверу.
Настройка FTP-сервера
Общие рекомендации
Общие рекомендации:
- выбирать ПО в соответствии с компетенциями сотрудников, которые будут осуществлять настройку и тех. поддержку FTP/FTPS/SFTP-сервера - это позволит решать возникающие вопросы оперативно;
- в случае, если необходима работа (чтение/запись) с большим объемом данных, то следует применять на сервере SSD диски;
- добавить мониторинг за машиной, на которой развернут FTP/FTPS/SFTP-сервер - это позволит предупреждать появление проблем, а не устранять их.
Особенности работы протокола FTP
Требования к FTP-серверу:
- настроен для работы в пассивном режиме;
- настроена передача данных по сети в бинарном режиме представления данных;
- аутентификация по логину и паролю (анонимное подключение запрещено);
- в случае большого количества звонков, которые пишутся на FTP-сервер, рекомендуется использовать на сервере SSD диски с выполнением backup-ов записей разговоров на резервный сервер.
Требования к FTPS-серверу:
- настроен для работы в пассивном режиме;
- настроена передача данных по сети в бинарном режиме представления данных;
- аутентификация по логину и паролю (анонимное подключение запрещено);
- подключение к FTPS должно быть настроено с явной авторизацией используя TLS протокол;
- в конфигурации FTPS необходимо отключить ssl session reuse;
- в случае большого количества звонков, которые пишутся на FTP-сервер, рекомендуется использовать на сервере SSD диски с выполнением backup-ов записей разговоров на резервный сервер.
Требования к SFTP-серверу:
- аутентификация по логину и паролю;
- в случае большого количества звонков, которые пишутся на FTP-сервер, рекомендуется использовать на сервере SSD диски с выполнением backup-ов записей разговоров на резервный сервер.
Далее приведены примеры организации FTP, SFTP и FTPS сервера на базе операционных систем Centos7 и Windows.
Сервер FTP
1. Порядок настройки vsftpd на операционной системе Centos7
vsftpd - один из наиболее популярных FTP-серверов для Linux. Он является FTP-сервером по умолчанию многих операционных систем, и обслуживает официальные репозитории ftp.debian.org, ftp.redhat.com, ftp.openbsd.org, ftp.freebsd.org. Также используется на официальном FTP ядра Linux (см. раздел "vsftpd" в википедии).
1.1. Настройка безопасного FTP-сервера
- завести нового пользователя
useradd -s /sbin/nologin имя_пользователя
- установить пароль для нового пользователя
passwd имя_пользователя
- установить сервер vsftpd
yum update
yum install vsftpd
- заменить содержимое файла /etc/vsftpd/vsftpd.conf на следующее:
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# sockets, you must run two copies of vsftpd with two configuration files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=NO
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_enable=YES
# Uncomment this to enable any form of FTP write command.
write_enable=YES
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
# Some parameters might not be necessary for your own setup.
# If you want the chroot environment to be writable you will
# need to add the following to the configuration file
allow_writeable_chroot=YES
# Pam service name for vsftpd
pam_service_name=vsftpd
# It may be necessary to adjust the default FTP listening port and the passive mode data ports:
# For FTP servers exposed to the web, to reduce the likelihood of the server being attacked,
# the listening port can be changed to something other than the standard port 21.
# To limit the passive mode ports to open ports, a range can be provided.
# The ports can be defined in the configuration file as illustrated below
pasv_enable=YES
pasv_min_port=49000
pasv_max_port=55000
# It\'s possible to prevent users from logging into the FTP server by adding two lines to /etc/vsftpd.conf
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
# If you only want to allow certain users to login, add the line
userlist_deny=NO
user_config_dir=/etc/vsftpd/users/
- в конец файла /etc/vsftpd/user_list добавить строку (или создать файл и добавить в него строку):
имя_пользователя
- создать файл /etc/vsftpd/users/имя_пользователя со следующим содержимым
local_root=путь_к_директории_с_файлами
dirlist_enable=YES
download_enable=YES
write_enable=YES
В параметре local_root хранится путь, по которому будут записываться файлы.
- перезапустить sftpd сервер командой:
systemctl restart vsftpd.service
Особенности данного вида настройки:
- пользователь имеет права на работу только с директорией, которая указана в настройке local_root в файле /etc/vsftpd/users/имя_пользователя (см. выше). Другие директории на сервере для пользователя недоступны;
- настройка base_dir в ЛК работает относительно директории, которая указана в настройке local_root в файле /etc/vsftpd/users/имя_пользователя (см. выше). Полный путь на сервере будет следующий: local_root + base_dir. В случае, если значение настройки base_dir не задано, файлы будут записываться директорию , которая указана в настройке local_root в файле /etc/vsftpd/users/имя_пользователя (см. выше).
1.2 Небезопасная настройка FTP-сервера
- завести нового пользователя
useradd -s /sbin/nologin имя_пользователя
- установить пароль для нового пользователя
passwd имя_пользователя
- установить сервер vsftpd
yum update
yum install vsftpd
- заменить содержимое файла /etc/vsftpd/vsftpd.conf на следующее:
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# sockets, you must run two copies of vsftpd with two configuration files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=NO
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_enable=YES
# Uncomment this to enable any form of FTP write command.
write_enable=YES
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=NO
# Some parameters might not be necessary for your own setup.
# If you want the chroot environment to be writable you will
# need to add the following to the configuration file
allow_writeable_chroot=YES
# Pam service name for vsftpd
pam_service_name=vsftpd
# It may be necessary to adjust the default FTP listening port and the passive mode data ports:
# For FTP servers exposed to the web, to reduce the likelihood of the server being attacked,
# the listening port can be changed to something other than the standard port 21.
# To limit the passive mode ports to open ports, a range can be provided.
# The ports can be defined in the configuration file as illustrated below
pasv_enable=YES
pasv_min_port=49000
pasv_max_port=55000
# It\'s possible to prevent users from logging into the FTP server by adding two lines to /etc/vsftpd.conf
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
# If you only want to allow certain users to login, add the line
userlist_deny=NO
user_config_dir=/etc/vsftpd/users/
- перезапустить sftpd сервер командой:
systemctl restart vsftpd.service
Особенности данного вида настройки:
- пользователю для работы (создание/обновление/чтение/удаления) доступны все директории на сервере, кроме директорий которые ему запрещены правами операционной системы;
- настройка base_dir в ЛК работает относительно корневой директории сервера. В случае, если значение настройки base_dir не задано, файлы будут записываться в домашнюю директорию пользователя /home/имя_пользователя;
- в случае, если настройка base_dir в ЛК присутствует, то директория, которая в ней указана, должна быть создана заранее с помощью пользователя с правами root и для нее должен быть назначен владелец с именем пользователя имя_пользователя (создается выше).
2 Порядок настройки FileZilla Server на операционной системе Windows
FileZilla Server - один из наиболее популярных FTP-серверов для Windows.
Настройку можно выполнить на основании документации: https://filezilla.ru/documentation/
Сервер FTPS
Особенности настройки:
- Подключение к FTPS должно быть настроено с явной авторизацией используя TLS протокол.
- В конфигурации FTPS необходимо отключить ssl session reuse:
- для сервера vsftpd указать в файле конфигурации: require_ssl_reuse=NO;
- для сервера proftpd указать в файле конфигурации: NoSessionReuseRequired
2.1 Конфигурационный файл для сервера vsftpd
Подробности установки и настройки сервера vsftpd указаны в пункте 1.1 (раздел Сервер FTP).
Скачать конфигурационный файл vsftpd.
2.2 Конфигурационный файл для сервера proftpd
Скачать конфигурационный файл proftpd.
В случае возникновения ошибки при запуске сервера proftpd "error: no valid servers configured" необходимо выполнить команду
echo "ip hostname" >> /etc/hosts
2.3 Порядок настройки FileZilla Server на операционной системе Windows
FileZilla Server - один из наиболее популярных FTP-серверов для Windows.
Настройку можно выполнить на основании документации: https://filezilla.ru/documentation/
Сервер SFTP
Протокол SFTP был разработан как расширение SSH-2, предназначенное для операций с файлами по защищенному каналу.
3.1 Порядок настройки на операционной системе Centos7
Настройка SFTP сервера сводится к добавлению пользователей и настройке работы этих пользователей через SSH.
3.1.1 Безопасная настройка SFTP-сервера
- завести нового пользователя
useradd -s /sbin/nologin имя_пользователя
Подстрока -s /sbin/nologin означает, что у пользователя будет присутствовать возможность соединения по SFTP и отсутствовать возможность соединения по SSH.
- установить пароль для нового пользователя
passwd имя_пользователя
- добавить в конец файла /etc/ssh/sshd_config следующее строки:
Match User имя_пользователя
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
PermitTunnel no
ChrootDirectory /home
ForceCommand
internal-sftp -d /имя_пользователя
Папка, указанная в параметре ChrootDirectory, должна иметь владельца и группу “root: root” и привилегии на папку 755. Настройка ForceCommand internal-sftp -d /имя_пользователя принудительно перенаправляет пользователя в директорию /home/имя_пользователя при подключении. Пример команд для назначения папке владельца и группы “root: root” и привилегии на 755:
chown root:root /home
chmod 755 /home
- перезапустить sshd сервер:
systemctl restart sshd
Особенности данного вида настройки:
- пользователь имеет права на работу только с директорией /home/имя_пользователя (указана в качестве домашней директории пользователя при его создании). Другие директории на сервере для пользователя недоступны;
- настройка base_dir в ЛК работает относительно директории /home (указана в качестве параметра ChrootDirectory в файле конфигурации). Полный путь на сервере будет следующий: /home + base_dir. Таким образом, значение настройки base_dir обязательно должно начинаться с /имя_пользователя. В случае, если значение настройки base_dir не задано, файлы будут писаться в директорию /home/имя_пользователя.
3.1.2 Небезопасная настройка SFTP-сервера
- завести нового пользователя
useradd -s /sbin/nologin имя_пользователя
- установить пароль для нового пользователя
passwd имя_пользователя
- перезапустить sshd сервер:
systemctl restart sshd
Особенности данного вида настройки:
- пользователю для чтения доступны все директории на сервере (кроме home-директорий других пользователей);
- настройка base_dir в ЛК работает относительно корневой директории сервера. В случае, если значение настройки base_dir не задано, файлы будут записываться в домашнюю директорию пользователя /home/имя_пользователя;
- в случае, если настройка base_dir в ЛК присутствует, то директория, которая в ней указана, должна быть создана заранее с помощью пользователя с правами root и для нее должен быть назначен владелец с именем пользователя имя_пользователя (создается выше).
3.1.3 Настройка SFTP для пользователя с правами root
- завести нового пользователя
useradd -s /sbin/nologin -ou 0 -g 0 имя_пользователя
- установить пароль для нового пользователя
passwd имя_пользователя
- перезапустить sshd сервер:
systemctl restart sshd
Особенности данного вида настройки:
- пользователю для работы (создание/обновление/чтение/удаления) доступны все директории на сервере;
- настройка base_dir в ЛК работает относительно корневой директории сервера. В случае, если значение настройки base_dir не задано, файлы будут записываться в домашнюю директорию пользователя /home/имя_пользователя.
3.2 Порядок настройки OpenSSH на операционной системе Windows
Настройку можно выполнить с помощью статьи: https://docs.microsoft.com/ru-ru/windows-server/administration/openssh/openssh_install_firstuse