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

Настройка ProFTPd с TLS на Ubuntu 15.10

6 min read Серверы Обновлено 28 Nov 2025
ProFTPd с TLS на Ubuntu 15.10 — безопасный FTP
ProFTPd с TLS на Ubuntu 15.10 — безопасный FTP

Этот гид показывает, как зашифровать FTP с помощью TLS: установка ProFTPd и OpenSSL, генерация SSL-сертификата, включение TLS в конфигурации, создание FTP-пользователя и подключение через FileZilla (FTPS/FTPES). В конце — чеклист для админа, варианты замены и рекомендации по безопасности.

О чём статья

Цель: обеспечить защищённый FTP-трафик путём добавления TLS (FTPS) к ProFTPd на сервере Ubuntu 15.10. Подходит, если клиент поддерживает FTPS/FTPES. Альтернатива — SFTP (SSH File Transfer Protocol) для простоты и совместимости.

Краткий план действий

  1. Установить proftpd и openssl.
  2. Сгенерировать SSL-сертификат в /etc/proftpd/ssl.
  3. Включить модуль TLS в конфиге ProFTPd и настроить параметры.
  4. Добавить системного пользователя для FTP и задать пароль.
  5. Настроить FileZilla (FTPES) для безопасного подключения.

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

В примерах используется имя хоста server1.example.com и IP 192.168.1.100. Замените эти значения на ваши. Все команды требуют прав root — используйте sudo перед командами или переключитесь в root:

sudo su

Для редактирования файлов в этом руководстве используется nano. Чтобы установить nano:

apt-get install nano

Примечание: команды и пути в примерах сохраняются как в оригинале — проверьте корректность путей на вашей системе.

2 Установка ProFTPd и OpenSSL

OpenSSL нужен для TLS. Установите ProFTPd и OpenSSL:

apt-get install proftpd openssl

В процессе установки установщик спросит о режиме запуска proftpd. Для простоты и автономности выбирайте standalone.

Рекомендуется добавить в /etc/proftpd/proftpd.conf следующие строки для изоляции пользователей и скрытия детальной информации о сервере:

nano /etc/proftpd/proftpd.conf

Вставьте или убедитесь, что присутствуют:

[...]  
DefaultRoot ~  
ServerIdent on "FTP Server ready."  
[...]

DefaultRoot ограничивает пользователя его домашней директорией (chroot), а ServerIdent выводит нейтральное сообщение без версии и сведений о ПО.

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

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

mkdir /etc/proftpd/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

При запросах укажите реальные данные: страна (DE/ RU и т.п.), область, город, организация и обязательно Common Name — FQDN сервера, например server1.example.com.

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

chmod 600 /etc/proftpd/ssl/proftpd.*

Fact box — ключевые числа

  • Срок действия примера сертификата: 365 дней.
  • Размещение сертификата: /etc/proftpd/ssl/proftpd.cert.pem и /etc/proftpd/ssl/proftpd.key.pem.

4 Включение TLS в ProFTPd

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

nano /etc/proftpd/proftpd.conf

Найдите и активируйте строку

Include /etc/proftpd/tls.conf

Отредактируйте /etc/proftpd/tls.conf так, как показано ниже:

nano /etc/proftpd/tls.conf
  
TLSEngine                  on  
TLSLog                     /var/log/proftpd/tls.log  
TLSProtocol TLSv1.2  
TLSCipherSuite AES128+EECDH:AES128+EDH  
TLSOptions                 NoCertRequest AllowClientRenegotiations  
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem  
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem  
TLSVerifyClient            off  
TLSRequired                on  
RequireValidShell          no  

Пояснения к ключевым параметрам

  • TLSEngine on — включает поддержку TLS в ProFTPd.
  • TLSProtocol TLSv1.2 — использует TLS 1.2; при необходимости вы можете включить TLSv1.3, если ваша версия OpenSSL и ProFTPd это поддерживают.
  • TLSRequired on — разрешены только TLS-соединения; если оставить off, будут допускаться и незашифрованные подключения.

Примените изменения:

systemctl restart proftpd.service

Если возникнут ошибки TLS, смотрите лог: /var/log/proftpd/tls.log

Важно

Если вы включите TLSRequired on, клиенты без поддержки TLS не смогут подключиться.

5 Добавление FTP-пользователя

ProFTPD в этой конфигурации использует системную базу пользователей (/etc/passwd и /etc/shadow). Пример добавления пользователя tom, который будет доступен только по FTP:

useradd --shell /bin/false tom

Это создаёт пользователя с оболочкой /bin/false, то есть без возможности SSH-входа. Домашняя директория по умолчанию — /home/tom. Если нужно указать собственную директорию:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Задайте пароль:

passwd tom

Введите пароль дважды по запросу.

Критерии приёмки

  • Пользователь может подключиться по FTPS и увидеть только свою домашнюю директорию.
  • Подключение без TLS блокируется при TLSRequired on.
  • Логи TLS не показывают ошибок при подключении клиента.

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

Используйте клиент, поддерживающий TLS, например FileZilla. В менеджере сайтов выберите тип подключения FTPES (FTP over explicit TLS) — это безопасный выбор для FTPS.

Окно добавления подключения в FileZilla.

Окно ввода параметров подключения в FileZilla.

Запрос пароля в FileZilla.

При первом подключении FileZilla предложит принять самоподписанный сертификат — проверьте fingerprint и подтвердите, если он совпадает с тем, что вы ожидали.

Подтверждение самоподписанного сертификата.

После успешного подключения вы увидите список файлов и папок пользователя:

Список файлов в FileZilla после подключения.

Совет по совместимости

Если клиент не подключается с TLS, попробуйте временно отключить TLSRequired или проверить настройки CipherSuite. Также проверьте, не блокирует ли межсетевой экран пассивные порты FTP.

