Ftp сервер с портом для windows

FTP порт – как “пробросить” и открыть доступ

Время на чтение: 8 минут

Настройка FTP – несложный процесс, который имеет свои специфические особенности. Если вы сразу постараетесь во всем разобраться, то работа с сервером FTP со временем станет для вас одним наслаждением. Через такие сервера вы сможете скачивать музыку, фильмы, картинки и прочие файлы, а также содержать сайт с хостом, работающим через протокол передачи данных. Но для этого нужно хорошо понять, что к чему, а в особенности необходимо разобраться в том, что из себя представляет FTP порт, для чего он нужен и как его настроить. Именно об этом и пойдет речь в статье. Вы узнаете, какой порт стандартный, как изменить настройки по умолчанию для портов и разблокировать его в брандмауэре и роутере.

Что из себя представляет порт и зачем он нужен

Если разобраться, то все предельно просто. У операционной системы компьютера есть определенное ограниченное число портов. Они нужны для того, чтобы программы могли к ним подключаться через сеть. Это сделано для того, чтобы приложения не конфликтовали между собой во время попытки подсоединиться к сети. Порт – это лишь цифра транспортного протокола. Его можно сравнить с трассой. Если все программы запускать по одной и той же “трассе”, то на ней быстро образуется пробка. Потому для каждого приложения должен быть выделен свой уникальный порт – то есть еще не занятое другими программами число.

Разработчики операционных систем уже давно используют такой метод распределения программ по пронумерованным протоколам и он хорошо себя зарекомендовал. Ведь существует более шести тысяч портов, чего с головой хватит для любого компьютера!

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

Такой протокол удобен для тех людей, которым неважен web-интерфейс хранилища, а которые ценят скорость загрузки и количество файлов, которые можно хранить на сервере. Нет лучшего способа обмена объемными данными, чем через протокол FTP. И работает этот протокол через канал TCP. А для того, чтобы подключиться к этому каналу, необходим определенный порт. То есть чтобы открыть сервер, клиент должен зайти на его порт, и уже через него проникнуть на хост. В этом и кроется вся суть портов для FTP.

Что такое активный и пассивный режим, и как они связаны с портами

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

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

Читайте также:  Windows to usb rsload

Но дело в том, что в протоколе FTP есть два типа соединения:

  1. Управляющее.
  2. Соединение для передачи данных.

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

Как настроить порты по умолчанию, чтобы FTP-сервер заработал

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

По умолчанию в FTP настроены 20 и 21 порты. Наибольшее значение имеет 21 порт, который необходим для того, чтобы вы могли открыть сервер и передавать ему команды – то есть он нужен для управляющего соединения. А вот 20 порт нужен в основном для активного режима. В любом случае вам необходимо освоить навык проброса портов, чтобы обойти стандартные блокировки системы и роутера.

Проблема в том, что далеко не все пользователи Windows решаются на затею создать у себя на компьютере FTP-сервер. Потому операционная система блокирует доступ инородных тел (удаленных компьютеров) на ПК через основные каналы транспортных протоколов. И, как правило, 21 и 20 порты также входят в список заблокированных для удаленных клиентов. А блокируют их со стороны компьютера – брандмауэр, и устройство-посредник для доступа к Интернету – роутер. Вам нужно научиться обходить эту двойную защиту, чтобы вы могли открывать не только 21 порт, но и другие, когда потребуется.

Настройка проброса портов 21 и 20 начинается с изменения конфигураций брандмауэра. Вам необходимо открыть “Панель управления” через “Пуск”. Далее отыщите вкладку “Система и безопасность” и внутри нее найдите раздел “Брандмауэр Windows”. Далее вам необходимо добраться к “Дополнительным параметрам брандмауэра” в левом боковом меню настроек. Брандмауэр работает посредством правил, потому вам нужно лишь создать новые стандарты для этой службы, чтобы она не мешала работе FTP-сервера. Для этого нажмите “Правила для входящих подключений” и кнопку “Создать правило”. Ничего прописывать не придется – это не написание программы, так как в Windows все работает через интуитивно понятный интерфейс. Вам нужно будет указать тип правила “Для порта”. Потом выбрать “Протокол TCP” и указать в форме “Определенные локальные порты” число 21. Далее разрешаете подключение через порт 21, определяете уровень доступа для клиентов, прописываете название правила и сохраняете введенные настройки.

