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

Как установить ProFTPD с TLS на Ubuntu 18.04 LTS


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

  1. Требования
  2. Начало работы
  3. Установить ProFTPD
  4. Защита ProFTPD с помощью TLS
  5. Настройте ProFTPD для использования SSL
  6. Создать пользователя для ProFTPD
  7. Доступ к серверу ProFTPD с помощью FileZilla

ProFTPD — это бесплатный, открытый и самый популярный FTP-сервер для Unix-подобных операционных систем. ProFTPD позволяет вам создать FTP-соединение между вашим локальным компьютером и удаленным сервером. Это универсальный FTP-сервер, поддерживающий TLS (SSL) для безопасных соединений.

Функции

  • Поддерживает IPv4 и IPv6.
  • Поддерживает .ftpaccess для защиты каждого каталога.
  • Позвольте нам настроить несколько виртуальных FTP-серверов и анонимных служб FTP.
  • Поддержка теневого пароля, utmp/wtmp, шифрования SSL/TLS и RADIUS.
  • Может работать либо как автономный сервер, либо из inetd/xinetd.

В этом руководстве мы узнаем, как установить ProFTPD и защитить его с помощью TLS на сервере Ubuntu 18.04.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • На сервере настроен статический IP-адрес 192.168.0.101.
  • На вашем сервере установлен пароль root.

Начиная

Перед запуском вам нужно будет обновить вашу систему до последней версии. Вы можете сделать это, выполнив следующую команду:

apt-get update -y
apt-get upgrade -y

После обновления сервера перезапустите его, чтобы изменения вступили в силу.

Установить ProFTPD

По умолчанию ProFTPD доступен в стандартном репозитории Ubuntu 18.04. Вы можете установить его, просто выполнив следующую команду:

apt-get install proftpd -y

После установки ProFTPD запустите службу ProFTPD и включите ее запуск во время загрузки с помощью следующей команды:

systemctl start proftpd
systemctl enable proftpd

Вы можете проверить статус службы ProFTPD с помощью следующей команды:

systemctl status proftpd

Вы должны увидеть следующий вывод:

? proftpd.service - LSB: Starts ProFTPD daemon
   Loaded: loaded (/etc/init.d/proftpd; generated)
   Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 1114)
   CGroup: /system.slice/proftpd.service
           ??1927 proftpd: (accepting connections)

May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon...
May 25 09:18:19 ubuntu1804 proftpd[1906]:  * Starting ftp server proftpd
May 25 09:18:19 ubuntu1804 proftpd[1906]:    ...done.
May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.

Файлы конфигурации ProFTPD по умолчанию находятся в /etc/proftpd/proftpd.conf. Вы можете увидеть это с помощью следующей команды:

cat /etc/proftpd/proftpd.conf

Вы должны увидеть следующий вывод:

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
# 

# Includes DSO modules

Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         on
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Debian"
# Set to inetd only if you would run proftpd by inetd/xinetd.
# Read README.Debian for more information on proper configuration.
ServerType                              standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# Use this to jail all users in their homes 
# DefaultRoot                   ~
# Port 21 is the standard FTP port.
Port                            21
MaxInstances                    30
# Set the user and group that the server normally runs at.
User                            proftpd
Group                           nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                           022  022
# Normally, we want files to be overwriteable.
AllowOverwrite                  on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

Вы можете изменить указанный выше параметр в соответствии с вашими требованиями, как показано ниже:

  • ServerName: вы можете изменить его как имя сервера по умолчанию.
  • ИспользоватьIPV6. Вы можете отключить его, отключив.
  • DefaultRoot: вы можете раскомментировать эту строку, чтобы ограничить пользователей их домашними папками.
  • Порт. Вы можете определить свой собственный порт, изменив его.
  • SystemLog: расположение файла журнала по умолчанию. Вы можете изменить его в соответствии с вашими требованиями.

Как только вы это сделаете, вы можете перейти к следующему шагу.

Безопасный ProFTPD с TLS

Теперь ProFTPD установлен. Теперь вам нужно настроить ProFTPD с TLS для безопасных FTP-соединений.

Прежде чем начать, вам нужно будет установить OpenSSL на свой сервер. Вы можете установить его, просто выполнив следующую команду:

apt-get install openssl -y

После завершения установки сгенерируйте SSL-сертификаты для ProFTPd с помощью следующей команды:

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

Ответьте на все вопросы, как показано ниже:

Generating a 1024 bit RSA private key
.++++++
.......................++++++
writing new private key to '/etc/ssl/private/proftpd.key'
-----
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) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:Junagadh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:

Приведенная выше команда создаст два файла /etc/ssl/private/proftpd.key и /etc/ssl/certs/proftpd.crt.

Затем предоставьте правильные разрешения для сгенерированных файлов с помощью следующей команды:

chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt

Как только вы это сделаете, вы можете перейти к следующему шагу.

Настройте ProFTPD для использования SSL

Далее вам нужно будет настроить ProFTPD для использования SSL-сертификатов. Вы можете сделать это, отредактировав файл /etc/proftpd/proftpd.conf:

nano /etc/proftpd/proftpd.conf

Раскомментируйте следующую строку:

Include /etc/proftpd/tls.conf

Сохраните и закройте файл, когда закончите. Затем откройте файл /etc/proftpd/tls.conf:

nano /etc/proftpd/tls.conf

Измените следующие строки:

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRequired on
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off

Сохраните и закройте файл, когда закончите. Затем перезапустите службу ProFTPD с помощью следующей команды:

systemctl restart proftpd

Как только вы это сделаете, вы можете перейти к следующему шагу.

Создать пользователя для ProFTPD

Далее вам нужно будет создать пользователя ProFTPD для доступа к серверу. Вы можете сделать это с помощью следующей команды:

adduser ftp1

Ответьте на все вопросы, как показано ниже:

Adding user `ftp1' ...
Adding new group `ftp1' (1006) ...
Adding new user `ftp1' (1002) with group `ftp1' ...
Creating home directory `/home/ftp1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for ftp1
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

Как только вы это сделаете, вы можете перейти к следующему шагу.

Доступ к серверу ProFTPD с помощью FileZilla

Теперь ProFTPD установлен и настроен, пришло время получить доступ к ProFTPD через FileZilla из клиентской системы.

Во-первых, вам нужно будет установить FileZilla в вашей клиентской системе. Вы можете установить его, просто выполнив следующую команду:

apt-get install filezilla -y

После завершения установки вы можете открыть FileZilla из тире Unity, как показано ниже:

Теперь нажмите Менеджер сайтов на левой боковой панели и создайте новый сайт. Вы должны увидеть следующую страницу:

Теперь укажите IP-адрес вашего FTP-сервера, выберите протокол, выберите «Шифрование», выберите тип входа, укажите имя пользователя и пароль. Затем нажмите на кнопку Подключить. Вы должны увидеть следующую страницу:

Теперь примите сертификат, отметьте «Всегда доверять сертификату в будущих сеансах» и нажмите кнопку «ОК». После успешного входа вы должны увидеть следующую страницу:

Теперь вы можете безопасно передавать файлы через SSL/TLS.

Поздравляем! вы успешно установили и настроили сервер ProFTPD и защитили его с помощью шифрования SSL/TLS. Теперь вы можете легко перенести файл с локального компьютера на FTP-сервер с помощью безопасного шифрования. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.