Перейти к основному контенту

Настройка FTP-сервера в Windows Server 2022

Статья написана для Windows Server 2022, но можете быть применена к другим версиям ОС с некоторыми отличиями.

Введение

FTP (File Transfer Protocol) — это стандартный сетевой протокол, предназначенный для передачи файлов между клиентом и сервером. Настройка собственного FTP-сервера на Windows Server 2022 позволяет организовать удобный доступ к файлам вашего сервера, например, для загрузки или скачивания данных, резервного копирования или обмена файлами с коллегами.

В этой статье мы рассмотрим пошаговую настройку FTP-сервера с использованием встроенной роли IIS (Internet Information Services), которая включает в себя компонент FTP-сервера.

Установка роли FTP-сервера

Компонент FTP-сервера входит в состав веб-сервера IIS. Мы установим его через диспетчер сервера.

Использование графического интерфейса (Server Manager)

  1. Откройте Диспетчер сервера (Server Manager) из меню «Пуск» или панели задач.
    • image.png

  2. Нажмите Управление Добавить роли и компоненты.
    • image.png

  3. В мастере нажмите Далее до шага Выбор сервера. Убедитесь, что выбран ваш локальный сервер.
    • image.png

  4. На шаге Роли сервера выберете Веб-сервер (IIS), в открывшемся окне "Мастер добавления ролей и компонентов" нажмите "Добавить компоненты".
    • image.png

  5. На этапе Службы ролей и найдите раздел FTP-сервер.
    • image.png

  6. Установите флажки:
    • Служба FTP
    • Расширяемость FTP
      (Если планируется использовать FTP с SSL, дополнительные компоненты не требуются.)
    • image.png

  7. Нажмите Далее и затем Установить. Дождитесь завершения установки.
    • image.png

Установка через PowerShell

Для автоматизации или удалённой установки можно использовать PowerShell. Запустите PowerShell от имени администратора и выполните команду:

Install-WindowsFeature -Name Web-Ftp-Service, Web-Ftp-Ext -IncludeManagementTools

Эта команда установит службу FTP и расширения FTP, а также инструменты управления (консоль IIS).

Подготовка каталога для FTP

Прежде чем создавать FTP-сайт, создайте папку, которая будет корневой для вашего FTP. Например:

C:\FTP\MySite

image.png

В этой папке будут храниться файлы, доступные по FTP. Убедитесь, что у папки настроены необходимые NTFS-разрешения (об этом позже).

Создание FTP-сайта в IIS

  1. Откройте Диспетчер служб IIS (inetmgr). Его можно найти через поиск в «Пуск».
    • image.png

  2. В левой панели (Подключения) щёлкните правой кнопкой мыши на узле Сайты и выберите Добавить FTP-сайт...
    • image.png

  3. В мастере создания FTP-сайта укажите:
    • Имя FTP-сайта: например, «Мой FTP».
    • Физический путь: путь к созданной ранее папке, например C:\FTP\MySite.
    • Нажмите Далее.
    • image.png

  4. Настройка привязок и SSL:
    • IP-адрес: выберите IP-адрес сервера из выпадающего списка или оставьте «Все не назначенные», если сервер использует один IP.
    • Порт: по умолчанию 21.
    • Включить виртуальное имя хоста: можно оставить пустым, если не требуется несколько FTP-сайтов на одном IP.
    • SSL: выберите опцию:
      • Без SSL — не рекомендуется, так как пароли и данные передаются открыто.
      • Разрешить SSL — клиенты смогут подключаться как с SSL, так и без.
      • Требовать SSL — наиболее безопасный вариант, требуется наличие сертификата.
        Если у вас нет сертификата, можно сначала выбрать «Без SSL», а затем настроить SSL позже.
    • Нажмите Далее.
    • image.png

  5. Настройка аутентификации и авторизации:
    • Анонимная аутентификация: если хотите разрешить доступ всем без пароля, установите этот флажок.
    • Обычная аутентификация: требуется для доступа по логину/паролю. Рекомендуется включить для безопасности.
    • Авторизация: выберите, кому разрешён доступ:
      • Все пользователи — доступ для всех аутентифицированных пользователей.
      • Указанные роли или группы пользователей — например, можно указать группу «FTPUsers».
      • Указанные пользователи — перечислить конкретных пользователей.
    • Разрешения: выберите Чтение и/или Запись в зависимости от необходимого уровня доступа.
    • Нажмите Готово.
    • image.png

После этого FTP-сайт появится в списке сайтов IIS.

image.png

Настройка брандмауэра Windows

Для корректной работы FTP-сервера (особенно в пассивном режиме) необходимо открыть порты в брандмауэре.

Разрешение порта 21 (управляющее соединение)

  1. Откройте Брандмауэр Защитника Windows с повышенной безопасностью.
    • image.png

  2. Выберите Правила для входящих подключений и нажмите Создать правило.
    • image.png

  3. Тип правила: Для порта.
    • image.png

  4. Выберите TCP и укажите Определённые локальные порты: 21.
    • image.png

  5. Действие: Разрешить подключение.
    • image.png

  6. Примените правило для всех профилей (доменный, частный, публичный).
    • image.png

  7. Задайте имя, например «FTP (порт 21)».
    • image.png

Настройка диапазона пассивных портов и их открытие