Следующим шагом вам необходимо настроить правила для исходящих соединений. Ведь не только клиент будет загружать на сервере различные данные и отдавать команды, но и сервер неоднократно поделиться своими файлами и будет высылать данные удаленному компьютеру. Потому исходящие соединения вам также нужно одобрить. В целом, настройка правил для таких соединений ничем не отличается от выше описанной. Вам также нужно будет прописать порт 21 и везде активировать разрешение, которое по умолчанию заблокировано. Если вы используете активный режим, то можете в строке, куда нужно прописывать порт, указывать через запятую сразу две цифры: 21 и 20. Если понадобится на будущее, то можете в правиле прописать целый диапазон портов, для которых соединение будет разрешено – для этого пропишите цифры через дефис без пробелов.

Читайте также:  Просмотр изображений linux консоль

Иногда настройки одного брандмауэра недостаточно. К стандартным службам подобного плана относится еще и фаерволл. Его настраивать еще проще, чем брандмауэр. Вам не придется добавлять новое правило, а нужно будет лишь отметить галочку возле FTP-сервер для входящих и исходящих соединение. Firewall сам определит порты, через которые работает ваш сервер, и даст добро на их открытие.

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

Зачастую блокировка порта связана с несколькими опциями, которые установлены в роутере. К примеру, это может быть не проставленная галочка возле опции UPnP. Данная опция необходима для того, чтобы программы автоматически пробрасывали порты через роутер и вас не тревожили. Как правило, если в роутере есть такая функция, то она активирована, но бывает всякое, и вполне может быть, что в вашем маршрутизаторе она отключена. Тогда вам осталось найти такой пункт настроек и поставить возле него одобрительную галочку для включения.

С другой стороны, порой порты нужно указывать в специальных пунктах настроек роутеров. Для этого вам нужно подключиться к роутеру через локальную сеть. Чтобы сделать это, посмотрите на нижней стороне маршрутизатора его IP-адрес, а затем введите его в адресную строку любого браузера. Перед вами откроется меню роутера, в котором нужно найти настройки подключения по локальной сети. В таких настройках, обычно, есть конфигурации семейств IP, которые могут подключаться к роутеру, а также порты, которые открыты для работы. Вам нужно указать диапазон портов, чтобы роутер их не блокировал. Не забудьте учесть диапазон, чтобы числа 20 и 21 вошли в него.

Обязательно ли использовать 21 порт

Люди, которые постоянно имеют дело с серверами и создают их, наслышаны о цифре 21. Для них она является знаковой, так как многие сервера и протоколы, не только FTP, используют 21 порт по умолчанию. И это плохо, если начать анализировать ситуацию. Ведь протокол передачи данных совсем не защищен от перехвата. В любой момент опытные хакеры могут напасть на ваш сервер и перехватить пароль и логин клиента. Затем они проникнут на сервер и украдут оттуда важные данные, либо спрячут в каталогах вредоносные программы и вирусы.

Чтобы хоть как-то повысить уровень безопасности использования протокола FTP, рекомендуется сменить в настройках стандартный порт, который нужен для подключения. Сделать это несложно, но у каждого сервера данная опция настраивается по-своему. Единственный нюанс заключается в том, что потом при подключении клиенту необходимо будет указывать новый номер порта вместо цифры 21. В этом и суть защиты – хакеры не будут знать порт, по которому нужно перехватывать данные, потому не сумеют их украсть.

FTP over SSL (FTPS) в Windows Server 2012 R2

