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

ProFTPD - Не удалось получить список каталогов при использовании TLS

У меня проблема с моим сервером ProFTPD.

Когда я пытаюсь подключиться к серверу с помощью TLS, я получаю тайм-аут после команды MLSD. Это происходит только когда я использую TLS - без него все работает отлично.

Я проверил эти логи:

proftpd.log - ПОЛЬЗОВАТЕЛЬ xxx: Вход выполнен успешно.

tls.log - соединение TLSv1 / SSLv3 принято ... Защита установлена ​​на частную

Где может быть проблема? Я могу предоставить больше информации, просто спросите о ней в комментариях.

РЕДАКТИРОВАТЬ: Сегодня я попытался установить для политики INPUT iptables значение РАЗРЕШИТЬ ... все сработало ... так что проблема в брандмауэре. Как мне настроить iptables для работы с FTPS?

Вот мои настройки iptables:

*filter
:INPUT DROP [930:61159]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [256:26448]
-A INPUT ! -i eth0 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport --dports 80,443,20,21,25,143,993,110,995,1194 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT

Проблема в том, что модуль conntrack_ftp, который на лету позволяет соединениям с данными ftp проходить через брандмауэр, даже если они должны быть отброшены из-за правил, не может анализировать зашифрованный поток для PASV/PORT команды. То же самое относится к невозможности использовать активный режим из-за межсетевого экрана / NAT с зашифрованным управляющим соединением.

Поэтому вам нужно установить статические порты для пассивного режима (или, если клиент не находится за брандмауэром / nat, используйте активный режим) и добавить правило брандмауэра для приема входящих подключений на этих портах.

Порты для пассивного режима устанавливаются через PassivePorts директива.

Изменить: я должен добавить, что количество PassivePorts не только ограничивает количество параллельных подключений, но также ограничивает количество подключений (чтение списков каталогов и / или передачи файлов) на net.netfilter.nf_conntrack_tcp_timeout_time_wait секунд. Поэтому, если вы переносите много небольших файлов, откройте много портов!