Настройка ProFTPd в CentOS 6\7 с SSL\TLS

Зачем TLS соединение на FTP сервере?

ssl\tls in proftpd server on CentOS6\7

Чтобы успокоить паранойю конечно -)! Но на самом деле, FTP протокол передаёт все данные в том числе пароль и логин в открытом виде. Если вдруг кто-то задастся целью перехватить ваше соединение с файловым сервером по этому протоколу, то увидит открытым текстом ваши данные для аутентификации, т.е. логин и пароль. Чтобы этого не случалось предлагается использовать защищенное соединение по средствам TLS.

Настройку ProFTPd в CentOS 6\7 с SSL\TLS приходится производить, прямо скажем, нередко и требуется чтобы установоленный FTP демон умел защищенное соединение. Впрочем это вполне логично, все большее количество пользователей и администраторов предпочитают CentOS.

Поделюсь с вами не только настройкой TLS для ProFTPd сервера, но и в целом нюансами его установки, настройки и если потребуется отладки в CentOS6\7.

Содержание

1. Ставим epel репозиторий:


1.1 Ставим epel репозиторий на CentOS 6:


1.2 Ставим epel репозиторий на CentOS 7:

2. Устанавливаем ProFTPd

3. Редактируем конфиг ProFTPd

Настройки производятся в файле конфигурации ProFTPd – /etc/proftpd.conf

  • Если анонимный доступ не требуется, то комментируем все строки внутри:
  • Правим секцию отвечающую за TLS:
    • TLSRequired — комментируем, иначе будет работать только FTPS, не будет выбора.
    • TLSRSACertificateFile и TTLSRSACertificateKeyFile — генерируем:
  • Добавляем в конфиг диапазон пассивных портов:

4. Включаем TLS для proftpd в sysconfig

В целом на этом настройка TLS соединения завершена и можем использовать FTPS соединение к вашему серверу. Но скорее всего потребуется настроить еще кое-что ↓.

5. Настройки firewall

В CentOS 6 используется iptables, тогдка как в CentOS 7 firewalld по-умолчанию. Но firewalld может быть удален и вместо него установлен iptables. Ниже привожу настройки для обоих firewall’ов, но сам по привычке использую iptables в связке с CSF.

  • Если решили избавиться от firewalld:

5.1 Настройки iptables для ProFTPd

  • Проверяем наличие ip_conntrack_ftp, если его нет добавляем:
  • Разрешаем в iptables работу с портами 20, 21, 49152-65534:
  • Сохраняем, перезапускаем:

5.2 Настройки firewalld для ProFTPd

  • Аналогично добавляем порты:

5.3 CSF — Config Server Firewall

  • Правим конфиг CSF:
    • Файл конфигурации лежит здесь:
    • Пример секции «SECTION:IPv4 Port Settings» из моего csf.conf. Не стоит это копировать, если не понимаете что делаете:

6. Добавляем ProFTPd в автозапуск


6.1 Для CentOS 6:


6.2 Для CentOS 7:

7. Ребут

Если не сделать перезагрузку, то proftpd будет работать только по FTPS, только по FTP или будет невменяемая ошибка при корректных настройках. Решения без ребута не нашел, если знаете как, то напишите в комментах. В идеале это последний шаг.

8. Отладка ProFTPd

Если что-то пошло не так, то это всегда можно проверить по логам:

    • Для отладки proftpd сервера в /etc/proftpd.conf добавить строки:
    • Применяем изменения в конфиге:
    • Смотрим:

Если этого оказалось мало, то разумеется посетите родной сайт ProFTPd ProFTPd, отдкуда сможете почерпнуть еще больше информации по работе FTP\FTPS протоколов и настройке SSL\TLS соединения на вашем сервере или хостинге.

Sky

Об авторе Sky

Прописан в интернет. Характер задорный, добродушный. Интроверт по натуре. Не любит хамов, халявщиков, гопников. Увлекается всякой технической ересью. Подписывайся на новые статьи http://xit.org.ru/rss
Запись опубликована в рубрике *nix, Хостинг. Добавьте в закладки постоянную ссылку.

6 Responses to Настройка ProFTPd в CentOS 6\7 с SSL\TLS

  1. Кот пишет:

    Автор, пожалуйста, пиши чаще 🙂 Темы связанные с *nix — интересны особенно. За три года с десяток постов — не порядок 🙂

  2. MaxMaster пишет:

    Ничоси =), как раз искал как настроить SSL\TLS на своём FTP сервере. Спасибо.

  3. Роман пишет:

    Спасибо автор за мануал. Респект и уважуха to SKY.

Добавить комментарий

Ваш e-mail не будет опубликован.