Назад | Перейти на главную страницу

Как узнать диапазон пассивных портов удаленного FTP-сервера

Есть ли способ узнать диапазон портов «пассивного» FTP-сервера, который не входит в мои полномочия. Диапазон можно установить в файле конфигурации. Например внутри vsftpd.conf :

pasv_min_port=25000
pasv_max_port=25500
#pasv_min_port=0
#pasv_max_port=0 (any port)

Поскольку я хочу применить брандмауэр OUTPUT (iptables) с очень ограниченным доступом на моем сервере терминалов Linux, мне нужно знать диапазон портов удаленного сервера. Поддерживает ли FTP предоставление информации о диапазоне портов, которую могут использовать клиенты?

Я также открыт для любых других возможных решений, кроме следующего, где я предполагаю, что IP-адрес сервера - 10.1.1.1:

-A OUTPUT -d 10.1.1.1 -j ACCEPT

Спасибо за ваш интерес...

С уважением

РЕДАКТИРОВАТЬ

Спасибо @ aaron-copley, @ martin-prikryl, @ user3590719

Ответ на главный вопрос: FTP не предоставляет клиентам диапазон пассивных портов.

Решение проблемы - загрузка модуля отслеживания соединений netfilter для FTP.

ip_conntrack_ftp (Module alias for CentOS/Red Hat : nf_conntrack_ftp)

Конфигурация рабочего примера для Red Hat 7:

/ и т.д. / sysconfig / iptables-config

IPTABLES_MODULES="nf_conntrack_ftp"

правила iptables

-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 10.1.1.1/32 -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -j DROP

Наконец, вручную загрузите модуль или перезапустите iptables.service.

Я нашел это в предыдущем ответе

Настройка Linux iptables для подключений в режиме FTP PASV

Это: https://major.io/2007/07/01/active-ftp-connections-through-iptables/

и это:

https://www.cyberciti.biz/tips/how-do-i-use-iptables-connection-tracking-feature.html

Во всех из них вы захотите использовать ip_conntrack_ftp и соответствующее правило в ваших правилах iptables, чтобы пассивные соединения оставались открытыми.

Пассивный диапазон портов публично не объявляется FTP-сервером.

Все, что вы можете сделать, - это автоматизировать параллельную передачу множества файлов на / с сервера и определить диапазон по портам, используемым для этих передач.