Рейтинг:0

Отслеживание FTP-соединения iptables не работает

флаг bj

Я надеюсь, что кто-то может указать мне правильное направление здесь, пожалуйста.

Запуск proftpd (с поддержкой tls) на общедоступном IP-адресе.

FTP-клиент подключается, но не может вывести список каталогов. Когда я меняю политику «INPUT» в iptables на ACCEPT, она работает.

Ниже приведены мои соответствующие правила iptables:

$IPTABLES -A INPUT -i eno1 -s 0/0 -d x.x.x.x -p tcp --sport 1024:65535 -m multiport --dports 20,21,989,990 -m state --state NEW, ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d x.x.x.x --dport 1024:65535 -m состояние --состояние УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ

У меня включены модули connection_tracking.

сервер ~ # lsmod | grep nf_conntra
nf_conntrack_ftp 24576 3
nf_conntrack 176128 8 xt_conntrack, nf_nat, xt_state, xt_nat, xt_helper, nf_conntrack_ftp, xt_CT, xt_MASQUERADE
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 2 nf_conntrack, nf_nat

У меня также включен nf_conntrack_helper в /proc

сервер ~ # cat /proc/sys/net/netfilter/nf_conntrack_helper
1
Alex avatar
флаг us
Работает в пассивном режиме? Обратите внимание, что в активном режиме соединения инициируются не на тот же сокет, а на другой порт... См. https://superuser.com/questions/729876/connection-to-filezilla-ftp-server-works-but-directory- listing-fails и https://www.moreofless.co.uk/ftp-connects-no-directory-listing-command-passive/#:~:text=If%20you%20are%20able%20to,ftp%3E% 20пассивный%20пассивный%20режим%20вкл.
Robert Schmitt avatar
флаг bj
Он не работает в активном или пассивном режиме с TLS, однако он работает, если я отключу шифрование.
Рейтинг:1
флаг eg

proftpd (с поддержкой tls)

Эта поддержка TLS, вероятно, является виновником.

Обычно в интеллектуальном брандмауэре, когда вы разрешаете FTP, вам нужно открыть порт для управляющего соединения, TCP 21, а затем, в открытом протоколе FTP, модули conntrack могут сканировать и обнаруживать ПОРТ отклик. Вспомогательный модуль FTP conntrack затем автоматически откроет номер порта, назначенный FTP-сервером этому конкретному клиенту, как связанный, что позволит отказаться от детального контроля доступа.

Когда соединение зашифровано с помощью TLS, брандмауэр больше не может обнаруживать ответ PORT и, следовательно, не может автоматически открывать назначенный порт. Решение для этого:

  • исправить диапазон портов, которые FTP-сервер будет использовать для пассивных подключений к небольшому диапазону
    PassivePorts min-pasv-port max-pasv-port

  • в вашем брандмауэре откройте порт 21 и этот фиксированный диапазон портов для подключения к данным

Robert Schmitt avatar
флаг bj
Спасибо, это имеет смысл. По крайней мере, я понимаю, что происходит!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.