Одним из основных недостатков протокола FTP для передачи файлов – отсутствие средств защиты и шифрования передаваемых данных. Имя и пароль пользователя при подключении к FTP серверу также передаются в открытом виде. Для передачи данных (особенно по публичным каналам связи) рекомендуется использовать более безопасные протоколы, такие как FTPS или SFTP. Рассмотрим, как настроить FTPS сервер на базе Windows Server 2012 R2.

Протокол FTPS (FTP over SSL/TLS, FTP+SSL) – является расширением стандартного протокола FTP, но соединение между клиентом и сервером защищается (шифруется) с помощью протоколов SSL /TLS. Как правило, для подключения используется тот же самый порт 21.

Читайте также:  Lumia 630 windows 10 не обновляет

Поддержка FTP over SSL появилась в IIS 7.0 (Windows Server 2008). Для работы сервера FTPS, на веб сервере IIS понадобится установить SSL сертификат.

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

Установка роли FTP сервера на Windows Server 2012 проблем не вызывает и уже не раз описана.

Генерация и установка на IIS SSL сертификата

Затем открываем консоль IIS Manager, выбираем сервер и переходим в раздел Server Certificates.

Этот раздел позволяет импортировать сертификат, создать запрос на получение сертификата, обновить сертификат или создать самоподписанный сертификат. В целях демонстрации мы остановимся на самоподписанном сертфикате (его также можно создать с помощью командлета New-SelfSifgnedCertificate). При обращении к сервису будет появляться предупреждение о том, что сертификат выдан недоверенным CA, чтобы отключить это предупреждение для данного сертификата, его можно добавить в доверенные через GPO.

Выбираем Create Self-Signed Certificate.

В мастере создания сертификата указываем его имя и выбираем тип сертификата Web Hosting.

Самоподписанный сертификат должен появиться в списке доступных сертификатов. Срок действия сертификата – 1 год.

Создаём FTP сайт с поддержкой SSL

Далее нужно создать FTP сайт. В консоли IIS щелкаем ПКМ по узлу Sites и создаем новый FTP сайт (Add FTP).

Указываем имя и путь к корневому каталогу FTP сайта (у нас каталог по-умолчанию C:\inetpub\ftproot).

На следующем шаге мастера в разделе SSL сертификатов выбираем созданный нами сертификат.

Осталось выбрать тип аутентификации и права доступа пользователей.

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

FTPS и межсетевые экраны

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

Чтобы не открывать снаружи к FTPS серверу весь диапазон TCP портов 1024-65535, можно принудительно указать FTP серверу диапазон используемых адресов. Диапазон указывается в настройках сайта IIS в разделе FTP Firewall Support.

После изменения диапазона портов нужно перезапустить сервис (iisreset).

Во встроенном файерволе Windows за входящий трафик будут отвечать правила:

  • FTP Server (FTP Traffic-In)
  • FTP Server Passive (FTP Passive Traffic-In)
  • FTP Server Secure (FTP SSL Traffic-In)

Соответственно на внешнем межсетевом экране придется открыть порты 21, 990 и 50000-50100 (выбранный нами диапазон портов).

Тестирование подключения FTP over SSL

Для тестирования подключения по FTPS воспользуемся клиентом Filezilla.

  1. Запустите FileZilla (или любой другой клиент с поддержкой FTPS).
  2. Нажмите File>SiteManager, и создайте новое подключение (NewSite).
  3. Укажите адрес FTPS сервера (Host), тип протокола (RequireexplicitFTPoverTLS), имя пользователя (поле User) и требование требовать ввод пароля для авторизации (Askforpassword)
  4. Нажимаем кнопку Connect и вводим пароль пользователя.
  5. Должно появиться предупреждение о недоверенном сертификате (при использовании самоподписанного сертификата). Подтверждаем соединение.
  6. Соединение должно установиться, а в журнале должны появиться строки:

Status: Initializing TLS.
Status: Verifying certificate.
Status: TLS connection established.

  • Это означает, что безопасное соединение установлено, и вы можете передавать файлы по протоколу FTPS
  • Оцените статью