Для пассивного режима FTP сервер сообщает клиенту порт для передачи данных. По умолчанию Windows Server 2022 использует динамический диапазон портов, но для FTP рекомендуется задать фиксированный диапазон и открыть его в брандмауэре.

Назначение диапазона пассивных портов через IIS
  1. В диспетчере IIS выберите ваш сервер.
    • image.png

  2. Дважды щёлкните Поддержка брандмауэра FTP.
    • image.png

  3. В разделе Диапазон портов канала данных укажите диапазон, например от 50000 до 51000.
    • image.png

  4. В поле Внешний IP-адрес для пассивных подключений введите публичный IP-адрес вашего сервера (если сервер находится за NAT, иначе можно оставить пустым). Это необходимо, чтобы сервер сообщал клиенту правильный IP для подключения.
    • image.png

  5. Нажмите Применить в правой панели.
    • image.png

  6. Перезапустите службу
    • Чтобы изменения вступили в силу, необходимо перезапустить службу Microsoft FTP Service (через оснастку services.msc)
    • image.png

    • image.png

Открытие диапазона портов в брандмауэре

Создайте ещё одно правило для входящих подключений, аналогично шагам выше, но укажите диапазон портов, например 50000-51000. Назовите правило, например «FTP Passive Ports».

image.png

Настройка пользователей и разрешений

Создание локальных пользователей (если необходимо)

Если вы планируете использовать обычную аутентификацию, можно создать локальных пользователей на сервере:

  1. Откройте Управление компьютеромЛокальные пользователи и группыПользователи.
    • image.png

  2. Нажмите правой кнопкой мыши → Новый пользователь.
    • image.png

  3. Задайте имя пользователя, пароль и отключите опцию «Требовать смену пароля при следующем входе», если нужно.
    • image.png

  4. Нажмите Создать.

Для удобства можно создать группу, например FTPUsers, добавить в неё пользователей и при настройке авторизации FTP указывать эту группу.

Настройка NTFS-разрешений

Важно: разрешения FTP (чтение/запись), заданные в IIS, работают в совокупности с NTFS-разрешениями. Пользователь должен иметь соответствующие права на файловой системе.

  1. Перейдите в папку FTP (например, C:\FTP\MySite), нажмите правой кнопкой мыши → Свойства → вкладка Безопасность.
    • image.png

  2. Добавьте необходимых пользователей или группы (например, группу FTPUsers).
    • image.png

  3. Назначьте права: Чтение и выполнение, Запись и т.д.
    • image.png

  4. Если используется анонимный доступ, учётная запись IUSR должна иметь права на чтение (или запись). Обычно анонимный доступ работает через встроенную учётную запись IUSR.

Проверка подключения

  1. На компьютере откройте любой FTP-клиент (например, FileZilla, WinSCP или Проводник в Windows).
    • image.png

  2. Введите IP-адрес или доменное имя сервера, порт 21, имя пользователя и пароль (если используется обычная аутентификация).
    • image.png

  3. Попробуйте подключиться и выполнить передачу файлов.

Если подключение не удаётся, проверьте:

  • Брандмауэр на сервере.
  • Правильность введённых учётных данных.
  • Включена ли соответствующая аутентификация на FTP-сайте.
  • Настроен ли диапазон пассивных портов и открыты ли они.

Дополнительные настройки и рекомендации

Использование FTP over SSL (FTPS)

Для защиты передаваемых данных рекомендуется настроить SSL. Для этого:

  1. Получите SSL-сертификат (можно самоподписанный для тестирования, но для производства лучше использовать доверенный сертификат).
  2. В диспетчере IIS выберите сервер, затем дважды щёлкните Сертификаты сервера.
  3. Импортируйте или создайте сертификат.
  4. Затем выберите ваш FTP-сайт, откройте Привязки FTP... в правой панели.
  5. Добавьте привязку на порт 990 (стандартный порт для FTPS) или используйте порт 21 с указанием SSL-сертификата.
  6. В настройках аутентификации включите требование SSL.

Ограничение скорости и квоты

В IIS можно настроить ограничения пропускной способности для FTP-сайта:

  1. Выберите FTP-сайт, откройте Ограничения пропускной способности FTP.
  2. Установите флажок Ограничить использование пропускной способности (в байтах) и укажите значение.

Логирование

Включите логирование для отслеживания подключений и ошибок:

  1. Выберите FTP-сайт, дважды щёлкните Ведение журнала FTP.
  2. Настройте формат и расположение журналов.

Изоляция пользователей

Если требуется, чтобы каждый пользователь видел только свою папку, можно настроить изоляцию пользователей FTP:

  1. Создайте структуру папок, например: C:\FTP\LocalUser\ИмяПользователя.
  2. В мастере создания FTP-сайта укажите корневую папку C:\FTP.
  3. В настройках FTP-сайта откройте Изоляция пользователей FTP.
  4. Включите режим изоляции (например, «Имя каталога пользователя (отключить глобальные виртуальные каталоги)»).
  5. Убедитесь, что пользователи имеют соответствующие NTFS-права на свои папки.

Заключение

Вы успешно настроили FTP-сервер на Windows Server 2022. Теперь вы можете управлять доступом к файлам, добавлять новых пользователей и настраивать параметры безопасности. Не забывайте регулярно обновлять сервер и следить за журналами для выявления подозрительной активности.