• Что такое пассивный режим. Особенности работы протокола FTP. Решение проблемы динамического IP-адреса

    24.04.2018
        Аббревиатура FTP происходит от английского F ile T ransfer P rotocol (протокол передачи файлов) - протокол прикладного уровня для обмена файлами по транспортному протоколу TCP/IP между двумя компьютерами, FTP-клиентом и FTP-сервером. Это один их старейших, и тем не менее, по-прежнему активно используемый протокол.

    Протокол FTP предназначен для решения следующих задач:

  • доступ к файлам и каталогам на удаленных хостах
  • обеспечение независимости клиента от типа файловой системы удаленного компьютера
  • надежная передача данных
  • использование ресурсов удаленной системы.
  • Протокол FTP поддерживает сразу два канала соединения - один для передачи команд и результатов их выполнения, другой - для обмена данными . При стандартных настройках FTP - сервер использует TCP порт 21 для организации канала передачи и приема команд и TCP порт 20 для организации канала приема/передачи данных.

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

    Следующие правила применяются к пакетам, выходящим из локальной сети; тогда как «список 110 доступа» относится к входящим пакетам. Начиная с предыдущего примера, реализация пассивного режима предоставляется только путем замены последней строки на строку ниже, которая освобождает доступ к портам, указанным в предложении диапазона.

    Советы по сборке флагов

    Это средство распространяется на разработку сценариев обработки журналов. Цвикки, «Создание интернет-брандмауэров», ред. 1, «Рейли». Существует несколько версий этого файла, которые зависят от типа использования сервера. В этом случае мы регистрируем загруженные файлы и используемые команды.

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

    FTP- клиент является программой, которая выполняет подключение к FTP- серверу и выполняет необходимые операции для просмотра содержимого каталогов сервера, приема, передачи и удаления файлов или папок. В качестве такой программы может использоваться обычный браузер, компоненты операционной системы или специально разработанные программные продукты, как, например, популярный менеджер закачек Download Master или многофункциональный бесплатный FileZilla FTP Client .

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

    Из-за этого нет необходимости говорить, что это очень простой протокол и не предназначен для удовлетворения требований безопасности, которые необходимы сегодня. По этой причине нам необходимо понять его работу, настроить нашу сетевую среду, улучшить настройку доступности и безопасности процесса.

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

    Порт 21 используется для установления и поддержания связи между клиентом и сервером. Этот сеанс также известен как «Канал управления». Он проверяет, существует ли соединение с сервером. Порт 20 используется для передачи данных сам. Он также известен как «Канал данных». Здесь выполняется контроль потока данных и целостности.

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

    Реалии же сегодняшнего дня таковы, что подобное TCP - соединение от сервера к клиенту в подавляющем большинстве случаев невозможно, или очень непросто реализовать по причине того, что в большинстве случаев, для подключения к Интернет используется технология с трансляцией сетевых адресов NAT (Network Address Translation) , когда клиент не имеет сетевого интерфейса, доступного для создания прямого TCP- соединения из Интернет. Типовая схема стандартного подключения к Интернет выглядит следующим образом:







    Пользовательский интерфейс - приложение, ответственное за связь между пользователем и интерпретатором протокола. Протокол-интерпретатор - через контрольное соединение, разговаривает с протоколом протокола на стороне сервера и вместе контролирует передачу. Он также контролирует процесс передачи данных клиента.

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

    Подключение к Интернет выполняется через специальное устройство - Router (маршрутизатор с функцией NAT), имеющее, как минимум два сетевых порта - один подключенный к сети провайдера, имеющий сетевой интерфейс с маршрутизируемым IP-адресом (так называемый, "белый IP"), например 212.248.22.144, и порт с сетевым интерфейсом для подключения устройств локальной сети с приватным, немаршрутизируемым IP-адресом, например 192.168.1.1 ("серый IP"). При создании соединений от сетевых устройств локальной сети к внешним сетевым узлам, IP-пакеты направляются на маршрутизатор, который выполняет трансляцию адресов и портов таким образом, чтобы, адресом отправителя стал его белый IP-адрес . Результаты трансляции сохраняются и при получении ответного пакета, выполняется обратное преобразование адреса. Таким образом, маршрутизатор обеспечивает пересылку TCP/IP - пакетов от любых устройств локальной сети во внешние сети и обратную пересылку полученных ответных пакетов. Но в тех случаях, когда на вход сетевого интерфейса, подключенного к сети провайдера, принимается пакет, который не имеет отношения к ответным TCP-пакетам, возможны следующие варианты реакции программного обеспечения маршрутизатора:

    Это так называемое подключение к данным. Сервер информирует клиента о выбранном порту, и клиент подключается к порту для передачи данных. Таким образом, есть два момента для рассмотрения. Первый - это способ соединения, который может быть пассивным или активным; второй - режим передачи данных, который может быть потоком, блоком или сжатым.

    Зачем беспокоиться о безопасности? Хотя Интернет является «источником всего зла», что-то более близкое и реальное - самое худшее из всех; наших собственных пользователей. Пользователи, недовольные компанией, нечестные и невежественные, в смысле незнакомцев, должны быть их самой большой заботой. Первое, потому что они намереваются нанести урон, и это заставляет их придерживаться иглы в стоге сена, чтобы достичь своих целей, а последний из-за полного отсутствия знаний может сделать неправильный доступ и совершить самые абсурдные ошибки, даже не зная, что они сделали это, И не думайте, что это эксклюзивно для крупных корпораций, если у вас есть пользователь, у вас уже есть проблема.

    Пакет игнорируется, так как нет сетевой службы, которая могла бы его обработать.

    Пакет принимается и обрабатывается сетевой службой самого маршрутизатора, если такая служба существует и ожидает ходящее соединение ("слушает") порт, номер которого указан в принятом пакете.

    Пакет пересылается серверу в локальной сети, ожидающему данный вид входящих соединений в соответствии с правилами перенаправления портов (port mapping) заданными настройками маршрутизатора.

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

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

    Если, например, ваш сервер электронной коммерции становится недоступным из-за эксплойта уязвимости, которая известна и исправлена ​​в пути, и этот путь не был применен вами по неосторожности, самое меньшее, что может случиться с вами, - это просто причина.

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

    PASV - клиент передает команду, чтобы выполнить обмен данными в пассивном режиме. Сервер вернет адрес и порт к которому нужно подключиться чтобы принимать или передавать данные. Пример фрагмента FTP- сессии с установкой пассивного режима:

    PASSV - команда на переключение в пассивный режим, передаваемая FTP - клиентом FTP-серверу




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

    227 Entering Passive Mode (212,248,22,144,195,89) - ответ FTP-сервера, где 227 - код ответа, текстовое сообщение о переходе в пассивный режим и в скобках IP-адрес и номер порта, которые будут использованы для создания канала передачи данных. Адрес и номер порта отображаются в виде десятичных чисел, разделяемых запятой. Первые 4 числа - это IP-адрес (212.248.22.144), оставшиеся 2 числа задают номер порта, который вычисляется по формуле - первое число умножается на 256 и к результату прибавляется второе число, в данном примере номер порта 195*256 +89 = 50017

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

    Настройка и ведение записей разрешений для большого числа пользователей требует больших усилий, это очень сложно и напряженно, не говоря уже о том, что для одного человека это невозможно сделать. Чтобы отключить анонимный доступ, снимите флажок «Разрешить анонимные подключения».

    PORT IP адрес клиента номер порта - клиент передает команду, чтобы организовать сеанс в активном режиме. IP-адрес и номер порта задаются в том же формате, как и в предыдущем примере, например PORT 212.248.22.144,195,89 Для организации передачи данных сервер сам подключается к клиенту на указанный порт.

    Установка и настройка FileZilla FTP Server.

    Скачать инсталляционный пакет FileZilla Server для вашей версии операционной системы можно на

    Имейте в виду, что как учетные данные, указанные в логине, так и фактические данные, не зашифрованы и не зашифрованы. Это означает, что все учетные данные передаются по сети в текстовом виде, то есть без форматирования. Необходимо назначить право на локальный вход в систему.

    Это ограничивает доступ с помощью станций, но не для пользователя.





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

    Установка сервера выполняется стандартным образом, за исключением пункта с выбором настроек панели управления сервером :


    Это основное средство управления сервером, через которое выполняются все необходимые настройки. По умолчанию, панель управления работает на петлевом интерфейсе без доступа по паролю. При необходимости, например, если потребуется удаленное управление FTP-сервером, эти настройки можно будет изменить.

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

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

    После завершения установки откроется окно приглашения для подключения к серверу:

    После ввода IP-адреса, номера порта и пароля (если вы задавали их в процессе установки) открывается панель управления FileZilla Server:


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

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

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

    File - режимы работы панели управления FTP-сервером. Содержит подпункты

    - Connect to Server - подключиться к серверу
    - Disconnect - отключиться от сервера
    - Quit - завершение работы панели управления.

    Server - управление FTP-сервером. Содержит подпункты:

    - Active - запустить/остановить FTP-сервер. При установленной галочке FTP-сервер запущен, при снятой - остановлен.
    - Lock - запретить/разрешить подключения к серверу. При установленной галочке новые подключения к серверу запрещены.

    Когда использовать: этот режим изоляции имеет некоторые положительные и отрицательные стороны. Потенциал заключается в том, что он может аутентифицировать локальных или удаленных пользователей и легко понять администратору. Недостатком является то, что все вложенные папки на сайте должны находиться в одном корневом каталоге, а производительность сервера может ухудшиться, когда этот режим используется для создания сотен домашних каталогов. Этот режим указывается при следующих условиях.

    Когда есть небольшое количество сайтов для управления. Когда масштабируемость низкая. Когда требуется высокая доступность услуги. Примечание.


    Нажмите «Сервер приложений» на «Детали» и в его подкомпонентах выполните поиск и нажмите «Информационные службы Интернета» на «Детали».

    Edit - редактирование настроек. Подпункты:

    - Settings - основные настройки сервера.
    - Users - настройки пользователей FTP-сервера
    - Groups - настройки групп пользователей.

    В качестве примера, выполним настройки сервера для следующих условий:

  • сервер находится за NAT, имеет приватный IP-адрес, но должен быть доступен из Интернет, поддерживает пассивный режим и использует нестандартные TCP порты. Использование нестандартных портов позволяет уменьшить вероятность хакерских атак, и кроме того, некоторые провайдеры используют фильтрацию трафика и блокируют стандартные 20 и 21 порты.
  • пользователи имеют возможность скачивать с сервера, закачивать на сервер, удалять и переименовывать файлы и папки.
  • в случае использования динамического IP-адреса, требуется обеспечить доступность сервера по DNS-имени.
  • сервер будет функционировать на рабочей станции в среде ОС Windows 7 / Windows 8.
  • Другими словами, нужно создать доступный из Интернет FTP-сервер для обмена файлами между пользователями, разумеется бесплатно. Вполне понятно, что кроме создания необходимой конфигурации самого FTP - сервера, потребуется изменение некоторых настроек маршрутизатора, параметров брандмауэра Windows, решение проблемы динамического IP-адреса, чтобы сервер был доступен по имени, независимо от смены IP-адреса.

    Решение проблемы динамического IP-адреса.

        Данная проблема не требует решения в тех случаях, когда при подключении к интернет используется статический IP - адрес, или же динамический, но в соответствии с настройками провайдера, практически всегда один и тот же. В противном случае, можно воспользоваться технологией, получившей название Динамический DNS ( DDNS ) . Данная технология, позволяет почти в реальном масштабе времени обновлять информацию об IP-адресе на DNS-сервере, и получать доступ к маршрутизатору (и службам за ним) по зарегистрированному имени, не обращая внимание на изменение динамического IP.

    Для бесплатной реализации данной технологии потребуется регистрация на каком-нибудь сервисе динамического DNS и установка клиентского программного обеспечения для обновления записи DNS в случае изменения соответствующего IP-адреса. Поддержку динамического DNS, как правило, осуществляют производители сетевого оборудования (D-Link, Zyxel и др.), некоторые хостинговые и специализированные компании, как например, широко известная DynDNS . Однако, после того, как во второй половине 2014 года, все услуги, которые предоставлялись зарегистрированным пользователям бесплатно для некоммерческого использования, стали платными, наиболее популярным решением, пожалуй, стало использование динамического DNS на базе сервиса No-IP.org , который в бесплатном режиме предоставляет услуги по поддержке 2-х узлов с динамическим IP. Для бесплатного использования сервиса потребуется регистрация, и периодическое (приблизительно 1 раз в месяц) посещение сайта для обновления информации об используемых узлах с динамическим IP. Эсли пропустить обновление данных об узле, то услуга приостанавливается, и соответственно, подключиться к узлу по имени станет невозможно. При платном использовании сервиса обновление не требуется.

        Практически все современные маршрутизаторы (модемы) имеют встроенную поддержку динамического DNS-клиента. Его настройка обычно очень простая, - заполняются поля с именем пользователя и паролем, а также с именем узла, полученные при регистрации на сервисе DDNS . Пример для Zyxel P660RU2


        Использование клиента DDNS, встроенного в маршрутизатор/модем предпочтительнее по сравнению с утилитой обновления данных DNS, работающей в среде ОС, поскольку позволяет реализовать дополнительные возможности, как например, управление маршрутизатором через Интернет при выключенном компьютере и удаленное включение электропитания компьютеров за NAT по технологии Wake On Lan .

    В тех же случаях, когда нет возможности использования встроенного клиента DDNS, придется обходиться прикладным программным обеспечением - программой-клиентом поддержки динамического DNS. Такая программа периодически подключается к серверу, поддерживающему зарегистрированное доменное имя, связанное с маршрутизатором, через который выполняется подключение к Интернет, и вызывает процедуру обновления IP, при его изменении. Настройки сервера выполнены таким образом, что сопоставление DNS-имени и IP-адреса интернет-подключения выполняется за очень короткое время, и динамический характер адреса практически никак не сказывается на работоспособности сервисов, связанных с DNS-именем.

    Как известно протокол FTP отличается от других протоколов тем что требует два сокета - один командный (для общения с сервером), а другой - для передачи данных. С этим более менее все понятно. Непонятным, на первый взгляд, представляются такие понятия, как пассивный и активный режимы FTP соединения. Но это только на первый взгляд.

    А теперь более подробно. В отличие от HTTP и большинства других протоколов, используемых в Интернете, протокол FTP использует во время сеанса как минимум два подключения: полудуплексное подключение для управления и полное дуплексное подключение для передачи данных. По умолчанию для управления подключениями на сервере используется TCP порт 21, но подключение данных определяется методом, который клиент использует для подключения к серверу.

    Активный режим FTP-подключений

    Активный режим FTP иногда называют "управляемым клиентом", потому что клиент посылает команду PORT на сервер (через управляющее соединение), тем самым запрашивает сервер для установления соединения данных из TCP -порт 20 на сервере, клиенту, используя TCP порт, который указан по команде PORT .

    Клиент FTP отправляет команду PORT FTP -серверу в следующем формате:

    PORT 192,168,0,3,19,243

    где первых четыре значения соответствуют октетам IP адреса клиента, а пятое и шестое - это старший и младший байты 16-битного значения порта. Для преобразования старшего и младшего байтов в десятичный номер порта, пятое значение умножается на 256 и к результату прибавляется шестое значение. В рассмотренном примере получится: (19 * 256) + 243 = 5107. Таким образом клиент указывает серверу открыть подключение к данным используя 192.168.0.3:5107. По умолчанию FTP клиент выбирает временный порт для подключения к данным. Временный порт выбирается случайным образом из диапазона доступных портов от 1024 до 65535

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

    Команда Отправлено из Отправлено на
    USER MyUserName 192.168.4.29:8190 10.0.0.10:21
    PASS MyPassword 192.168.4.29:8190 10.0.0.10:21
    CWD / 192.168.4.29:8190 10.0.0.10:21
    250 CWD command successful. 10.0.0.10:21 192.168.4.29:8190
    PORT 192,168,4,29,31,255 192.168.4.29:8190 10.0.0.10:21
    200 PORT command successful. 10.0.0.10:21 192.168.4.29:8190
    LIST 192.168.4.29:8190 10.0.0.10:21
    10.0.0.10:20 192.168.4.29:8191
    226 Transfer complete. 10.0.0.10:21 192.168.4.29:8190

    Пассивный режим FTP-подключений

    FTP в пассивном режиме иногда называют «управляемым сервером», поскольку после отправки клиентом команды PASV , сервер отвечает одним из его временных портов, который будет использоваться в качестве серверного порта подключения к данным. Ниже представлена типичная последовательность подключения пассивного режима FTP:

    Команда Отправлено из Отправлено на
    USER MyUserName 192.168.4.29:7971 10.0.0.10:21
    PASS MyPassword 192.168.4.29:7971 10.0.0.10:21
    CWD / 192.168.4.29:7971 10.0.0.10:21
    250 CWD command successful. 10.0.0.10:21 192.168.4.29:7971
    PASV 192.168.4.29:7971 10.0.0.10:21
    227 Entering Passive Mode (192,168,4,29,9,227). 10.0.0.10:21 192.168.4.29:7971
    LIST 192.168.4.29:7971 10.0.0.10:21
    10.0.0.10:2531 192.168.4.29:7972
    226 Transfer complete. 10.0.0.10:21 192.168.4.29:7971
    Похожие статьи