Настройка PureFTPd с TLS на Fedora 14
1 Предварительная заметка
У вас должен быть уже установлен и рабочий PureFTPd на сервере Fedora 14, например, как в руководстве: Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On Fedora 14. Если PureFTPd не запущен — настройте обычный FTP до включения TLS.
Важно: Fedora 14 — устаревшая версия. Рекомендуется планировать миграцию на поддерживаемую версию ОС в ближайшее время.
2 Установка OpenSSL
TLS требует OpenSSL. Установите пакет командой:
yum install opensslЭта команда устанавливает необходимые библиотеки и утилиты для генерации сертификатов и работы TLS.
3 Настройка PureFTPd
Откройте файл конфигурации:
vi /etc/pure-ftpd/pure-ftpd.confЕсли вы хотите разрешить и обычные 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-сессии (никакого нешифрованного FTP), установите 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
[...]Совет: Если клиентам сложно мигрировать, временно установите 1 (mixed mode), а затем постепенно переведите на 2 (только TLS).
4 Создание SSL‑сертификата для TLS
TLS требует сертификат в формате PEM. В примере он хранится в /etc/ssl/private/. Сначала создайте директорию, если её нет:
mkdir -p /etc/ssl/private/Сгенерируйте самоподписанный сертификат (в примере срок 7300 дней и ключ RSA 2048 бит):
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 для Германии или RU для России. 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. Common Name (eg, your name or your server’s hostname) []: <– Полное доменное имя сервера, напр. server1.example.com. Email Address []: <– Email администратора.
Установите строгие права на файл сертификата:
chmod 600 /etc/ssl/private/pure-ftpd.pemПерезапустите PureFTPd, чтобы применить сертификат и параметры TLS:
/etc/init.d/pure-ftpd restart5 Настройка FileZilla для TLS
Для работы через TLS нужен FTP-клиент с поддержкой TLS, например FileZilla.
Откройте диспетчер сайтов (Server Manager). Выберите нужный сервер и в выпадающем меню Тип сервера (Server Type) укажите FTPES (explicit FTP over TLS) вместо обычного FTP.

При первом подключении вам будет предложено принять SSL‑сертификат сервера (подтверждение отпечатка). Проверьте соответствие Common Name и отпечатка, затем подтвердите, если всё верно.

Если соединение прошло успешно, вы увидите список каталогов пользователя в правой панели FileZilla.

6 Безопасность и рекомендации
- По возможности используйте TLS только (TLS = 2) для предотвращения нешифрованного входа.
- Ограничьте набор разрешённых шифров и протоколов в зависимости от возможностей PureFTPd и OpenSSL. Старые протоколы (SSLv2/SSLv3) следует отключить.
- Разместите сертификат и ключ в защищённой директории с правами 600.
- Настройте брандмауэр так, чтобы открыты были только необходимые порты FTP (обычно 21 для управления и пул портов для пассивного режима). Для пассивного режима явно укажите диапазон портов в конфигурации и пробросьте их в брандмауэре.
- Рассмотрите использование SFTP (SSH File Transfer) как альтернативу FTPS для упрощения туннелирования через SSH и единых правил доступа.
Когда TLS может не помочь
- Если клиент не поддерживает FTPS/FTPES — соединение не сможет быть защищено TLS.
- Если сеть перехватывает соединения и подставляет сертификаты (man‑in‑the‑middle), нужно контролировать доверенные корневые сертификаты и отпечатки.
7 Альтернативные подходы
- SFTP (через SSH) — чаще предпочтительнее для передачи файлов между серверами, проще в настройке с точки зрения проброса портов.
- Использование прокси или TLS-терминирующего балансировщика — актуально для централизованного управления сертификатами.
- Использование современного FTP-сервера (vsftpd, ProFTPD) если требуется поддержка дополнительных модулей или лучшая интеграция с последними OpenSSL.
8 Чек-лист администратора
- Проверить, что PureFTPd собран с поддержкой TLS (–with-tls).
- Установить OpenSSL.
- Сгенерировать PEM-файл и установить права 600.
- Настроить TLS = 1 или 2 в /etc/pure-ftpd/pure-ftpd.conf.
- Прописать диапазон пассивных портов и открыть их в брандмауэре.
- Перезапустить сервис и проверить логи при старте.
- Подключиться через FileZilla как FTPES и проверить отпечаток сертификата.
9 Критерии приёмки
- Сервер отвечает по FTP и устанавливает TLS-сессии (для TLS=1) или отклоняет нешифрованные подключения (для TLS=2).
- В логах видно успешное TLS-шифрование при подключениях клиентов.
- Права на файл сертификата установлены 600 и файл доступен только root.
- Клиент (FileZilla) может подключиться, и отпечаток сертификата совпадает с ожидаемым.
10 Глоссарий — 1 строка
- TLS: протокол транспорта для шифрования сетевых соединений; защищает пароли и данные.
- FTPS: FTP поверх TLS/SSL (может быть implicit или explicit).
- FTPES: explicit FTPS — явное поднятие TLS внутри FTP-сессии (FileZilla использует этот термин).
- PEM: формат файла, который хранит сертификат и приватный ключ в одном файле в кодировке Base64.
11 Ссылки
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- Fedora: http://fedoraproject.org/
Краткое резюме
Настройка TLS в PureFTPd на Fedora 14 включает установку OpenSSL, корректную запись TLS в конфиге, генерацию PEM‑сертификата, установку прав и перезапуск сервиса. Проверьте подключение через FileZilla с типом соединения FTPES и убедитесь в безопасности конфигурации.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента