Установка и настройка FTP сервер vsftpd в Ubuntu Server с защитой

Как установить и настроить FTP сервер vsftpd в Ubuntu Server с защитой

Vsftpd устанавливается командой sudo apt install vsftpd -y, затем настраивается отключением анонимного доступа в файле /etc/vsftpd.conf и добавлением SSL-сертификата для защиты передачи данных. После перезагрузки сервиса FTP будет доступен локальным пользователям с шифрованием.

Причины необходимости защиты FTP

  • Стандартный FTP передаёт пароли в открытом виде по сети
  • Без защиты SSL/TLS данные перехватываются посредниками
  • Анонимный доступ создаёт уязвимость для несанкционированного скачивания и загрузки файлов
  • Отсутствие логирования затрудняет отслеживание несанкционированных действий

Пошаговая инструкция по установке и настройке

  1. Откройте терминал и выполните команду обновления пакетов: sudo apt update && sudo apt upgrade -y
  2. Установите vsftpd: sudo apt install vsftpd -y
  3. Создайте резервную копию конфигурации: sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
  4. Откройте файл конфигурации: sudo nano /etc/vsftpd.conf
  5. Найдите строку anonymous_enable=YES и измените на anonymous_enable=NO
  6. Убедитесь, что строка local_enable=YES не закомментирована
  7. Найдите write_enable=YES и проверьте, что она активна
  8. Добавьте строку pasv_enable=YES для включения пассивного режима
  9. Установите диапазон пассивных портов: добавьте pasv_min_port=40000 и pasv_max_port=50000
  10. Генерируйте самоподписанный SSL-сертификат: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
  11. Добавьте в конфиг пути к сертификату: rsa_cert_file=/etc/ssl/certs/vsftpd.crt и rsa_private_key_file=/etc/ssl/private/vsftpd.key
  12. Включите SSL/TLS: найдите ssl_enable=NO и измените на ssl_enable=YES
  13. Добавьте строку allow_anon_ssl=NO для запрета SSL для анонимных пользователей
  14. Добавьте force_local_data_ssl=YES для обязательного шифрования передачи данных
  15. Добавьте force_local_logins_ssl=YES для обязательного шифрования при входе
  16. Сохраните файл: нажмите Ctrl+X, затем Y и Enter
  17. Перезагрузите сервис: sudo systemctl restart vsftpd
  18. Включите автозапуск: sudo systemctl enable vsftpd
  19. Проверьте статус: sudo systemctl status vsftpd
  20. Откройте брандмауэр для портов: sudo ufw allow 21/tcp, sudo ufw allow 20/tcp, sudo ufw allow 40000:50000/tcp

Часто задаваемые вопросы

Как подключиться к FTP серверу с клиента? Используйте клиент вроде FileZilla или WinSCP, указав IP сервера, порт 21, имя пользователя и пароль системы Ubuntu, отметив опцию "Требует TLS".

Почему не работает пассивный режим? Проверьте, открыты ли на брандмауэре портовый диапазон 40000:50000 командой sudo ufw status и убедитесь, что провайдер не блокирует эти порты.

Как создать отдельного пользователя только для FTP? Выполните sudo useradd -m -s /usr/sbin/nologin ftpuser, установите пароль sudo passwd ftpuser и измените владельца папки: sudo chown ftpuser:ftpuser /home/ftpuser/

Похожие материалы

Samba сервер в Linux для организации сетевого хранилища компании
DHCP сервер на базе Windows Server 2022
Роль контроллера домена Active Directory в Windows Server