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

FTP через TLS с несколькими сайтами, размещенными на одном сервере

Можно ли использовать FTP через TLS на сервере, на котором размещено несколько веб-сайтов (доменов)?

Я могу получить сертификаты для любого из доменов, но проблема в том, что я не могу узнать, к какому домену подключается пользователь со своего клиента. Поэтому я не знаю, какой сертификат отправить FTP-клиенту. Я знаю, что после того, как он отправит пользователя и пароль, но не раньше, поэтому я не могу установить безопасное соединение на этапе запуска FTP-сервера.

Есть ли способ обойти это?

В самом FTP нет понятия имени хоста. Теоретически клиент может отправить ожидаемое имя хоста внутри подтверждения TLS как расширение имени_сервера (SNI) в ClientHello. Таким образом, сервер может решить, какой сертификат отправить. Но хотя это обычное дело для HTTP, я сомневаюсь, что все FTP-серверы и клиенты поддерживают его. Беглый поиск показывает, что последние версии сервера ProFTPd и клиента FileZilla должны его поддерживать.

Конечно, вы также можете предоставить FTP-сервер с фиксированным именем хоста, а затем иметь домашние каталоги и учетные данные для конкретного домена. Таким образом, он будет работать с любым сервером или клиентом и даже без TLS (не рекомендуется).