@TPAXEP64

Как заставить работать адекватно TLS в VSFTPD?

Приветствую, давеча появилась нужда в FTP хранилище с доступом из интернета. Организовать было решено все это дело на Ubuntu 18.04 при помощи VSFTPD. Настроив параметры в конфигурационном файле, выдав права пользователям, и открыв порты в маршрутизаторе и на Ubuntu (с 20го по 22й) мне удалось добиться должного результата. Пользователи присоединялись с виндоус при помощи filezilla и проводника и спокойно могли делать все что требуется. Однако! Т.к. серверу нужна защита был создан ключ для TLS, и активированы соответствующие режимы в конфигурационном файле. При применении настроек и проверке статуса было выявлено что все работает пучком, но при подключении с виндоуса принимает сертификат, но выдает ошибку "500 Illegal port". По сему возникает вопрос. Как исправить данное недоразумение?

Конфигурационный файл VSFTPD:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
---------------------------------------------------------------------------------
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 1
fara_ib
@fara_ib
Вот пример настроек, но у вас нет про pasv_enable=Yes pasv_min_port=10000 pasv_max_port=11000 и еще настройки iptables нужны открытые порты 10k-11k как в примере для пассивного соединения.
(FTP может работать как в активном режиме так и в пассивном.
В активном режиме клиент выполняет управляющее соединение с сервером, а
сервер выполняет соединение с клиентом для передачи данных.
В пассивном управляющее соединение и соединение для передачи данных
выполняет сам клиент.
Под управляющим соединением имеется ввиду аутентификация и передача команд.
Управляющее соединение выполняется клиентом в обеих случаях одинаково, со
стороны клиента с динамического TCP порта 1024-65535 на порт сервера 21.
В активном режиме после управляющего соединения от клиента, FTP-сервер
подключается к динамическому порту клиента 1024-65535 со своего TCP порта 20
для передачи данных.
В пассивном режиме после управляющего соединения от клиента, FTP-сервер
сообщает клиенту номер динамического TCP порта 1024-65535 к которому можно
подключится клиенту для передачи данных. )

listen=NO
listen_ipv6=YES
anonymous_enable=NO local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist userlist_deny=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

и в iptables
sudo service ufw status
If it's running and you are going to leave it running, you must allow incoming traffic for to FTP ports (20,21 for active connections and
10000-10100 for passive ones). To do so you can run:
sudo ufw allow from any to any port 20,21,10000:11000 proto tcp
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы