Как установить ProFTPD с TLS на Ubuntu 18.04 LTS
На этой странице
- Требования
- Начало работы
- Установить ProFTPD
- Защита ProFTPD с помощью TLS
- Настройте ProFTPD для использования SSL
- Создать пользователя для ProFTPD
- Доступ к серверу 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-сервер с помощью безопасного шифрования. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.