Блог ИТ склеротика. Настройка TLS в vsftpd

Страницы

Расширенный поиск в статьях блога

24 мая 2012 г.

Настройка 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.
# /usr/bin/openssl req -x509 -nodes -days 3065 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

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

Настройка vsftpd


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

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

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

Указать расположение файла, содержащего сертификат и закрытый RSA-ключ:
rsa_cert_file=/etc/vsftpd/vsftpd.pem

На этом всё. Осталось перезапустить vsftpd. В FreeBSD:
# /usr/local/etc/rc.d/vsftpd restart

В Debian/Fedora:
# service vsftpd restart

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

TLS FTP-клиенты


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


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

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


.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free