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

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

Запуск 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 state --state ESTABLISHED,RELATED -j ACCEPT

У меня включены модули отслеживания соединения_.

server ~ # 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

server ~ # cat /proc/sys/net/netfilter/nf_conntrack_helper
1
0
задан 27 September 2021 в 10:25
1 ответ

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

Вероятнее всего, виновата поддержка TLS.

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

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

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

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

1
ответ дан 27 September 2021 в 10:55

Теги

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