Как настроить PureFTPd для поддержки TLS на OpenSUSE 11.3
Версия и автор
Версия 1.0
Автор: Falko Timme
Следите в Twitter
Введение
FTP передаёт пароли и данные в открытом виде. TLS (Transport Layer Security) шифрует соединение и значительно повышает безопасность передачи файлов. В этой статье описано, как настроить PureFTPd для приёма TLS‑сессий на сервере OpenSUSE 11.3.
Важно: я не даю гарантий, что указанные шаги сработают в вашей среде — проверяйте и тестируйте на стенде.
Кому это полезно
- Сисадминам, которые поддерживают FTP‑серверы на OpenSUSE 11.3.
- Командам, которые хотят быстро включить шифрование для существующего PureFTPd.
- Помощи техподдержки при отладке подключений FTPES.
Быстрая последовательность действий
- Установите OpenSSL.
- Включите режим TLS в /etc/pure-ftpd/pure-ftpd.conf.
- Сгенерируйте SSL‑сертификат и задайте права.
- Перезапустите pure-ftpd и проверьте подключение клиентом (например, FileZilla).
1 Предварительное примечание
Предполагается, что PureFTPd уже установлен и настроен на вашем OpenSUSE 11.3 сервере (например, согласно руководству: виртуальный хостинг с PureFTPd и MySQL). Если PureFTPd ещё не настроен, завершите базовую настройку до включения TLS.
2 Установка OpenSSL
OpenSSL необходим для работы TLS. Установите пакет командой:
yast2 -i openssl3 Настройка PureFTPd
Откройте конфигурационный файл:
vi /etc/pure-ftpd/pure-ftpd.confНайдите опцию TLS и установите значение в зависимости от желаемого поведения:
Если нужно разрешить как обычный FTP, так и зашифрованные сессии, установите 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:
[...]
TLS 2
[...]Чтобы вовсе отключить TLS и использовать только незашифрованный FTP, установите TLS в 0:
[...]
TLS 0
[...]Важно: перед включением TLS убедитесь, что сервер собран с поддержкой SSL/TLS, и что у вас есть правильный сертификат.
4 Создание SSL‑сертификата для TLS
Создайте каталог для приватных ключей, если он ещё не существует:
mkdir -p /etc/ssl/private/Сгенерируйте самоподписанный сертификат и ключ в одном файле (PEM):
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): введите код страны, например DE.
- State or Province Name: введите область/регион.
- Locality Name: город.
- Organization Name: название организации или компании.
- Organizational Unit Name: подразделение, например IT.
- Common Name: полностью квалифицированное доменное имя сервера (FQDN), например server1.example.com.
- Email Address: контактный адрес.
Задайте строгие права на файл сертификата:
chmod 600 /etc/ssl/private/pure-ftpd.pemПерезапустите службу PureFTPd:
/etc/init.d/pure-ftpd restartПримечание: для продакшн‑среды рассмотрите получение сертификата от CA вместо самоподписанного.
5 Настройка FileZilla для TLS
Нужен FTP‑клиент с поддержкой TLS, например FileZilla.
В FileZilla откройте Менеджер сайтов. Выберите ваш сервер и в выпадающем списке Server Type выберите FTPES (FTP over explicit TLS) вместо обычного FTP.

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

Если всё прошло успешно, вы увидите вход в систему и рабочую директорию:

Чеклист администратора
- Установлен openssl.
- TLS опция в /etc/pure-ftpd/pure-ftpd.conf установлена на нужное значение.
- Наличие /etc/ssl/private/pure-ftpd.pem с правами 600.
- PureFTPd перезапущен.
- Клиент тестирован (FileZilla, режим FTPES).
- В продакшне: сертификат от доверенного CA и проверка отпечатков.
Мини‑методология для внедрения на сервере
- Подготовка: создать бэкап конфига pure-ftpd.conf.
- Тестовая среда: применить изменения на тестовом хосте.
- Тестирование: подключиться с несколькими клиентами (FileZilla, lftp, curl).
- Мониторинг: отслеживать логи /var/log/messages или системный журнал.
- Ролл‑аут на прод: по шагам, предупреждая пользователей об изменениях.
Тесты и критерии приёмки
Критерии приёмки
- Сервер принимает соединение в режиме TLS (FTPES) и показывает шифрование в клиенте.
- Пароли и полезная нагрузка передаются по зашифрованному каналу (проверяется сниффером в тестовой сети).
- При выборе TLS=2 незашифрованные подключения отклоняются.
Тестовые шаги
- Подключиться в FileZilla с типом FTPES — убедиться, что соединение зашифровано.
- Попробовать подключиться обычным FTP, если TLS=2 — соединение должно быть отклонено.
- Проверить логи pure‑ftpd на ошибки при старте и при попытках входа.
Рекомендации по безопасности
- Используйте сертификат от доверенного центра сертификации для публичных сервисов.
- Отключите старые и небезопасные алгоритмы шифрования на уровне системы.
- Ограничьте доступ к /etc/ssl/private/ через права и SELinux/AppArmor при наличии.
- Рассмотрите использование fail2ban для защиты от перебора паролей по FTP.
Совместимость и когда решение не подходит
- Клиенты без поддержки TLS не смогут подключиться при включённом TLS=2.
- OpenSUSE 11.3 — устаревшая версия; в новых дистрибутивах пути и службы могут отличаться.
- Для SFTP (SSH‑основанного) используется не PureFTPd, а настройка SSH/SFTP. Если вам нужен SFTP, настройте OpenSSH.
Короткая памятка для разных ролей
Администратор:
- Проверить поддержку TLS в версии PureFTPd; настроить сертификат; перезапустить службу.
Команда поддержки:
- Инструктировать пользователей по настройке FileZilla (выбор FTPES), сверить отпечаток сертификата.
Разработчик/инженер DevOps:
- Интегрировать проверку работоспособности в CI/CD, добавить тесты подключения и мониторинг логов.
Короткий глоссарий
- TLS: протокол шифрования для сетевых соединений.
- FTPES: «FTP Explicit TLS» — FTP с явным запросом на установку TLS.
- PEM: формат файла, содержащего сертификат и закрытый ключ.
Полезные ссылки
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- OpenSUSE: http://www.opensuse.org/
Итог
Включение TLS в PureFTPd на OpenSUSE 11.3 сводится к установке OpenSSL, включению нужного режима TLS в конфиге, созданию сертификата и перезапуску службы. Обязательно протестируйте подключение клиентом и подумайте о сертификате от CA для публичных сервисов.
Важно: всегда проверяйте настройки на тестовой среде перед применением в продакшне.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента