Этот знакомый незнакомец порт 21 - ftp

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

Однако отдельные представители сего племени продолжали свой титанический труд и двигали тогда еще только зарождающуюся науку вперед.

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

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

Меж тем благие намерения романтиков дать неограниченный доступ к информации все же иногда наталкиваются на вполне здоровые замечания скептиков. Так появились ftp-серверы. Ну не может же быть все на свете так хорошо, подумалось мне.

С каким-никаким, но все ж Итернетом я отправился на исследования близлежащих серверов. Убедившись, что скорость с ними вполне приличная, стало даже обидно, что за бугром людям абсолютно не важно, откуда качать, было бы что.

Взял я нормальный Linux'овый ftp-клиент и обратил внимание на вполне стандартную возможность подключаться одновременно сразу к двум серверам (open и proxy open). Весьма любопытная фишка. Сразу же возник вопрос: что будет, если я подключусь одновременно к dual-homed ftp-серверу - в данном случае я веду речь про сервер, имеющий 2 независимых канала в Интернете (один на родной Unibel, а один - во внешний мир - тот же БелПак) - и к какому-нибудь еще серверу за бугром? Как будет идти перекачка информации с одного сервера на другой? В смысле через Unibel'овский канал ко мне, а потом уже от меня на сервер или все же через канал самого сервера?

Задача была поставлена, и вот я с ftp-клиентом, Linux'ом с кучей примочек и каналом на Unibel начинаю искать такой сервер с двумя каналами и открытым по записи и к тому же по чтению upload'ом. Не скажу, что нашел быстро, но нашел. К слову, весьма могут помочь незабвенные perl и expect (для краткого знакомства см. "Компьютерные Вести" №12(294)) - пишете скрипт и идете спать - все будет сделано в лучшем виде (при некотором знании и умении, разумеется;).

Подключаюсь к серверам... Недолгое ожидание...connected... Logged In. Итак, приступаю к перекачке файла. Сработало!!! Все действительно оказалось, как я и предполагал. Т.е. я получил вполне легальный, бесплатный и, главное, быстрый доступ к ftp. Мило, не правда ли?

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

Но это было о приятном.

Перейдем к более приближенным к реальности вещам - заглянем в списки рассылки, связанные с безопасностью (к примеру, 3APA3A@SECURITY. NNOV.RU - http://www.security. nnov.ru).

Нахожу там: переполнение буфера в FTP-сервере Argosoft при слишком длинном имени пользователя и пароле. Пока реализована только DoS-атака.

Смотрю в BUGTRAQ (LISTSERV@ SECURITYFOCUS.COM - http://www. securityfocus.com): Проблема переполнения буфера в Tiny FTPd...совершенно аналогично в War-FTPd...

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

За более подробной информацией по теме "Переполнение буфера и вопросы безопасности при этом" рекомендую обратиться по адресу: http://www.security. nnov.ru/articles/ bo.html

Однако существуют и извечные проблемы: подключаюсь к ftp-серверу и обнаруживаю открытый по записи /bin - какая прелесть;)

Делай, что хочешь...вернее, что сможешь;)))

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

И опять же поиск таких дыр элементарно автоматизируется с помощью скриптов (см. Expect, Perl и пр.) - простор для деятельности и минимум рутинной работы.;-) Просто делаем ls и ищем заветное "wrxwrxwrx /bin"(ну или просто разрешение по записи для всех - не ставил маску, т.к. для разных скриптовых языков тут синтаксис различается).

Продолжим: многие из дистрибутивов Linux'а стали как-то слишком просты в настройке... Чем это чревато? Во-первых, при установке ftp-сервера может быть взят стандартный файл паролей /etc/passwd либо при создании нового пользователя ему автоматически будет дан доступ к ftp, а во многих организациях для простоты и удобства в использовании создаются гостевые логины...либо с идентичными паролями, либо вообще без оных;)

А еще круче ситуация, когда для начальства создаются логины совсем без паролей, а потом по их же требованию (начальников) открывается read/write во все каталоги ftp-сервера...или всего сервера.

Вот такие вот дела.

Защищайтесь, господа.

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

Александр Иванюковичivanyukovich@yahoo.com



Сетевые решения. Статья была опубликована в номере 06 за 2000 год в рубрике PRIcall