Настройка сервера · 3 min read · Dec 14, 2025

Как настроить PureFTPd и FileZilla для использования TLS-сессий на CentOS 7.2

Эта статья объясняет, как настроить PureFTPd для принятия TLS-сессий на сервере CentOS 7.2. Обычный FTP является небезопасным протоколом, так как все пароли и данные передаются в открытом виде. Используя TLS, вся коммуникация может быть зашифрована, что делает FTP гораздо более безопасным.

1 Предварительная заметка

У вас должна быть рабочая установка PureFTPd на вашем сервере CentOS 7.2, например, как показано в этом руководстве: FTP-сервер с PureFTPd, MariaDB и виртуальными пользователями (включая управление квотами и пропускной способностью) на CentOS 7.2

2 Установка OpenSSL

TLS требует OpenSSL; чтобы установить OpenSSL, мы просто выполняем:

yum -y install openssl

3 Настройка PureFTPd

Откройте /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Если вы хотите разрешить FTP и TLS-сессии, установите TLS в 1:

[...]
# Эта опция может принимать три значения :
# 0 : отключить уровень шифрования SSL/TLS (по умолчанию).
# 1 : принимать как традиционные, так и зашифрованные сессии.
# 2 : отклонять соединения, которые не используют механизмы безопасности SSL/TLS,
#     включая анонимные сессии.
# Не _разкомментируйте_ это слепо. Убедитесь, что :
# 1) Ваш сервер был скомпилирован с поддержкой SSL/TLS (--with-tls),
# 2) Действительный сертификат установлен,
# 3) Только совместимые клиенты смогут войти.

TLS                      1
[...]

Если вы хотите принимать только TLS-сессии (без FTP), установите TLS в 2:

[...]
# Эта опция может принимать три значения :
# 0 : отключить уровень шифрования SSL/TLS (по умолчанию).
# 1 : принимать как традиционные, так и зашифрованные сессии.
# 2 : отклонять соединения, которые не используют механизмы безопасности SSL/TLS,
#     включая анонимные сессии.
# Не _разкомментируйте_ это слепо. Убедитесь, что :
# 1) Ваш сервер был скомпилирован с поддержкой SSL/TLS (--with-tls),
# 2) Действительный сертификат установлен,
# 3) Только совместимые клиенты смогут войти.

TLS                      2
[...]

Чтобы вообще не разрешать TLS (только FTP), установите TLS в 0:

[...]
# Эта опция может принимать три значения :
# 0 : отключить уровень шифрования SSL/TLS (по умолчанию).
# 1 : принимать как традиционные, так и зашифрованные сессии.
# 2 : отклонять соединения, которые не используют механизмы безопасности SSL/TLS,
#     включая анонимные сессии.
# Не _разкомментируйте_ это слепо. Убедитесь, что :
# 1) Ваш сервер был скомпилирован с поддержкой SSL/TLS (--with-tls),
# 2) Действительный сертификат установлен,
# 3) Только совместимые клиенты смогут войти.

TLS                      0
[...]

Затем уберите # перед следующими 2 строками:

TLSCipherSuite           HIGH  
CertFile                 /etc/ssl/private/pure-ftpd.pem

и сохраните измененный конфигурационный файл.

4 Создание SSL-сертификата для TLS

Чтобы использовать TLS, мы должны создать SSL-сертификат. Я создаю его в /etc/ssl/private/, поэтому сначала создаю этот каталог:

mkdir -p /etc/ssl/private/

После этого мы можем сгенерировать SSL-сертификат следующим образом:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Country Name (2 letter code) [XX]: <– Введите название вашей страны (например, “DE”).
State or Province Name (full name) []: <– Введите название вашего штата или провинции.
Locality Name (eg, city) [Default City]: <– Введите название вашего города.
Organization Name (eg, company) [Default Company Ltd]: <– Введите название вашей организации (например, название вашей компании).
Organizational Unit Name (eg, section) []: <– Введите название вашего структурного подразделения (например, “IT Department”).
Common Name (eg, your name or your server’s hostname) []: <– Введите полное доменное имя системы (например, “server1.example.com”).
Email Address []: <– Введите ваш адрес электронной почты.

Измените права доступа к SSL-сертификату:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Наконец, перезапустите PureFTPd:

systemctl restart pure-ftpd.service

Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента; однако вы должны настроить ваш FTP-клиент для использования TLS - смотрите следующую главу о том, как это сделать с FileZilla.

5 Настройка FileZilla для TLS

Чтобы использовать FTP с TLS, вам нужен FTP-клиент, который поддерживает TLS, например, FileZilla или плагин FireFTP для Firefox.

В FileZilla откройте Диспетчер сайтов:

FileZilla - Откройте диспетчер сайтов.

Выберите сервер, который использует PureFTPd с TLS; в выпадающем меню Тип сервера выберите Требовать явный FTP через TLS вместо обычного FTP:

Введите данные пользователя.

Теперь вы можете подключиться к серверу. Если вы делаете это в первый раз, вам нужно будет принять новый SSL-сертификат сервера, так как мы используем самоподписанный SSL-сертификат:

Принять ошибку SSL

Если все пройдет хорошо, вы должны быть теперь вошли на сервер:

Вход с TLS успешен.

6 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.