- Что такое FTP-сервер
- Установка FTP-сервера
- Настройка FTP-сервера на Ubuntu
- Подключение защищённого соединения SSL/TLS
- Создание FTP-пользователей и выдача доступа
- Настройка брандмауэра
Что такое FTP-сервер
FTP-сервер – это тип сервера, который предназначен для передачи файлов между компьютерами в сети с использованием протокола передачи файлов (FTP). FTP – один из старейших сетевых протоколов, который был разработан для безопасной и эффективной передачи данных между серверами и клиентскими системами через интернет или локальные сети.
Далее в руководстве мы сосредоточимся на его разновидности – vsftpd.
vsftpd (Very Secure FTP Daemon) – это FTP-сервер для UNIX-подобных систем, а также одно из наиболее популярных решений для настройки FTP-сервера из-за его простоты, безопасности и производительности.
Основные особенности vsftpd:
- vsftpd менее подвержен уязвимостям благодаря своей архитектуре и ограниченному количеству опций, что снижает риск неправильной настройки. Сервер использует изолированные процессы и chroot-среды для увеличения уровня безопасности.
- vsftpd известен своей высокой скоростью передачи данных и масштабируемостью. Он может обрабатывать большое количество соединений эффективно и стабильно.
- vsftpd позволяет использовать виртуальные аккаунты, что удобно для управления множеством пользователей без создания реальных учетных записей на сервере.
- vsftpd предлагает широкие возможности настройки через файл конфигурации, позволяя администраторам точно настроить работу сервера под свои нужды.
- vsftpd поддерживает шифрование сессий через SSL/TLS, обеспечивая безопасную передачу данных и защиту от различных видов атак.
Установка FTP-сервера
- Откройте терминал на вашем сервере Ubuntu и выполните следующую команду для установки vsftpd:
sudo apt install vsftpd
- После установки FTP-сервер начнёт работу. Чтобы проверить, что сервер действительно запущен, можно воспользоваться следующей командой для проверки статуса сервиса:
- Чтобы сервер автоматически запускался при старте системы, его нужно добавить в список автозагрузки:
Настройка FTP-сервера на Ubuntu
Откройте основной конфигурационный файл vsftpd для редактирования:
В этом файле вы найдете множество параметров, которые можно настроить в зависимости от ваших нужд. Например, вы можете:
- Настроить работу сервера по IPv4:
listen_ipv6=NO
- Запретить доступ анонимным пользователям:
- Разрешить доступ локальным пользователям:
- Разрешить пользователям работать с файлами:
- Настроить права для новых файлов:
- Включить сообщения при входе в директорию:
- Настроить использование локального времени на сервере:
- Подключить логирование операций:
- Настроить передачу данных по 20 порту:
- Указать директорию для хранения логов:
- Задать стандартный формат логов:
- Ограничить доступ пользователей к их домашним каталогам:
allow_writeable_chroot=YES
- Включить поддержку авторизации PAM:
- Разрешить вход только пользователям из списка:
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
После внесения всех необходимых изменений сохраните файл и закройте редактор.
Чтобы применить изменения, перезапустите сервис vsftpd:
Убедитесь, что сервер работает с новыми настройками, проверив его статус:
Подключение защищённого соединения SSL/TLS
- Для начала вам нужно сгенерировать самоподписанный SSL-сертификат, который будет использоваться для шифрования соединений.
Выполните следующую команду в терминале:
Эта команда создаст RSA ключ и сертификат с сроком действия один год. Вам предложат ввести информацию о сертификате.
- Откройте файл конфигурации vsftpd для внесения изменений, связанных с SSL:
- В файле конфигурации найдите или добавьте следующие строки, указывающие на местоположение вашего сертификата и приватного ключа:
- Для активации SSL-шифрования добавьте или измените следующую строку в файле конфигурации:
- Сохраните изменения в файле конфигурации, используя комбинацию клавиш CTRL+S.
- Затем закройте редактор CTRL+X.
- Чтобы изменения вступили в силу, необходимо перезапустить FTP-сервер. Выполните следующую команду:
Теперь ваш FTP-сервер настроен на использование защищенного SSL/TLS соединения, что значительно повышает безопасность передачи данных между сервером и клиентами.
Создание FTP-пользователей и выдача доступа
Создание и добавление новых пользователей к FTP-серверу
Если вам нужно создать новых пользователей и предоставить им доступ к FTP, выполните следующие действия:
- Для начала создайте нового пользователя на сервере, используя следующую команду.
Где «username» замените на выбранное имя пользователя.
Ключ -m гарантирует создание домашнего каталога для нового пользователя.
- Установите пароль для нового пользователя с помощью следующей команды:
Где «username» замените на выбранное имя пользователя.
- Введите и подтвердите пароль.
- Добавьте пользователя в /etc/vsftpd.userlist, чтобы разрешить ему доступ к FTP:
Добавление существующих пользователей к FTP-серверу
Если у вас уже есть пользователи на сервере, которым вы хотите предоставить доступ к FTP, выполните следующие шаги:
- Откройте файл /etc/vsftpd.userlist, где будут перечислены пользователи с доступом к FTP.
- Введите имя каждого пользователя, которому вы хотите разрешить доступ, по одному имени на строку.
- Сохраните изменения, нажав CTRL+S.
- Закройте редактор с помощью сочетания клавиш CTRL+X.
Теперь у всех указанных в файле пользователей есть доступ к FTP.
Настройка брандмауэра
Для работы FTP-сервера и связанных с ним сервисов вам потребуется открыть следующие порты:
- Порт 20 (FTP-DATA):
Используется для передачи данных в активном режиме FTP.
- Порт 21 (FTP):
Стандартный порт для подключения к FTP-серверу.
- Порт 22 (SSH):
SSH используется для безопасного доступа к серверу, включая SFTP.
- Порт 990 (FTPS):
Порт для FTP через SSL, известный как FTPS.
- Диапазон портов 40000-50000:
Подходит для пассивного режима FTP, где сервер информирует клиента о порте, который следует использовать для передачи данных.
Чтобы применить изменения и перезагрузить правила брандмауэра, выполните следующие команды:
Это временно отключит брандмауэр и снова включит его, чтобы все внесённые изменения применились.
После перезагрузки проверьте статус UFW, чтобы убедиться, что все необходимые порты открыты:
Эта команда отобразит список всех активных правил UFW, включая разрешенные порты и протоколы, обеспечивая ясность в отношении текущей конфигурации безопасности вашего сервера.
Такая настройка брандмауэра обеспечит необходимый уровень безопасности для корректной работы вашего FTP-сервера на Ubuntu.