Поиск по сайту:

Как настроить PureFTPd для использования сеансов TLS в CentOS 7


Это руководство существует для этих версий ОС

  • ЦентрОС 5.5

На этой странице

  1. 1 Предварительное примечание
  2. 2 Установка OpenSSL
  3. 3 Настройка PureFTPd
  4. 4 Создание сертификата SSL для TLS
  5. 5 Настройка FileZilla для TLS
  6. 6 ссылок

В этой статье объясняется, как настроить PureFTPd для приема сеансов TLS на сервере CentOS 7. Обычный FTP — небезопасный протокол, поскольку все пароли и все данные передаются в открытом виде. Используя TLS, вся связь может быть зашифрована, что делает FTP намного более безопасным.

1 Предварительное примечание

У вас должна быть работающая настройка PureFTPd на вашем сервере CentOS 7, например. как показано в этом руководстве: Виртуальный хостинг с PureFTPd и MySQL (включая управление квотами и пропускной способностью) в CentOS 7.

2 Установка OpenSSL

OpenSSL необходим TLS; чтобы установить OpenSSL, мы просто запускаем:

yum install openssl

3 Настройка PureFTPd

Откройте файл /etc/pure-ftpd/pure-ftpd.conf...

nano /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
[...]

Затем удалите # перед следующими двумя строками:

TLSCipherSuite           HIGH
CertFile                 /etc/ssl/private/pure-ftpd.pem

и сохраните измененный файл конфигурации.

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

Чтобы использовать TLS, мы должны создать сертификат SSL. Я создаю его в /etc/ssl/private/, поэтому сначала создаю этот каталог:

mkdir -p /etc/ssl/private/

После этого мы можем сгенерировать SSL-сертификат следующим образом:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Название страны (двухбуквенный код) [XX]: <-- Введите название вашей страны (например, \DE\).
Название штата или провинции (полное название) []:<-- Введите название штата или провинции Имя.
Название местности (например, город) [Город по умолчанию]:<-- Введите свой город.
Название организации (например, компания) [Компания по умолчанию, ООО]:<-- Введите название вашей организации (например, название вашей компании).
Название организационного подразделения (например, раздел) []:<-- Введите название вашего организационного подразделения (например, \ИТ-отдел\).
Общее имя (например, ваше имя или имя хоста вашего сервера) []:<-- Введите полное доменное имя системы (например, \server1.example.com\).
Адрес электронной почты []:<-- Введите свой адрес электронной почты.

Измените разрешения SSL-сертификата:

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

Наконец, перезапустите PureFTPd:

systemctl restart pure-ftpd.service

Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента; однако вам следует настроить FTP-клиент для использования TLS — см. следующую главу, как это сделать с помощью FileZilla.

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

Чтобы использовать FTP с TLS, вам нужен FTP-клиент, поддерживающий TLS, например FileZilla или плагин FireFTP в Firefox.

В FileZilla откройте диспетчер сайтов:

Выберите сервер, использующий PureFTPd с TLS; в раскрывающемся меню «Тип сервера» выберите Требовать явный FTP через TLS вместо обычного FTP:

Теперь вы можете подключиться к серверу. Если вы делаете это в первый раз, вы должны принять новый SSL-сертификат сервера:

Если все пойдет хорошо, вы должны авторизоваться на сервере:

6 ссылок

  • PureFTPd: http://www.pureftpd.org/
  • FileZilla: http://filezilla-project.org/
  • CentOS: http://www.centos.org/