Proftpd на Debian - беспокоятся с передачей файлов

У меня есть арендованная WIEH VPS debian установленный. Недавно я установил proftpd, чтобы позволить доступ только для чтения всем и полному доступу для конкретных пользователей.

Я настроил proftpd (с TLS) согласно нескольким руководствам. Я разблокировал пассивные порты (они и порт 21 через iptables) и настроил анонимный вход в систему.

Когда я вхожу в систему, все в порядке - быстро входят в систему, быстро идя через директоров... проблема происходит, когда я пытаюсь загрузить файл - winscp/filezilla/python, все застревают при загрузке файла, и затем свободное соединение (файлы являются ~1kB, настолько очень маленьким). Когда я подключен через SFTP к серверу, у меня нет проблем и полной скорости.

Какие-либо идеи? Вам нужен мой proftpd.conf файл?

Обновление:

Я вижу, что должен добавить некоторую информацию благодаря первому комментарию (о SCP):

  • Я хотел бы смочь просмотреть файлы анонимно, лучше всего будет через веб-браузер, но это - n ot необходимость.
  • Я должен настроить приложение, которое синхронизирует целую папку от VPS с папкой на моем HDD (я планирую сделать это с помощью Python, но оболочка/удар хороша также),
  • Я хотел бы смочь загрузить/загрузить или целый каталог, или только они регистрируют, которые изменились
  • Мне нужно это, чтобы быть выполнимым без сторонних программ. Или через cmdline/bash или через официальные библиотеки Python. Потребности работать и над Windows и над Fedora

Моя iptables конфигурация:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:60000:65535
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Я выключил TLS, соединился с помощью гостевой учетной записи, включил режим двоичного счета и запустил tcpdump на порте 21 (отдел серверной стороны). Затем я сделал 'получение' на единственном файле, и через некоторое время я получил "Соединение, закрытое удаленным хостом". Вот вход ftp:

ftp> get light.cfg
200 PORT command successful
150 Opening BINARY mode data connection for light.cfg (94 bytes)
Connection closed by remote host.

и здесь Вы видите, добираются и connection_closed, разделенный новой строкой:

15:12:15.836468 IP (tos 0x0, ttl 119, id 30359, offset 0, flags [DF], proto TCP (6), length 67)
    83-144-76-138.static.chello.pl.54225 > vz31640.dahost.pl.ftp: Flags [P.], cksum 0x5526 (correct), seq 139:166, ack 575, win 7618, length 27
15:12:15.836636 IP (tos 0x0, ttl 64, id 50952, offset 0, flags [DF], proto TCP (6), length 69)
    vz31640.dahost.pl.ftp > 83-144-76-138.static.chello.pl.54225: Flags [P.], cksum 0x7049 (correct), seq 575:604, ack 166, win 115, length 29
15:12:15.856530 IP (tos 0x0, ttl 119, id 30360, offset 0, flags [DF], proto TCP (6), length 56)
    83-144-76-138.static.chello.pl.54225 > vz31640.dahost.pl.ftp: Flags [P.], cksum 0xd20f (correct), seq 166:182, ack 604, win 7589, length 16
15:12:15.868348 IP (tos 0x0, ttl 64, id 50953, offset 0, flags [DF], proto TCP (6), length 106)
    vz31640.dahost.pl.ftp > 83-144-76-138.static.chello.pl.54225: Flags [P.], cksum 0xba9a (correct), seq 604:670, ack 182, win 115, length 66
15:12:15.934002 IP (tos 0x0, ttl 119, id 30365, offset 0, flags [DF], proto TCP (6), length 40)
    83-144-76-138.static.chello.pl.54225 > vz31640.dahost.pl.ftp: Flags [.], cksum 0x0ccc (correct), ack 670, win 7523, length 0


15:13:15.909873 IP (tos 0x0, ttl 119, id 30372, offset 0, flags [DF], proto TCP (6), length 40)
    83-144-76-138.static.chello.pl.54225 > vz31640.dahost.pl.ftp: Flags [F.], cksum 0x0ccb (correct), seq 182, ack 670, win 7523, length 0
15:13:15.910056 IP (tos 0x0, ttl 64, id 50954, offset 0, flags [DF], proto TCP (6), length 40)
    vz31640.dahost.pl.ftp > 83-144-76-138.static.chello.pl.54225: Flags [F.], cksum 0x29ba (correct), seq 670, ack 183, win 115, length 0
15:13:15.922725 IP (tos 0x0, ttl 119, id 30373, offset 0, flags [DF], proto TCP (6), length 40)
    83-144-76-138.static.chello.pl.54225 > vz31640.dahost.pl.ftp: Flags [.], cksum 0x0cca (correct), ack 671, win 7523, length 0
1
задан 15 October 2015 в 16:21
1 ответ

. Опубликуйте свои настройки iptables . Обратите внимание, что заставить его работать с FTP может быть сложно, поскольку FTP использует динамическое распределение портов (в пассивном режиме, когда клиент хочет загрузить или загрузить файл, сервер выделяет динамический порт для потока передачи данных, сообщает его клиенту. и ожидает, что клиент подключится к нему).

Это означает:

  1. Если вы хотите использовать в Netfilter некий «отслеживающий состояние» подход для обнаружения потока данных FTP, вам необходимо загрузить специальный модуль ядра для декодирования управляющих потоков FTP. ;
  2. Это не будет работать с TLS, потому что ядро ​​не сможет декодировать указанные потоки управления FTP.

SCP (и SFTP) работают нормально, потому что они мультиплексируют потоки управления и данных в одном потоке TCP.

] Что касается синхронизации ... Во-первых, забудьте о scp , поскольку это устаревший протокол; вместо этого используйте SFTP. Это , похоже, кроссплатформенная реализация SFTP Python, поэтому она может работать на вас. Между прочим, Windows имеет хорошую поддержку интерфейсного программного обеспечения SFTP (Google для WinSCP).

И вы могли бы рассмотреть и другие средства синхронизации. Например, rsync имеет сборки Windows, и это, по всей видимости, лучший инструмент синхронизации файловой системы из существующих. Вы также можете подумать о WebDAV или даже реализовать что-то RESTful.

0
ответ дан 4 December 2019 в 07:04

Теги

Похожие вопросы