Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora

Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora

FTP —  протокол передачи файлов (способ передачи файлов) между локальным и удаленным серверам. Это самый популярный метод передачи файлов, но его перестают использовать из-за отсутствия безопасности.

Очень хорошая альтернатива — SFTP. Этот протокол реализует совместное использование файлов через SSH. Если вы хотите использовать FTP, вы должны по крайней мере обеспечить связь с SSL / TLS сертификатами.

По этому мануалу «Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora», я тестировал свою конфигурацию vsftpd с TLS/SSL сертификатами на CentOS 6.6 и CentOS 7.

Настройку с основными параметрами я описывал ранее в своей статье, вы можете ознакомится с нею тут:
Установка vsftpd на CentOS

В той статье очень подробно расписано использование данного FTP сервиса с различными опциями.

Может быть полезна еще следующая статья:
Скачивать и закачивать файлы по FTP используя консоль 

Настройка SSL с vsftpd

Первый шаг к получению полноценного  VSFTPD  — это работать с SSL, по этому, создадим сертификат SSL. Мы на самом деле будет использовать TLS (это тоже протокол), и он является преемником от SSL и более безопасный.

Мы создадим подкаталог внутри каталога SSL для хранения наших файлов:

$ sudo mkdir /etc/ssl/private

Создадим сертификат с ключем и поместим все в однин файл, для этого можно использовать следующую команду:

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Ответьте на вопросы, которые он просит. Наиболее важным из которых является «общее имя» («Common Name») вашего сервера, который будет иметь  IP-адрес или доменное имя и будет использоваться для дальнейшего подключения.

Добавить SSL в файла конфигурации VSFTPD 

Теперь мы должны изменить нашу конфигурацию и указать на новые ключи и настройки защищенного соединения.

Откройте файл конфигурации Vsftpd как root:

# vim /etc/vsftpd/vsftpd.conf

В нижней части файла добавляем  SSL/TLS. Мы должны указать расположение нашего сертификата и ключей. Мы на самом деле, используем 2 в 1 и используем все в одном файле, так что мы будем указывать оба варианта в том же файле:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Далее, нам необходимо разрешить использование данных файлов, так же стоит отключить анонимных пользователей в конфиге. Мы должны также прописать настройку на использование SSL для передачи данных и входе подпрограмм:

[...]
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
[...]

Далее, мы ограничиваем тип подключения к TLS, который более безопасен, чем SSL. Мы будем делать это явно позволяя использовать TLS и отрицая использовать SSL:

[...]
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
[...]

Добавим несколько настроек конфигурации:

[...]
require_ssl_reuse=NO
ssl_ciphers=HIGH
[...]

Сохраняем и закрываем данный конфигурационный файл.

Перезапускаем VSFTPD чтобы наши изменения применились:

# /etc/init.d/vsftpd restart

или

# service vsftpd restart

Также настраиваем его для автоматического запуска при каждой перезагрузке ОС:

# chkconfig vsftpd on

Все, сервер готов. На этом, моя тема «Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora» завершена.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.