Как установить ProFTPD в Ubuntu 20.04
File T ransfer P rotocol (FTP) до сих пор широко используется технология для перемещения файлов по компьютерной сети. Он известен своей легкостью, простотой установки и использования. FTP имеет плохую репутацию небезопасного протокола, потому что он передает пароли и данные в виде простого текста. Однако современные FTP-серверы, такие как ProFTPD, поддерживают FTP через TLS, поэтому соединение шифруется с использованием TLS / SSL. В этом руководстве я покажу вам, как настроить ProFTPD, чтобы соединение было зашифровано с использованием TLS.
ProFTPd — это приложение FTP-сервера с открытым исходным кодом, которое позволяет вам настраивать свои собственные FTP-серверы на машинах Linux, тем более, если они являются выделенными серверами или облачными экземплярами. Мы собираемся установить последнюю версию ProFTPD на машину Ubuntu 20.04 с использованием репозиториев Focal Fossa, но она также должна нормально работать с большинством дистрибутивов на основе Debian. Мы также настроили TLS для защиты FTP-соединений.
Предпосылки
- Свежий экземпляр сервера с установленным Ubuntu 20.04 (Focal Fossa).
- Sudo / root-права для установки / настройки приложений.
Обновление вашей системы
Всегда рекомендуется обновлять систему перед установкой каких-либо пакетов или программного обеспечения, особенно если оно поступает из внешних репозиториев. Для этого воспользуемся утилитой «apt-get»:
sudo apt-get update -y sudo apt-get upgrade -y
Перезагрузите сервер, если есть обновления ядра, чтобы применить изменения.
sudo reboot now
Установка ProFTPD Server
Теперь, когда ваша система обновлена, мы можем продолжить установку ProFTPD.
По умолчанию ProFTPD доступен в репозиториях Focal Fossa, которые вы можете установить с помощью следующей команды:
sudo apt-get install proftpd -y
После завершения установки вы можете запустить службу proftpd и включить ее автоматический запуск во время загрузки.
sudo systemctl start proftpd sudo systemctl enable proftpd
Теперь, когда служба запущена, мы можем проверить ее статус, используя:
sudo systemctl status proftpd
Вы можете увидеть активный (запущенный) зеленый цвет, поэтому можно с уверенностью заключить, что демон proftpd работает должным образом.
Файлы конфигурации по умолчанию ProFTPD доступны в каталоге /etc/proftpd/proftpd.conf.
Вы можете просмотреть содержимое файла конфигурации, запустив:
sudo nano /etc/proftpd/proftpd.conf
Конфигурация разбита на несколько разделов директив. Давайте посмотрим на эти директивы.
Директива DefaultRoot сообщает FTP-серверу, где по умолчанию обслуживать файлы. Значение DefaultRoot может быть абсолютным или относительным путем. Если для директивы DefaultRoot установлено значение ~ (символ тильды), пользователи будут ограничены доступом к своим домашним каталогам. Вы можете изменить путь к другой папке, например:
DefaultRoot /home/Linux/Docs
Вы можете использовать различные директивы, чтобы установить каждого пользователя в определенный каталог. Например:
DefaultRoot /home/linux A
DefaultRoot / B
Эти строки указывают, что пользователь A будет авторизован в каталоге / home / linux, а пользователь B будет авторизован во всей системе.
Директива ServerName используется для определения имени FTP-сервера. Эту директиву можно использовать в журналах и уведомлениях, поэтому вы должны установить для нее информативное имя, которое имеет для вас значение.
ServerName "Vitux"
Директива Port определяет номер порта, на котором FTP-сервер будет прослушивать соединения. Значение по умолчанию этой директивы — 21.
Создание пользователей ProFTPD
По соображениям безопасности вам следует создать фиктивную учетную запись пользователя с ограниченными разрешениями, которая имеет доступ только к их домашнему каталогу. Это хорошая практика, которой следует придерживаться, когда вы разрешаете пользователям выгружать или скачивать файлы на ваш FTP-сервер.
Установленная версия ProFTPD не поставляется с предварительно созданными пользователями и параметрами конфигурации из коробки. Для этого нам нужно будет добавить нового пользователя.
Давайте создадим пользователя FTP linuxways с папкой / home / linuxways в качестве домашней папки.
sudo useradd -m linuxways
Создайте новый пароль для нового пользователя.
sudo passwd linuxways
Теперь вы можете протестировать FTP-соединение с помощью пользователя «linuxways». Откройте предпочтительный FTP-клиент (FileZilla, CoreFTP или любой другой), введите данные, такие как IP-адрес, имя пользователя, пароль и порт, и нажмите « Быстрое подключение» .
Как видите, теперь мы можем получить доступ к FTP с новым пользователем. Сервер ProFTPd запущен и работает должным образом.
Если вы хотите добавить больше пользователей, просто создайте их с помощью команды useradd с желаемым именем пользователя. При необходимости вы также можете предоставить пользователю FTP права root.
Настроить TLS для ProFTPD
Чтобы защитить FTP-соединение, вы можете использовать TLS. В этом разделе мы настроим ProFTPD с сертификатом TLS от Let’s Encrypt (бесплатный поставщик SSL) и активируем вновь созданный сертификат в файле конфигурации.
Сначала установите OpenSSL
First, install OpenSSL
sudo apt-get install openssl -y
Теперь, когда у нас установлен OpenSSL, давайте сгенерируем сертификат SSL.
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Давайте быстро посмотрим, что здесь происходит. Мы создаем каталог, в котором будут созданы сертификаты SSL (/ etc / ssl), генерируем запрос сертификата и предоставляем ему срок действия один год (365 дней). Мы также указываем файл закрытого ключа и файл сертификата. Вам нужно будет ответить на некоторые вопросы о вашей организации, подобные приведенному ниже. Просто введите ответ и нажмите Enter.
Приведенная выше команда создаст два файла: proftpd.key и proftpd.crt, которые нам понадобятся для настройки ProFTPD.
Измените разрешение ключевых файлов и на 600.
sudo chmod 600 /etc/ssl/private/proftpd.key sudo chmod 600 /etc/ssl/certs/proftpd.crt
Теперь нам нужно отредактировать основной файл конфигурации, расположенный в /etc/proftpd/proftpd.conf , и добавить некоторую информацию о наших недавно созданных файлах сертификатов.
sudo nano /etc/proftpd/proftpd.conf
Раскомментируйте раздел SSL и TLS, удалив знак «#» в начале строки, чтобы можно было использовать FTP через SSL.
Сохраните и закройте файл. Теперь настроим файл tls.conf
sudo nano /etc/proftpd/tls.conf
Найдите и раскомментируйте следующие строки, удалив знак «#» в начале каждой строки.
Сохраните и закройте файл. Не забудьте перезапустить службу.
sudo systemctl restart proftpd
Если вы хотите проверить, все ли работает должным образом, используйте FTP-клиент и подключитесь к серверу с включенным SSL. Вы должны увидеть предупреждение TLS от вашего FTP-клиента.
Предупреждения TLS от FTP-клиентов — обычное дело. После того, как вы разрешите или подтвердите предупреждение, соединение SSL должно быть установлено, и вы сможете продолжать использовать FTP-клиент в обычном режиме.
Заключение
В этом руководстве мы установили ProFTPD на наш сервер Ubuntu 20.04, создали пользователя для FTP-соединения и протестировали его функциональность. Мы также настроили TLS для защиты FTP-соединения от перехвата или вмешательства в передаваемые данные. Если вам нужна дополнительная информация о параметрах конфигурации ProFTPD, обязательно проверьте их официальную документацию .