Установка ftp-сервера ProFTPD на Debian 11 |
![]() |
Добавил(а) microsin |
ProFTPD это бесплатный FTP-сервер, который используется либо как отдельное приложение, либо как модуль для других программ. Сервер ProFTPD разработан с учетом недостатков Wu-ftpd, с акцентом на высокую производительность, безопасность и гибкое конфигурирование. ProFTPD работает на многих платформах, включая SCO, OpenBSD, AIX, Linux, Mac OS X, NetBSD, Solaris. По факту многие известные компании, такие как Slackware, SourceForge, Duno, Linksys доверяют свой высокий трафик серверу ProFTPD. В дополнение к поддержке стандарта RFC 959, определяющего протокол FTP, сервера proFTPD также обладают многими продвинутыми функциями, включая конфигурационные файлы в стиле Apache, маскировка файлов и директорий, возобновление прерванных загрузок, псевдонимы файлов и директорий. В сравнении с другими решениями, которые больше фокусируются, например, на простоте, скорости или безопасности, основное назначение дизайна ProFTPD - реализовать очень мощный FTP-сервер с широким диапазоном опций конфигурации. Некоторые серверы FTP, наподобие Spiceworks и SolarWinds, работают как часть полнофункциональных сетевых инструментов управления. Для некоторых серверов FTP, таких как ProFTPd, требуется включить опцию NoSessionReuseRequired, если вы используете режим Transport Layer Security (TLS), преемник Secure Socket Layer (SSL). Основные функциональные особенности ProFTPD: • Любой администратор, кто использует web-сервер Apache, сразу разберется в директивах главного конфигурационного файла и директивах групп. Преимущества сервера ProFTPD: • Сервер ProFTPD не поддерживает команду SITE EXEC, представляющую кошмар для безопасности в современном Интернет-окружении. Далее описывается пошаговый процесс установки. Подразумевается, что на сервере используется Debian, и для установки есть доступ пользователя root либо пользователя с привилегиями sudo. [Шаг 1: начало] Залогиньтесь на сервер и обновите все системные пакеты до последней версии следующими командами. # apt update -y После обновления всех пакетов можно приступить к установке сервера ProFTPD. [Шаг 2: установка сервера ProFTPD] Сервер PoFTPD доступен в репозитории Debian по умолчанию. Для установки запустите следующую команду, установка займет несколько секунд: # apt install proftpd -y После завершения установки вы можете запустить службу ProFTPD следующей командой: # systemctl start proftpd Проверим статус активности службы ProFTPD следующей командой: # systemctl status proftpd Oct 29 04:20:00 5-63-155-210.cloudvps.regruhosting.ru systemd[1]: Starting ProFTPD FTP Server... Обратите внимание, что стиль вывода состояния сервера очень похож на вывод состояния сервера веб-сервера nginx [3]. По умолчанию сервер ProFTPD устанавливается для прослушивания порта 21. Это можно проверить следующей командой. # ss -antpl | grep proftpd [Шаг 3: создание пользователя ProFTPD] Теперь нужно создать пользователя FTP для проверки работы сервера ProFTPD. Для создания пользователя с именем ftpuser запустите следующую команду. # adduser ftpuser После создания пользователя FTP залогиньтесь под ftpuser следующей командой. # su - ftpuser Далее создайте несколько директорий (folder1, folder2) и файлов (testing1 testing2) следующими командами. $ mkdir folder1 folder2 После этого выйдите из сессии пользователя ftpuser командой exit: $ exit После этого вы уже можете подключиться извне под пользователем ftpuser и получить полный доступ к содержимому его домашней директории (/home/ftpuser). Также у ftpuser есть возможность просматривать структуру каталогов сервера, где работает ProFTPD, но без права доступа к содержимому файлов, и конечно без права доступа на запись. [Шаг 4: конфигурирование сервера ProFTPD] /etc/proftpd/proftpd.conf это обычно единственный конфигурационный файл, который использует ProFTPD. Каждая директива в этом файле чаще всего находится в одной строке, где указано имя и значение. Каждая директива устанавливает один настраиваемый параметр, такой как место размещения (location), или приветственное сообщение при входе (welcome message), или имя скрытого файла. Дополнительно здесь присутствуют специальные директивы контейнера (container) для объединения других директив, охватывающих множество строк, но относящихся только к одному виртуальному серверу или директории. Далее нам предстоит отредактировать файл конфигурации по умолчанию ProFTPD и поменять его настройки. # nano /etc/proftpd/proftpd.conf Поменяйте следующие настройки: ServerName Debian11 Далее добавьте следующие строки в конец файла: < Directory /home/ftpuser> Umask 022 AllowOverwrite off < Limit LOGIN> AllowUser ftpuser DenyAll < /Limit> < Limit ALL> AllowUser ftpuser DenyAll < /Limit> Сохраните файл, выйдите из редактора, и перезапустите ProFTPD командой: # systemctl restart proftpd Такое может произойти, если у пользователя по какой-то причине отсутствует домашняя директория (подкаталог в папке /home, носящий имя пользователя). Для устранения ошибки создайте каталог для пользователя, сделайте его владельцем этого каталога. Пример команд для пользователя andrey: # mkdir /home/andrey [Шаг 5: как подключиться к ProFTPD из командной строки?] На операционных системах Linux есть утилита ftp, которая позволяет из командной строки работать с FTP-сервером. Подразумевается, что вы подключились удаленно к машине Linux, открыли интерфейс командной строки. Тогда для подключения к серверу ProFTPD введите следующую команду (здесь aaa.bbb.ccc.ddd это IP-адрес сервера ProFTPD или доменное имя, соответствующее его IP-адресу): $ ftp aaa.bbb.ccc.ddd Команда запросит имя пользователя FTP и пароль. Connected to ftp-server-ip. После успешного логина вы получите шелл FTP, как показано ниже. 230 User ftpuser logged in Теперь вы можете проверить ваши файлы и директории, которые вы создали на шаге 3, для этого выполните следующие команды. ftp> ls На Windows существуют также удобные программы для доступа через FTP, например FileZilla или TotalCommander. [Шаг 6: конфигурирование ProFTPD для поддержки SSL/TLS] Будет хорошей идеей защитить FTP-трафик сервера ProFTPD шифрованием протокола SSL/TLS. Для этого сначала установим инструментарий SSL. # apt-get install openssl -y Сгенерируйте сертификаты SSL: # openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out \ Generating a RSA private key Country Name (2 letter code) [AU]:US Затем установите правильные разрешения на сгенерированных файлах сертификата: # chmod 600 /etc/ssl/private/proftpd.key После этого отредактируйте файл конфигурации ProFTPD, и определите путь файла конфигурации TLS: # nano /etc/proftpd/proftpd.conf Добавьте в файл следующую строку: Include /etc/proftpd/tls.conf Сохраните и закройте файл /etc/proftpd/proftpd.conf, и затем отредактируйте файл конфигурации TLS: # nano /etc/proftpd/tls.conf В этом файле определите сертификаты TLS и другую конфигурацию, как показано ниже: TLSRSACertificateFile /etc/ssl/certs/proftpd.crt Сохраните и закройте файл, после чего перезапустите службу ProFTPD для внесенных изменений: # systemctl restart proftpd После завершения всех этих действий вы можете попробовать подключиться к ProFTPD через GUI-интерфейс программы FileZilla. [Шаг 7: доступ к ProFTPD с помощью FTP-клиента FileZilla] Существует несколько клиентов FTP с графическим (GUI) интерфейсом пользователя. Здесь мы подключимся к серверу ProFTPD с помощью программы FileZilla. A) Сначала установите FileZilla на машине, удаленной по отношению к ProFTPD. Это может быть операционная система Linux или Windows, у которой есть сетевой доступ к серверу ProFTPD по известному IP или доменному имени. B) Далее кликните на "create new connection". Вы увидите диалог настройки соединения FTP. C) Укажите FTP IP, username, password, и кликните на кнопку "connect". После успешного подключения вы должны увидеть файлы и директории, которые были созданы на шаге 3. [Ссылки] 1. How to Install ProFTPD on Debian 11 Server (Step by Step) site:cloudinfrastructureservices.co.uk. |