Установка ProFTPD · 4 min read · Dec 18, 2025

Как установить ProFTPD с TLS на CentOS 7.2

Этот учебник описывает установку и настройку ProFTPD на сервере CentOS 7.2. ProFTPD — это FTP-демон для операционных систем Unix и Linux, распространяемый под лицензией GNU Public License (GPL).

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

Этот учебник основан на сервере CentOS, поэтому вам следует настроить базовую установку сервера CentOS 7.2, прежде чем продолжить с этим учебником. Система должна иметь статический IP-адрес. Я использую 192.168.1.100 в этом учебнике и server1.example.com в качестве имени хоста.

2 Установка и настройка ProFTPD

2.1 Установка:

Нам требуется программное обеспечение из репозитория EPEL, включите его следующим образом:

yum -y install epel-release

Затем импортируйте GPG-ключ EPEL:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

и обновите пакеты:

yum -y update

Мы установим ProFTPD и OpenSSL следующим образом:

yum install -y proftpd openssl proftpd-utils

Нам нужно запустить службу и включить ее автозапуск при загрузке.

systemctl start proftpd.service  
systemctl enable proftpd.service

Если у вас установлен firewalld, то настройте брандмауэр с помощью firewall-cmd, чтобы открыть FTP-порт:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

Мы можем проверить версию ProFTPD следующим образом:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD Version 1.3.5b

[root@server1 ~]#

2.2 Создание пользователей ProFTPD

Я создам группу ftpgroup и пользователя tom для ProFTPD. Я установлю /ftpshare в качестве домашнего каталога для пользователя tom.

groupadd ftpgroup

Затем я добавлю пользователя srijan в ftpgroup:

useradd  -G ftpgroup tom -s /sbin/nologin -d /ftpshare  
passwd tom
[root@server1 ~]# passwd tom  
Changing password for user srijan.  
New password: <--ftppassword  
Retype new password: <--ftppassword  
passwd: all authentication tokens updated successfully.  
[root@server1 ~]# 

Установите права доступа для каталога ftpshare:

chmod -R 1750 /ftpshare/

Теперь мы готовы к подключению ProFTPD. Но соединения еще не зашифрованы, мы решим это в следующей главе.

3 Включение TLS в ProFTPD

Чтобы включить TLS в ProFTPD, откройте /etc/proftpd/proftpd.conf. Перед редактированием файла лучше сделать резервную копию оригинального файла, а затем отредактировать файл с помощью nano.

cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf  

Добавьте и измените строки, как показано в красном.

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

Я добавил порты 6000 и 6100 для разрешения пассивного режима FTP, аналогично я разрешу пассивный режим через службу firewalld CentOS следующим образом:

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

Мы можем проверить статус портов следующим образом:

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

Кроме того, нам нужно сообщить SELINUX, чтобы разрешить чтение/запись файлов.

setsebool -P allow_ftpd_full_access=1

Чтобы использовать TLS, мы должны создать SSL-сертификат. Я создам его в /etc/pki/tls/certs, мы можем сгенерировать SSL-сертификат следующим образом:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Генерация 1024-битного RSA закрытого ключа

……………………………..++++++

………++++++

запись нового закрытого ключа в ‘/etc/pki/tls/certs/proftpd.pem’


Вам будет предложено ввести информацию, которая будет включена

в ваш запрос на сертификат.

То, что вы собираетесь ввести, называется Уникальным именем или DN.

Существует довольно много полей, но вы можете оставить некоторые пустыми

Для некоторых полей будет значение по умолчанию,

Если вы введете ‘.’, поле останется пустым.


Название страны (2 буквы) [XX]:

<–DE

Название штата или провинции (полное название) []:

<– Гамбург

Название населенного пункта (например, город) [Город по умолчанию]:

<– Лунебург

Название организации (например, компания) [Компания по умолчанию]:

<–Кактофорг

Название организационного подразделения (например, отдел) []:

<– Разработка

Общее название (например, ваше имя или имя вашего сервера) []:

<–

server1.example.com

Адрес электронной почты []:

<– [email protected]

[root@server1 certs]#

Введите указанные выше значения в красном по вашему выбору, я просто привел пример.

Теперь для безопасности я сделаю сертификаты только для чтения следующим образом:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Наконец, перезапустите службу ProFTPD следующим образом:

systemctl restart proftpd.service

Мы можем подключиться к серверу ProFTPD с помощью программы Filezilla, вы должны установить Filezilla на клиентском компьютере для подключения к серверу. Откройте Filezilla и введите данные следующим образом:
Введите данные учетной записи в FileZilla.

Данные будут:

Host = 192.168.1.100
Protocol = FTP
User = tom
Port = может быть пустым, если вы не настраивали его на другой порт, кроме 21
Password = ftppassword (только что созданный выше)

Примечание: Поскольку мы зашифровали наше соединение на предыдущем шаге, мы будем использовать шифрование с Требовать явный FTP через TLS

Если вы не настроили TLS, вы можете использовать Использовать обычный FTP

Принять SSL сертификат
Ему будет предложено доверять сертификату, нажмите OK
FileZilla подключен к ProFTPd.
Он будет подключен к каталогу FTP с TLS-соединением.

4 Анонимный доступ к FTP в ProFTPD

Мы можем создать анонимную учетную запись FTP в ProFTPD, просто добавьте эти строки в файл конфигурации ProFTPD:

nano /etc/proftpd.conf

И добавьте эти строки в конец файла.

[...]  
###Анонимный общий доступ#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

Теперь нам нужно перезапустить службу FTP:

systemctl restart proftpd.service

Теперь подключитесь через Filezilla к анонимной учетной записи следующим образом:

Анонимный вход

Примечание: Поскольку мы зашифровали наше соединение на предыдущем шаге, мы будем использовать шифрование с Требовать явный FTP через TLS

Если вы не настроили TLS, вы можете использовать Использовать обычный FTP

Нажмите Подключиться.

Анонимный вход в FTP успешен.

Мы успешно подключились к серверу с анонимным пользователем.

Поздравляем! Теперь мы успешно настроили окружение сервера ProFTPD в CentOS 7.2 :)

5 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.