В офисе скопились десятки гигабайт рабочих документов, дистрибутивов и резервных копий. Обмениваться файлами через общие папки SMB удобно внутри сети, но как быть с удалёнными сотрудниками или филиалами? Открывать SMB (порты 445, 139) в интернет смертельный номер: протокол небезопасен, его постоянно атакуют шифровальщики. Нужен простой, стандартизированный и относительно безопасный способ передачи файлов через интернет или внутри корпоративной сети без риска подхватить вирус.
Многие вспоминают про FTP. Но старый добрый FTP передаёт логин и пароль в открытом виде, что тоже небезопасно. Однако современные версии FTP-сервера на Windows поддерживают FTP over SSL (FTPS), который шифрует канал и делает передачу данных защищённой.
В Windows Server встроен компонент FTP-сервера как часть роли IIS (Internet Information Services). Он позволяет быстро развернуть FTP-сервер с поддержкой виртуальных хостов, изоляции пользователей, SSL/TLS шифрованием и интеграцией с Active Directory. Настроив FTPS, вы получите безопасный доступ к файлам из любой точки мира, используя любой FTP-клиент.
Мы пройдём путь от установки роли до создания защищённого FTP-сайта с пользователями из AD (или локальными учётками) и настроим брандмауэр, чтобы сервер был доступен извне.
Шаг 1. Установка роли FTP-сервера
- Откройте Диспетчер серверов (Server Manager).
- Нажмите Управление, Добавить роли и компоненты.
- Выберите тип установки: Установка ролей или компонентов.
- Выберите целевой сервер.
- В списке ролей разверните Веб-сервер (IIS), FTP-сервер. Отметьте:
- Служба FTP (FTP Service)
- Расширяемость FTP (FTP Extensibility) если планируете использовать нестандартные возможности.
- При необходимости мастер предложит добавить компоненты .NET соглашайтесь.
- Нажмите Далее и установите.
После установки перезагрузка не требуется, но лучше перезапустить службы IIS.
Шаг 2. Создание FTP-сайта
- Откройте Диспетчер служб IIS (inetmgr).
- В левом дереве выберите узел Сайты (Sites).
- Нажмите правой кнопкой → Добавить FTP-сайт….
- Укажите Имя FTP-сайта (например, «Corporate FTP») и Физический путь к папке, которая будет корнем FTP (например,
D:\FTPRoot). Папка должна существовать. - Нажмите Далее.
- Настройка привязки и SSL:
- IP-адрес: выберите конкретный IP или «Все свободные».
- Порт: 21 (стандартный).
- Включить виртуальные имена хостов: можно оставить пустым, если FTP работает по IP.
- SSL: выберите Разрешить SSL или Требовать SSL (если у вас есть сертификат). Для теста можно выбрать Без SSL, но для продакшена обязательно используйте SSL. Если сертификата нет, выберите «Разрешить SSL», потом настроите.
- Сертификат SSL: если есть готовый (например, самоподписанный или от центра сертификации), выберите его. Можно создать самоподписанный позже в IIS.
- Нажмите Далее.
- Настройка проверки подлинности и авторизации:
- Анонимная проверка подлинности: снимите, если не нужен гостевой доступ.
- Обычная проверка подлинности: включите (это передача логина/пароля в открытом виде, но при SSL шифруется).
- Авторизация: выберите, кому разрешено. Например, «Указанные роли или группы пользователей» и введите «Администраторы», или «Все пользователи», или конкретных пользователей через «Указанные пользователи».
- Разрешения: чтение и запись.
- Нажмите Готово.
FTP-сайт создан и запущен.
Шаг 3. Настройка SSL для FTPS
Чтобы шифровать канал, нужен SSL-сертификат. Можно использовать самоподписанный (для внутреннего использования) или приобретённый (для внешнего доступа).
Создание самоподписанного сертификата в IIS:
- В диспетчере IIS выберите узел сервера (верхний уровень).
- Дважды щёлкните Сертификаты сервера (Server Certificates).
- В правой панели нажмите Создать самозаверяющий сертификат….
- Задайте понятное имя, например «FTP Self-Signed».
- Нажмите ОК.
Привязка сертификата к FTP-сайту:
- Выберите ваш FTP-сайт в дереве.
- В правой панели нажмите Привязки… (Bindings).
- Выберите привязку типа ftp и нажмите Изменить.
- В разделе SSL-сертификат выберите созданный сертификат.
- Установите Требовать SSL-соединение (если хотите принудительно).
- Закройте окно.
Теперь FTP-сервер будет работать только по защищённому соединению.
Шаг 4. Настройка брандмауэра
Для доступа из внешней сети нужно открыть порты:
- TCP 21 управляющее соединение.
- TCP 1024–65535 для пассивного режима передачи данных (диапазон можно сузить, настроив IIS).
Настройка диапазона пассивных портов в IIS:
- Откройте Диспетчер IIS, выберите узел сервера.
- Дважды щёлкните FTP-поддержка брандмауэра (FTP Firewall Support).
- В поле Диапазон портов для пассивного режима укажите, например,
30000-30999. - В поле Внешний IP-адрес укажите публичный IP-адрес сервера (если за NAT).
- Нажмите Применить.
Теперь откройте эти порты в брандмауэре Windows:
- Откройте Брандмауэр Защитника Windows в режиме повышенной безопасности.
- Создайте входящие правила для портов 21 и 30000-30999 (TCP). Можно разрешить только для профиля «Частный» или «Доменный», если сервер в локальной сети, или «Общественный», если он доступен из интернета.
Если сервер стоит за NAT (роутером), настройте проброс портов на роутере.
Шаг 5. Создание пользователей и папок
Для доступа к FTP можно использовать локальные учётные записи Windows или доменные (если сервер в домене). Каждому пользователю можно назначить собственную корневую папку, чтобы он не видел чужие файлы.
Изоляция пользователей FTP:
- В корне FTP (например,
D:\FTPRoot) создайте папкуLocalUser. - Внутри создайте папки с именами пользователей (для локальных
Public, для доменных —имя_домена\имя_пользователя, но проще использовать локальных). - Для включения изоляции:
- В диспетчере IIS выберите FTP-сайт.
- Дважды щёлкните FTP-изоляция пользователей (FTP User Isolation).
- Выберите Имя каталога пользователя (отключить глобальные виртуальные каталоги) или Имя каталога пользователя (включить глобальные виртуальные каталоги).
- Укажите путь относительно корня FTP.
- Примените настройки.
Теперь при входе пользователь автоматически направляется в свою папку.
Если нужно создать общего анонимного пользователя, включите анонимную аутентификацию и укажите учётную запись IUSR.
Шаг 6. Проверка работы
- На клиентском компьютере откройте любой FTP-клиент (FileZilla, WinSCP, даже проводник Windows).
- Введите адрес:
ftp://серверилиftps://сервердля защищённого соединения. Укажите порт 21. - Введите логин и пароль созданного пользователя.
- Проверьте, что файлы загружаются и скачиваются.
В проводнике Windows можно подключить сетевой диск по FTP, но учтите, что проводник плохо поддерживает FTPS. Лучше использовать специализированные клиенты.
Шаг 7. Настройка автоматического запуска и мониторинга
Службы FTP и IIS запускаются автоматически при старте Windows. Проверьте это в оснастке services.msc (службы FTP Publishing Service и World Wide Web Publishing Service).
Для мониторинга можно просматривать логи IIS в папке %SystemDrive%\inetpub\logs\LogFiles\FTPSVC. Там записываются все подключения и ошибки.
Возможные проблемы и их решение
| Проблема | Причина | Решение |
|---|---|---|
| Не удаётся подключиться снаружи | Брандмауэр блокирует порты или NAT не настроен | Проверьте правила брандмауэра, проброс портов на роутере, диапазон пассивных портов. |
| Ошибка 530 «Не удалось войти» | Неправильный логин/пароль или недостаточно прав | Проверьте учётные данные, убедитесь, что пользователь имеет право на локальный вход (в политиках безопасности может быть запрет). |
| Клиент жалуется на незащищённое соединение | SSL настроен не полностью | Проверьте, что сертификат привязан, и в клиенте указан протокол FTPES или FTPS. |
| После входа пустой каталог или нет прав на запись | Неправильные разрешения NTFS или изоляция | Проверьте права на папку для данного пользователя (в свойствах папки, безопасность). FTP-сервер использует права файловой системы. |
| Пассивный режим не работает | Не настроен диапазон портов или брандмауэр блокирует | Укажите диапазон в IIS и откройте его в брандмауэре. Проверьте, что в клиенте включён пассивный режим. |
FTP-сервер на базе IIS это быстрое и надёжное решение для организации файлового обмена в корпоративной сети или через интернет. Главное не забыть про SSL шифрование и правильную настройку брандмауэра. В сочетании с изоляцией пользователей вы получаете безопасное хранилище, где каждый видит только свои файлы. При необходимости всегда можно расширить функционал с помощью дополнительных модулей IIS.







