Установка 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 и введите данные следующим образом:
Данные будут:
Host = 192.168.1.100
Protocol = FTP
User = tom
Port = может быть пустым, если вы не настраивали его на другой порт, кроме 21
Password = ftppassword (только что созданный выше)
Примечание: Поскольку мы зашифровали наше соединение на предыдущем шаге, мы будем использовать шифрование с Требовать явный FTP через TLS
Если вы не настроили TLS, вы можете использовать Использовать обычный FTP

Ему будет предложено доверять сертификату, нажмите OK
Он будет подключен к каталогу 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
Нажмите Подключиться.

Мы успешно подключились к серверу с анонимным пользователем.
Поздравляем! Теперь мы успешно настроили окружение сервера ProFTPD в CentOS 7.2 :)
5 Ссылки
- CentOS : http://www.centos.org/
- ProFTPD : http://www. proftpd.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.