Книга: Linux глазами хакера

10.1.4. Режим канала данных

10.1.4. Режим канала данных

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

? программа-клиент открывает порт на компьютере, куда сервер должен передать содержимое файла;

? серверу направляется запрос на скачивание файла и сообщается порт и IP-адрес клиентского компьютера, с которым он должен соединиться;

? сервер инициализирует соединение с компьютером клиента и начинает передачу данных.

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

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

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

В пассивном режиме соединение происходит иначе:

? клиент запрашивает скачивание или просит принять файл;

? сервер осуществляет привязку к порту и сообщает клиенту номер канала, куда необходимо подключиться для получения или отправки данных;

? клиент устанавливает соединение с указанным портом, по которому происходит передача данных.

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

Оглавление книги


Генерация: 0.680. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз