ProFTP широко используется в качестве FTP-сервера среди серверов Linux. ProFTP используется несколькими панелями управления, таких как Cpanel, Plesk. На этом уроке мы покажем вам, как настроить ProFTP с SSL/TLS и другие аспекты безопасности.
Мой тестовый сервер
Server: CentOS 7 ProFTP: 1.3.5
Шаг 1: Установка дополнительного хранилища
Базовое хранилище CentOS не содержит ProFTP. Включить хранилище Epel для загрузки и установки ProFTP.
# yum install epel-release # yum install proftpd
Шаг 2: Подготовка сертификата
Пакет ProFTPD не создает дополнительного каталога конфигурации ProFTPD
# mkdir /etc/proftpd.d/
Генерация ключей и сертификата, который будет использоваться для SFTP или FTP через SSL/TLS соединение
# openssl req -new -x509 -days 3650 -nodes -out /etc/proftpd.d/proftpd.cert.pem -keyout /etc/proftpd.d/proftpd.key.pem Generating a 2048 bit RSA private key ......+++ .........................+++ writing new private key to '/etc/proftpd.d/proftpd.key.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:IN State or Province Name (full name) []:WB Locality Name (eg, city) [Default City]:Kolkata Organization Name (eg, company) [Default Company Ltd]:Omegalab Organizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:pydl.andreyex.com Email Address []:xyz@andreyex.com
Шаг 3: Подготовка конфигурации
Добавьте следующую конфигурацию в файл /etc/proftpd.conf
ServerName "ProFTP" ServerType standalone DefaultServer on <Global> DefaultRoot ~ AllowOverwrite on <IfModule mod_tls.c> TLSEngine on TLSRequired off TLSLog /var/log/plesk/ftp_tls.log TLSRSACertificateFile /etc/proftpd.d/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd.d/proftpd.key.pem TLSVerifyClient off TLSRenegotiate none TLSOptions NoSessionReuseRequired </IfModule> </Global> DefaultTransferMode binary UseFtpUsers on TimesGMT off SetEnv TZ :/etc/localtime Port 21 Umask 022 MaxInstances 30 ScoreboardFile /var/run/proftpd.scoreboard TransferLog /var/log/proftpd/xferlog AuthPAM on AuthPAMConfig proftpd IdentLookups off UseReverseDNS off AuthGroupFile /etc/group RequireValidShell off Include /etc/proftpd.d/*.conf
Шаг 4: Создание пользователя, без оболочки
Всегда рекомендуется использовать пользователя не оболочки для аунтификации FTP
# useradd --shell /bin/false testnoshell # passwd testnoshell
Шаг 5: Доступ к FTP
Теперь попытайтесь получить доступ к FTP с созданным пользователем
Примечание: Если ваш сервер находится под NAT, добавьте следующие строки в файл /etc/proftpd.conf
PassivePorts 49152 65534
И откройте диапазон портов 49152-65534 для брандмауэра/маршрутизатора.
Ну, вот и все.
Если вам нравится этот учебник, отметьте в комментариях ваши ценные замечания.