Как настроить PureFTPd для использования сеансов TLS в CentOS 7
Это руководство существует для этих версий ОС
- ЦентрОС 5.5
На этой странице
- 1 Предварительное примечание
- 2 Установка OpenSSL
- 3 Настройка PureFTPd
- 4 Создание сертификата SSL для TLS
- 5 Настройка FileZilla для TLS
- 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/