LINUX.ORG.RU
решено ФорумAdmin

VSFTPD загрузка файлов более 16 кб

 ,


0

1

Прошу помощи сообщества.

При загрузке файлов более 16 кб на сервер обрывается загрузка. Связка vsftp + filezilla.

В журнале сервера есть ошибка

FAIL UPLOAD: Client "IP", "/www/rewrite.php", 16384 bytes
Истинный размер файла более 42 кб. После ошибки на клиенте «Передача файла потерпела неудачу» filezilla пытается загрузить файл «rewrite.php» еще два раза, пытаясь перезаписать его, но соединение безуспешно закрывается.

cat /etc/vsftpd.conf
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
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
seccomp_sandbox=NO
allow_writeable_chroot=YES
pasv_min_port=50000
pasv_max_port=60000

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Загадочное в этой ситуации следующее - у меня проблема проявляется только на загрузке файлов с расширением php размером более 16 кб. Другие файлы более 16 кб загружаются успешно. Если отключить поддержку SSL файлы загружаются любые, и с любым размером.

Проблема известная https://forums.debian.net/viewtopic.php?f=5&t=145157 Решения ей не смог найти.

       ascii_download_enable
              When  enabled,  ASCII  mode  data  transfers will be honoured on
              downloads.

              Default: NO

       ascii_upload_enable
              When enabled, ASCII mode data  transfers  will  be  honoured  on
              uploads.

              Default: NO

Включи и проверь.

Anoxemian ★★★★★ ()
Последнее исправление: Anoxemian (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

Включи и проверь.

Безуспешно. Передача обрывается на 16 кб.

morkovkin ()

включение пассивного режима для vsftpd не помогает?

добавить в vsftpd.conf и убедиться, что коннекты на порты указанные в pasv_min_port-pasv_max_port разрешены.

pasv_enable=Yes

vel ★★★★★ ()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от morkovkin

tcpdump/wireshark в помощь.

Смотри с какой стороны закрывается соединение.

У тебя сервер и клиент в одной сети или между ними интернет?

vel ★★★★★ ()
Ответ на: комментарий от vel

Сервер и клиент разделены интернетом. Помогает только отключение ssl. Поэтому думаю что рубит какой-то файрвол в цепочке. Но как это узнать. Для меня tcpdump/wireshark это «темный лес», а тут еще и анализ ssl трафика. Он же зашифрован.

tcpdump На клиенте https://pastebin.com/YdCzwSdM На сервере https://pastebin.com/rY3tNgfv

morkovkin ()
Последнее исправление: morkovkin (всего исправлений: 1)
Ответ на: комментарий от morkovkin

анализировать ssl трафик не нужно. Нужно посмотреть от кого приходит reset tcp-соединению.

а ты не пробовал загрузить для проверки твой php-файл на virustotal.com ?

У клиента нет антивируса?

vel ★★★★★ ()
Ответ на: комментарий от vel

а ты не пробовал загрузить для проверки твой php-файл на virustotal.com ?

Так большинство файлов php не загружает. И всегда до 16 кб и обрыв! И к тому-же вирусов нет, проверял, но даже если и поместить вирус в исходник под ssl они же шифруются.

Клиент Linux mint desktop, без антивирусов. Загрузка на другие серверы этого файла проходит (проверял без SSL).

morkovkin ()
Последнее исправление: morkovkin (всего исправлений: 2)

Попробуй прописать в конфиг

strict_ssl_read_eof=NO (>= v2.0.7)

Старая бага, когда ftp не может корректно закрыть ssl соединение

CrazyAlex25 ★★ ()
Последнее исправление: CrazyAlex25 (всего исправлений: 1)
Ответ на: комментарий от morkovkin

16Кб - это размер буфера.

16:34:08.355643 IP pk.42705 > ip.hosting.com.50636: Flags [.], seq 17259:18707, ack 304, win 16652, options [nop,nop,TS val 1223297301 ecr 4221689624], length 1448

16:34:08.355894 IP ip.hosting.com.50636 > pk.42705: Flags [P.], seq 304:559, ack 1331, win 501, options [nop,nop,TS val 4221689624 ecr 1223297239], length 255

16:34:08.355942 IP pk.42705 > ip.hosting.com.50636: Flags [R], seq 1407228074, win 0, length 0

...

16:43:55.144552 eth0 In IP myip.telecom.com.59109 > ip-site.hosting.com.52926: Flags [.], seq 17259:18707, ack 304, win 16652, options [nop,nop,TS val 1223882014 ecr 4222274336], length 1448

16:43:55.144553 eth0 In IP myip.telecom.com.59109 > ip-site.hosting.com.52926: Flags [R], seq 1836939649, win 0, length 0

Соединение рвёт клиент.

Есть ли другой клиент, который умеет ftp ssl ?

filzilla не протухшей версии?

vel ★★★★★ ()
Ответ на: комментарий от vel

Спасибо Вам огромное! Установив поновее версию все заработало как нужно.

Виновником оказалась Filezilla (v 3.39), заменил на 3.52.2

Вопрос, как Вы определили (какие признаки в логах) что рвет связь клиент?

morkovkin ()
Последнее исправление: morkovkin (всего исправлений: 8)
Ответ на: комментарий от morkovkin

«Flags [R]» - tcp reset, такой пакет отправляется обычно при аварийном завершении соединения.

У тебя в обоих логах четко видно, что клиент посылает reset.

vel ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.