Как поднять ftp сервер на Linux

Одним из самых практичных и хорошо известных протоколов выгрузки файлов на удаленный сервер является File Transfer Protocol (проще говоря, FTP). Этот инструмент нельзя причислять к списку современных разработок, но с актуальностью его применения трудно поспорить. Многие веб-мастера используют данный протокол для создания хранилища информации и управления файлами.

В данном материале пойдет речь о мельчайших нюансах установки и дальнейшей настройке конфигураций FTP-сервера на ПК.

В текущем примере фигурируют ОС Ubuntu, Debian, Centos и один из надёжнейших FTP-серверов  под названием VSFTPD. Альтернативой последнему также способен послужить FTP-сервер Very Secure FTP Daemon.

Перечисленные инструменты прекрасно защищены от всевозможных уязвимостей, а потому пользуются большой популярностью у пользователей Linux. Им действительно можно доверять.

Установка ФТП-сервера

Данную программу можно взять из официального репозитория. Первым делом пользователю необходимо произвести обновление перечня пакетов в репозиториях.

Второй мерой будет непосредственно сама установка инструмента. Воспользуйтесь терминалом и перейдем в режиме суперпользоволя:

$ sudo bash

Процесс установки немного отличается от разных версиях Линукс, поэтому рассмотрим их отдельно.

Для Debian / Ubuntu:

# apt update

# apt install vsftpd

Для Centos 7:

# yum install vsftpd

Для Centos 8

# dnf install vsftpd

По окончанию процесса установки важно не упустить один важный момент: самостоятельное включение сервиса vsftpd.

К сожалению, он не будет запущен в автоматическом режиме, что было бы намного удобнее, но это крайне необходимо для нормального процесса установки программы. После включения vsftpd необходимо добавить службу в автозагрузку.

На практике это делается следующим образом:

  • Первое действие:

# systemctl start vsftpd

  • Второе действие:

# systemctl enable vsftpd

Важно! При добавлении инструмента в Linux нередко возникают различные помехи и сложности. Одной из распространенных преград становится фаервол ufw - для Centos и iptables для Debian / Ubuntu.

Чтобы решить текущую проблему, пользователю достаточно открыть порты «20» и «21». После этого процесс установки программы продолжится в нормальном режиме.

Чтобы открыть порты, следует выполнить несколько простых действий. Они будут рассмотрены ниже.

Для фаерволла ufw, по умолчанию используется в операционной системе Centos.

  • Первое действие:

# ufw allow 20/tcp

  • Второе действие:

# ufw allow 21/tcp

  • Третье действие:

# ufw status

Для iptables, по умолчанию используется в операциооных системах Debian и Ubuntu.

# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT

После этого процесс установки программы можно считать завершенным. Однако впереди пользователя ожидает процесс настройки компонентов ФТП сервера, установленного для ОС Линукс. Правильные настройки программы – это гарант безопасной работы с системой, поэтому каждому юзеру Линукс следует быть внимательным при дальнейшем изучении нашего материала.

Важно! Установленная программа уже имеет выставленные стандартные настройки, за счет параметров которых FTP-сервер может начинать выполнение своих прямых «обязанностей». Именно это нередко провоцирует халатность со стороны владельцев Линукс. Многие пользователи считают, что настройки по умолчанию выставлены правильно, и менять эти параметры вовсе не обязательно. Дескать, зачем тратить лишнее время, если программа работает.

Но не все так просто, как это может показаться на первый взгляд. Основная загвоздка кроется в том, что подобный режим работы FTP-сервера в производственных сетях – крайне небезопасная затея. Этого нельзя допускать! Именно поэтому мы приступаем к разбору настроек компонентов программы.

Настройка ФТП

Перед внесением коррективов в настройки программы рекомендуется произвести копирование оригинального файла с текущими параметрами.

Это послужит некой перестраховкой на тот случай, если что-то пойдет не поп плану, и будет целесообразным вернуть всё на свои первоначальные места. Копируем данные:

# cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

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

# nano /etc/vsftpd.conf

Далее потребуется внести некоторые правки в исходный файл.

Примечание: те параметры, которые нуждаются в коррективах, уже указаны в файле. Это значит, что пользователю необходимо найти их и заменить другими значениями. Создавать новые параметры при их наличии не требуется!

Прежде чем выполнить задуманное, потребуется отключить вход в режиме «аноним». Как это сделать:

anonymous_enable = NO

Теперь нужно разрешить вход для локальных юзеров Linux. Для этого выполните следующее действие:

local_enable = YES

Чтобы авторизованные юзеры Линукс получили возможность корректировать системные файлы, нужно предоставить им разрешение некоторых команд. На практике это выглядит так:

write_enable = YES

Так как FTP-сервер начнет образовывать новые файлы, необходимо указать для них другое значение. А именно:

local_umask = 022

Чтобы юзер системы мог осуществить выбор определенного каталога после прохождения «registration», потребуется включить соответствующее сообщение:

dirmessage_enable = YES

Чтобы фаервол мог функционировать без сбоев, пользователю необходимо выбрать порт для передачи информации.

Это не может быть случайный порт.

Измените текущие параметры в файле следующим способом:

connect_from_port_20 = YES

Затем измените параметр, отвечающий за ожидание входящих соединений. Это делается очень просто:

listen=YES

Необходимо самостоятельно и по собственному усмотрению выбрать списки тех пользователей, которым будут разрешены или запрещены доступы к различным файлам и папкам.

Всё это делается с целью повышения уровня безопасности системы. Каких-либо конкретных рекомендаций в этом вопросе быть не может, поскольку всё слишком индивидуально. Пользователю остается лишь отыскать нужные команды для коррективов тех или иных параметров программы.

Как надёжно защитить данные в Linux

Грамотная шифровка передаваемой информации – еще один из ключевых гарантов безопасности системы. Чтобы FTP-сервер работал в оптимальном и хорошо защищенном режиме, необходимо произвести дополнительные настройки, касаемые FTPS.

К чему это приведет, если объяснять простыми словами? Система продолжит передавать данные по FTP-серверу, но поверх SSL-протокола. Лишь этот нюанс отличает новые параметры настроек от параметров, установленных по умолчанию.

Вопрос: как включить FTPS-режим в Линукс?

Ответ: для этих целей понадобится специальная директива. Она указана ниже:

ssl_enable=YES

Далее пользователю необходимо открыть файл под названием «vsftpd.conf», являющийся стандартным файлом в системе. В нем содержатся определенные опции, ключи и сертификаты, которые не подходят для дальнейшего функционирования программы в операционной системе Линукс.

Эти данные необходимо заменить в обязательном порядке. Дело в том, что активация режима FTPS для FTP-сервера без ключей и сертификатов является невозможным, поэтому их нужно сгенерировать заново, под свой ПК или сервер.

Заключение

Процесс установки и настройки конфигураций FTP-сервера в Линукс – вполне реальная и легко выполнимая задача для тех, кто умеет безоговорочно следовать инструкциям. Все необходимые базовые рекомендации даны в этой статье.

Еще раз хотим напомнить о важности внесения новых параметров в настройки программы.

Если FTP-сервер начнет работать с настройками по умолчанию, уровень безопасности системы начнет снижаться, а риски поймать уязвимость – расти. Разработчики советуют не жалеть времени на грамотное и полноценное настраивание программы. Это позволит защитить ПК или сервер и не возвращаться к этим вопросам в дальнейшем.