Гид по технологиям

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

• 5 min read • Серверы • Обновлено 25 Nov 2025
Настройка PureFTPd с TLS на CentOS 5.5
Настройка PureFTPd с TLS на CentOS 5.5

Версия 1.0
Автор: Falko Timme
Следите за автором в Twitter

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

FTP передаёт пароли и данные в открытом виде, поэтому без шифрования это небезопасно. TLS (Transport Layer Security) шифрует сеанс и делает передачу данных через FTP гораздо безопаснее. В этом руководстве показано, как настроить PureFTPd на CentOS 5.5 для приёма TLS-сессий.

Важно: у вас уже должна быть рабочая установка PureFTPd на CentOS 5.5. Например, используйте инструкцию «Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On CentOS 5.3», которая также применима к 5.5.

2 Установка OpenSSL

OpenSSL необходим для TLS. Установите его командой:

yum install openssl

3 Настройка PureFTPd

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

vi /etc/pure-ftpd/pure-ftpd.conf

Найдите параметр TLS и установите нужное значение:

  • 0 — отключить SSL/TLS (чистый FTP).
  • 1 — принимать как традиционные, так и зашифрованные сессии (совместимость).
  • 2 — принимать только защищённые сессии (отклонять незашифрованные).

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

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

Если хотите принимать только TLS-сессии, установите TLS в 2:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      2
[...]

Чтобы полностью отключить TLS и использовать только FTP, установите TLS в 0:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      0
[...]

Важно: перед принудительным включением TLS (значение 2) убедитесь, что все клиенты, использующие сервер, поддерживают TLS. Иначе вы потеряете доступ у тех, кто не умеет работать через TLS.

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

TLS требует сертификат. Часто сначала создают самоподписанный сертификат в /etc/ssl/private/:

mkdir -p /etc/ssl/private/

Сгенерируйте сертификат и приватный ключ в одном файле:

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) [GB]: <– Введите код страны, например DE State or Province Name (full name) [Berkshire]: <– Регион или область Locality Name (eg, city) [Newbury]: <– Город Organization Name (eg, company) [My Company Ltd]: <– Название организации Organizational Unit Name (eg, section) []: <– Отдел, например IT Common Name (eg, your name or your server’s hostname) []: <– FQDN сервера, например server1.example.com Email Address []: <– Адрес электронной почты

Защитите файл сертификата:

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

Перезапустите PureFTPd, чтобы применить изменения:

/etc/init.d/pure-ftpd restart

Теперь можно пробовать подключаться клиентом, настроенным на TLS.

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

Для работы через TLS нужен FTP-клиент с поддержкой TLS, например FileZilla.

Откройте Менеджер сайтов (Server Manager) в FileZilla. Выберите ваш сервер и в поле «Тип сервера» (Server Type) установите FTPES (FTP over explicit TLS) вместо обычного FTP.

Выбор FTPES в FileZilla: Менеджер сайтов

При первом подключении клиент спросит, принимать ли SSL-сертификат сервера — подтвердите, если вы доверяете серверу.

Подтверждение нового SSL-сертификата в FileZilla

После успешной проверки вы должны войти на сервер:

Успешная авторизация в FileZilla на PureFTPd с TLS

6 Когда это не работает

  • Клиент не поддерживает TLS.
  • Сертификат отсутствует, неверен или имеет неправильные права.
  • Сервер был собран без поддержки SSL/TLS.
  • Межсетевой экран или NAT мешают установке защищённого канала (особенно активный/пассивный режим FTP требует настройки портов).

Проверки:

  • Посмотрите лог PureFTPd на ошибки при старте.
  • Проверьте, что файл /etc/ssl/private/pure-ftpd.pem существует и имеет права 600.
  • Тестируйте с FileZilla (FTPES) и с другой машины, чтобы исключить локальные блокировки.

7 Альтернативные подходы

  • Использовать SFTP (SSH File Transfer Protocol) через OpenSSH вместо FTP+TLS — обычно проще в настройке, использует один порт (22) и более широко поддерживается.
  • Развернуть FTPS с сертификатом, выданным доверенным центром сертификации (CA), чтобы избежать предупреждений клиента.
  • Использовать VPN между клиентами и сервером, если TLS по каким-то причинам невозможен.

8 Быстрая методология проверки (mini-метод)

  1. Убедитесь, что PureFTPd собран с поддержкой TLS (–with-tls).
  2. Установите OpenSSL и создайте сертификат.
  3. Настройте TLS=1 и перезапустите сервис.
  4. Подключитесь через FileZilla в режиме FTPES.
  5. Если всё работает, поэтапно переключайте на TLS=2 и повторно тестируйте.

9 Чек-лист ролей

Администратор сервера:

  • Установить openssl.
  • Сгенерировать /etc/ssl/private/pure-ftpd.pem и установить права.
  • Проверить опцию TLS в /etc/pure-ftpd/pure-ftpd.conf.
  • Перезапустить pure-ftpd и просмотреть логи.

Администратор сети:

  • Открыть нужные порты в фаерволе (21 и диапазон портов пассивного режима).
  • Настроить NAT/порт-форвардинг для пассивных соединений.

Пользователь/тестировщик:

  • Настроить клиент (FileZilla) на FTPES.
  • Принять сертификат при первом подключении.
  • Проверить передачу файлов, листинг и права.

10 Рекомендации по безопасности

  • По возможности используйте сертификат, выданный доверенным CA, чтобы избежать ошибок клиента.
  • Ограничьте доступ к файлу с ключом (600).
  • Рассмотрите переход на SFTP для упрощения сетевой конфигурации и повышения безопасности.
  • Логируйте и мониторьте неудачные попытки входа.

11 Краткий глоссарий

  • TLS — протокол шифрования транспортного уровня для защиты трафика.
  • FTPS/FTPES — FTP поверх TLS (explicit/implicit); FTPES обычно означает явное (explicit) TLS.
  • SFTP — безопасный протокол передачи файлов поверх SSH, не связанный с FTP.

12 Ссылки

Краткое резюме: настройка PureFTPd для приема TLS — это комбинация установки OpenSSL, корректной конфигурации параметра TLS, генерации сертификата и проверки через клиент (например, FileZilla). Начинайте с режима совместимости (TLS=1), тестируйте и только потом переводите сервер в принудительный TLS (TLS=2).

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро