Настройка TLS в vsftpd






Помимо стабильности и высокой скорости работы vsftpd может предложить работу с использованием TLS для безопасного обмена данными с сервером. Используя TLS, вы сможете существенно обезопасить персональные данные ваших пользователей, если в том возникнет необходимость. Продолжая тему быстрого и надёжного FTP-демона для UNIX, в этой заметке мы с вами рассмотрим способ настройки vsftpd для работы с использованием TLS.



Как говорилось в предыдущей статье, файл конфигурации vsftpd в различных системах по умолчанию располагается в различных местах:

  • в FreeBSD — /usr/local/etc/vsftpd.conf
  • в Fedora — /etc/vsftpd/vsftpd.conf
  • в Debian — /etc/vsftpd.conf

Создание SSL-сертификата

Прежде чем vsftpd сможет функционировать в качестве TLS FTP-сервера, необходимо создать сертификат, содержащий необходимые данные для работы протокола TLS в том числе и закрытый ключ.  Сертификат мы будем создавать self-signed, хотя никто не мешает вам в случае необходимости использовать сертификат подписанный одним из доверенных центров сертификации.

Для генерации сертификата используется присутствующая практически во всех системах утилита openssl.

Обратите внимание на значение параметра -days, определяющее срок действия сертификата и выберите подходящий для вас вариант. И, естественно, не забудьте убедиться в правильности пути, где будете размещать файл сертификата. После ввода команды вам необходимо будет ответить на несколько вопросов касательно идентификационной информации ключа и в завершении вы получите готовый файл сертификата и закрытого ключа в указанном вами месте.

Настройка vsftpd

Теперь, когда сертификат и закрытый ключ готовы, можно переходить к настройке vsftpd. Откройте конфигурационный файл vsftpd.conf в вашем любимом текстовом редакторе и добавьте/измените параметры, описанные ниже.

Первым делом необходимо включить использование SSL:

Если необходимо, разрешить анонимным пользователям использовать SSL:

Указать расположение файла, содержащего сертификат и закрытый RSA-ключ:

На этом всё. Осталось перезапустить vsftpd. В FreeBSD:

В Debian/Fedora:

Конечно же, vsftpd обладает ещё массой параметров, управляющих настройкой TLS-соединений. Как правило, приведённых мной вполне достаточно для работы, оставив остальные в состоянии «по умолчанию». Если же вам требуется настроить TLS в vsftpd более тонко, вы можете обратиться к man-странице демона.

TLS FTP-клиенты

Теперь, когда всё настроено и сервер перезапущен, можно подключаться. Чтобы подключиться к FTP-серверу, используя TLS, необходимо чтобы ваш клиент имел поддержку этого протокола. Из консольных клиентов под UNIX/Linux рекомендую:

  • lftp — доступен в FreeBSD/Debian/Fedora
  • ftp-ssl — доступен в стандартных репозиториях Debian
  • ftp-tls — доступен в коллекции портов FreeBSD

Среди графических кроссплатформенных FTP-клиентов для работы с FTPS подойдут: