Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_7.docx
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
349.83 Кб
Скачать

Особенности протокола ftp

Или: "Почему необходимо открывать все порты, начиная с 1024, для FTP-сервера?".

С точки зрения использования сети протокол FTP во многом отличается от других приложений.

Он поддерживает один прослушиваемый порт, порт 21, к которому подключаются пользователи. Он только позволяет пользователям зарегистрироваться и установить ДРУГОЕ подключение для выполнения фактической передачи данных. Это второе подключение обычно выполняется через порт с номером, начиная с 1024.

Сервер FTP имеет два режима работы, "активный" (обычный) и "пассивный". Эти слова характеризуют поведение сервера.

В активном режиме клиент (5.6.7.8) подключается к порту 21 на сервере (1.2.3.4) и регистрируется. Когда требуется передача файлов, клиент выделяет динамический порт с номером большим или равным 1024, информирует сервер о том, какой порт открыт, а затем сервер открывает новое подключение к этому порту. Это "активная" роль сервера: он активно устанавливает новые подключения к клиентам.

В пассивном режиме, подключение к порту 21 выполняется аналогично. Когда требуется передача файлов, СЕРВЕР выделяет динамический порт с номером, начиная с 1024, информирует клиента о том, какой порт открыт, а затем КЛИЕНТ открывает новое подключение к этому порту. Это "пассивная" роль сервера: он ждет установки клиентом второго подключения (для передачи данных).

Если брандмауэр не проверяет данные, передаваемые по управляющему подключению FTP, он не узнает, что необходимо динамически открывать новые порты с номерами, начиная с 1024.

Примечание: традиционное поведение FTP-серверов в активном режиме - устанавливать сеанс передачи данных с порта 20 на динамический порт клиента. FTP-серверы постепенно отходят от такого поведения, поскольку в Unix-системах чтобы иметь возможность выделять порты с номерами менее 1024 необходимо работать от имени пользователя "root". Работать же от имени пользователя "root" не очень хорошо с точки зрения защиты, поскольку при выявлении ошибки в программном обеспечении атакующий сможет получить полный контроль над машиной. То же верно и для работы от имени пользователей "Administrator" или "SYSTEM" ("LocalSystem") на NT-машинах, хотя под NT проблемы привилегированных портов нет.

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

Если же НЕТ, вам придется решить четыре проблемы:

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

  • Поддержка FTP-сервера в пассивном режиме Необходимо разрешить подключения извне к портам с номерами от 1024 и выше на вашем сервере. ВНИМАНИЕ!!! На некоторых из этих портов могут работать приложения, которые нежелательно предоставлять для использования извне. Запретите доступ к этим портам, прежде чем разрешать доступ к портам с номерами в диапазоне 1024-65535.

  • Поддержка FTP-клиентов в активном режиме Необходимо разрешить подключения извне к портам с номерами от 1024 и выше на клиентских машинах. ВНИМАНИЕ!!! На некоторых из этих портов могут работать приложения, которые нежелательно предоставлять для использования извне. Запретите доступ к этим портам, прежде чем разрешать доступ к портам с номерами в диапазоне 1024-65535.

  • Поддержка FTP-клиентов в пассивном режиме Необходимо разрешить клиентам открывать новые подключения во внешний мир через порты с номерами от 1024 и выше.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]