7 Скачать готовую виртуальную машину

Готовая ВМ в формате OVA/OVF доступна подписчикам HowtoForge (VMWare/VirtualBox). Основные данные ВМ:

  • SSH-пользователь: administrator / howtoforge (имеет sudo).
  • FTP-пользователь: tom / tom.
  • IP по умолчанию: 192.168.1.100 (можно изменить в /etc/network/interfaces).

Обязательно смените пароли перед запуском в продуктивной среде.

8 Ссылки


Когда FTPS подходит, а когда лучше SFTP

  • FTPS хорош, если вы обязаны поддерживать стандарт FTP/FTPS для совместимости с клиентами или интеграциями.
  • SFTP (через SSH) проще в настройке с точки зрения защиты, работает через один порт (22) и часто проще настраивается в брандмауэрах — используйте SFTP, если нет требования к FTP-протоколу.

Пример, когда FTPS не подойдет

  • Если у вас сложная сеть с NAT и вы не хотите настраивать пассивные порты.
  • Если клиенты не умеют FTPS, но поддерживают SFTP.

Безопасность и жёсткие рекомендации

  • Используйте TLSv1.2 или выше.
  • Рассмотрите получение сертификата от доверенного CA для рабочих систем (Let’s Encrypt поддерживает лишь TLS для HTTPS, для FTPS нужен другой подход или использование самоподписанных сертификатов с ручной верификацией).
  • Ограничьте список CipherSuite до сильных шифров.
  • Защитите приватный ключ правами 600 и храните его вне публичного доступа.
  • Включите аудит логов и мониторинг попыток подключения.

Риск-матрица и рекомендации

  • Утечка приватного ключа: немедленно отозвать сертификат и сгенерировать новый.
  • Слабые шифры: обновить TLSCipherSuite и OpenSSL.
  • Клиентские ошибки: проверить настройки менеджера сайтов клиента и пассивные порты.

Чеклист для администратора перед вводом в эксплуатацию

  • Сертификат создан и защищён (chmod 600).
  • /etc/proftpd/tls.conf проверен и TLSEngine on.
  • TLSRequired установлен согласно политике (on для принудительного шифрования).
  • Пользователи имеют корректные домашние директории и оболочки.
  • Протестировано подключение из FileZilla с FTPES.
  • Логи TLS и системные логи настроены и доступны для аудита.

Ролевые контрольные списки

  • Администратор: установить пакеты, сгенерировать сертификат, настроить права, рестарт сервиса.
  • Девопс/Инфраструктура: открыть порты FTP/пассива в брандмауэре, проверить NAT/маршрутизацию.
  • Аудитор: проверить политики шифрования и хранение ключей.

Методология быстрого развертывания (SOP)

  1. Подготовить сервер и обновить пакеты.
  2. Установить proftpd и openssl.
  3. Создать /etc/proftpd/ssl, сгенерировать сертификат и защитить ключ.
  4. Включить Include /etc/proftpd/tls.conf в основном конфиге.
  5. Настроить tls.conf, протестировать restart.
  6. Добавить FTP-пользователей, задать пароли, проверить chroot.
  7. Протестировать из FileZilla и проверить /var/log/proftpd/tls.log.

Отмена и откат изменений

Если после включения TLS сервис перестал работать и требуется откат:

  1. Отключите Include /etc/proftpd/tls.conf в /etc/proftpd/proftpd.conf (закомментируйте).
  2. Перезапустите proftpd: systemctl restart proftpd.service.
  3. Проверьте логи на причину ошибки и восстановите рабочую конфигурацию.

Пример решения проблем

Проблема: клиент не проходит TLS-рукопожатие.
Действия: проверить /var/log/proftpd/tls.log, сверить версию OpenSSL, проверить права на ключ, попробовать временно сменить TLSProtocol на TLSv1.2,TLSv1.3 при поддержке.

Решение по выбору протокола — диаграмма

flowchart TD
  A[Начало: нужен защищённый обмен файлами?] --> B{Требуется FTP-протокол?}
  B -- Да --> C[Настроить ProFTPd + TLS 'FTPS']
  B -- Нет --> D{Клиенты поддерживают SSH?}
  D -- Да --> E[Использовать SFTP 'через SSH']
  D -- Нет --> F[Рассмотреть HTTPS API или WebDAV + TLS]
  C --> G[Тестирование и деплой]
  E --> G
  F --> G

Краткое резюме

  • FTPS через ProFTPd даёт шифрование FTP-трафика с помощью TLS.
  • Настройка включает установку пакетов, генерацию сертификата, настройку tls.conf и перезапуск сервиса.
  • Тестируйте подключение из клиента, например FileZilla (FTPES).
  • Рассмотрите SFTP, если хотите упростить конфигурацию и обходить проблемы с пассивными портами.

Краткий итог

FTPS с TLS повышает безопасность FTP, но требует внимания к сертификатам, CipherSuite и сетевым настройкам. Следуйте чеклисту и тестируйте подключение на каждом шаге.

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

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

Как ухаживать за Nintendo Switch в жару
Консоли

Как ухаживать за Nintendo Switch в жару

Изменение шрифта по умолчанию в PowerPoint
PowerPoint

Изменение шрифта по умолчанию в PowerPoint

Бесплатный логотип в VistaCreate — пошаговое руководство
Дизайн

Бесплатный логотип в VistaCreate — пошаговое руководство

Поиск в Windows 8: руководство и советы
Windows

Поиск в Windows 8: руководство и советы

Планировщик задач Windows: автоматический запуск и напоминания
Windows

Планировщик задач Windows: автоматический запуск и напоминания

Google Фото: хранение и совместные альбомы
Фото

Google Фото: хранение и совместные альбомы