Рис.1.Модель работы протокола FTP.
Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.
Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.
Канал данных устанавливается для того же хоста, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.
Алгоритм работы протокола FTP состоит в следующем:
Недостатки FTP-серверов:
FTP-серверы представляют собой потенциальную дыру в системе безопасности сети. Поэтому если не планируется организация архивов, библиотек, т.е. хранилищ данных, доступных для широкого доступа, лучше не запускать FTP-сервер вообще. Однако данный сервис широко распространен, поэтому его безопасности необходимо уделить самое пристальное внимание. Следует сразу заметить, что все FTP-серверы уязвимы в той или иной степени. Но различия в реализации и конфигурации приводят в одних случаях к отказу от обслуживания, а в других - к полному контролю над хостом. Причем из-за особенностей протокола FTP могут быть поражены как серверы, так и клиенты.
FTP серверы достаточно неустойчивы к DoS атакам.
Одной из проблем FTP-серверов является отсутствие проверки подлинности источника пакетов. Суть в следующем: при установке соединения сервер прослушивает один из TCP портов, сообщает его номер клиенту, после чего клиент открывает указанный порт и начинает передачу данных. Это так называемый пассивный режим. При активном режиме TCP порт назначает клиент, а сервер открывает соединение с порта 20 на порт, назначенный клиентом. Поскольку в процессе сеанса подлинность абонента не проверяется, то возможна атака следующего вида: на открытый порт периодически посылаются запросы на TCP соединение. Как только соединение установлено, происходит подмена клиента. Уязвимость к данной атаке демонстрируют все ftpd - серверы.
Недостатки FTP-клиентов:
Основные недостатки FTP с точки зрения клиента - возможность перехвата данных, недостаточная стандартизованность и плохая совместимость с брандмауэрами. Это само по себе уже достаточный повод избегать использования FTP везде, где можно.
Технология FTP была разработана в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP-протокол.
FTP-архив можно использовать и в качестве архива коммерческого программного обеспечения, которое используется в компании, только в этом случае такой архив не должен разрешать анонимного доступа к хранящимся в нем ресурсам.
Часто возможность авторизированного FTP-доступа используют и для обмена сообщениями, т.е. в качестве средства коммуникации. Это происходит обычно в том случае, когда система электронной почты по тем или иным причинам не работает.
В настоящее время всю систему взаимодействия компонентов FTP-обмена можно представить в виде схемы представленной на рисунке 2.
На этой схеме показано два важных технологических момента: во-первых, доступ к архиву можно осуществлять не только из специализированной программы-клиента, но и из универсального броузера, например Netscape Communicator или Microsoft Internet Explorer, а во-вторых, для поиска информации в FTP-архивах можно воспользоваться программой Archie.
Рис.2. Схема взаимодействия компонентов FTP-обмена
При этом следует четко понимать, что Archie и FTP - это совершенно разные технологии. В большинстве случаев доступ к Archie-серверу пользователи осуществляют из Archie-клиента, который находится на той же машине, что и сервер, т.е. сначала пользователь по Telnet заходит как пользователь Archie, а потом использует программу-клиент (обычно она запускается в качестве оболочки) для доступа к Archie серверу.
С момента организации анонимного FTP доступа на многих машинах в сети Internet созданы такого типа каталоги (анонимного FTP сервера), которые накопили огромные коллекции (терабайты информации) архивов программных средств, всевозможной документации, художественной литературы, компьютерных фильмов, музыки и дp. Как правило, эта служба на большинстве FTP серверах работает бесплатно, хотя существуют сервера (например, в сети RELCOM), которые предоставляют информацию только своим пользователем.
На FTP серверах находятся гигантские архивы файлов, в которых можно найти базовое программное обеспечение, утилиты и новые версии драйверов, программы исправления замеченных в коммерческих программах ошибок (patches), документацию, адреса, сборники и многое другое. Практически все, что может быть предоставлено мировому сообществу в виде файлов, доступно с серверов anonymous FTP. Это и программы - свободно распространяемые и демонстрационные версии, это и мультимедиа, это, наконец просто тексты - законы, книги, статьи, отчеты.
Доступ к FTP серверу, в большинстве операционных систем, как правило, организован через вызов специальной утилиты ftp. Хотя существуют различные программные оболочки, как под UNIX (например, ncftp2), так и под MS Windows (например, Norton Navigator), реализующие протокол FTP и облегчающие работу с этой службой Интернет.
Таким образом, если вы имеете IP-соединение и выход в глобальный Интернет, то вызвав утилиту ftp, набрав соответствующий адрес (или имя FTP-сервера), назвавшись "anonymous" и послав в качестве пароля свой E-mail адрес вы получите доступ к выбранному вами файловому архиву.
SFTP - FTP через SSH
SFTP (Secure File Transfer) - ftp-подобный клиент, который может быть использован для передачи файлов по сети.
Он не использует FTP демонов (ftpd или wu-ftpd) для соединения, что позволяет существенно повысить уровень защиты. Анализируя журналы нашей системы за последний месяц, мы обнаружили, что 80% атак было направлено на wu-ftpd. Использование sftp прозволяет отключить потенциально опасный wu-ftpd.
Sftp не требует никакого специально выделенного сервера, так как он соединяется с ssh сервером.
Sftp использует ssh2 при соединении, это означает, что передаваемые файлы защищены настолько, насколько это возможно.
Есть два основных преимущества при использовании sftp вместо ftp:
Пароли никогда не передаются отрытым текстом, что предотвращает атаки с использованием сниферов (sniffer).
Данные шифруются во время передачи, затрудняя прослушивание и подтасовку.
Использование sftp2: Предположим, что нужно соединиться с помощью sftp с хостом host1, имея на ней аккаунт myname. Используется команда:
sftp myname@host1
некоторые опции могут быть заданы из командной строки.
Когда sftp2 будет готов к выполнению команд, высветится приглашение sftp>.
Так как sftp использует крипто, это имеет свои минусы: уменьшение скорости соединения (примерно в 2-3 раза по моему опыту), но это не так важно по сравнению с проблемами защиты сети.